Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.1.0 Beta 1
-
None
-
Windows 8 64 bit, MSVC 2012 Update 2, Qt 5.1.0 beta
-
732dcfe7fdfa7534ab0de4674ae17f191167a57a cf8647d6aa0f65a51dc9366d407b2218f561970d
Description
In 4.x only plugins with the appropriate file endings (in windows: *.dll) were loaded. In Qt 5.1.0-Beta all files regardless the file ending are tryied to load.
Background:
In Windows, it is impossible to update/overwrite/delete) programm files (.exe or .dll) which are in use. Therefore, Auto-updater have to rename the files in use (e.g. <oldfilename>.oldversion), to be able to place the identical named but newer (update) files into the application directory.
after restarting the application, the newer files are loaded and a cleanup method can delete all renamed files, since the are not longer in use after application restart.
In Qt5, every file in the plugin path is tested and loaded as plugin if the code is a vaid Qt plugin. Therefore even after a application restart, <myplugin>.dll.oldversion is loaded and hence locked. This makes no sense.
Qt needs to switch back to Qt 4 behaviour to taking the file name extension of potential plugins into account - or at least there must be an configuration option to prevent Qt loading arbitrary files as Qt Plugin as long as the binary code is a valid Qt plugin.
Attachments
For Gerrit Dashboard: QTBUG-31476 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
59466,2 | Multimedia plugins now have a unique JSON metadata 'Keys' property. | release | qt/qtmultimedia | Status: MERGED | +2 | 0 |
59645,7 | QFactoryLoader: Add namefilter for Windows. | dev | qt/qtbase | Status: MERGED | +2 | 0 |