On Thursday, 24 August 2023 05:43:06 PDT Lars Knoll via Development wrote: > I personally think it’s worthwhile discussing this and maybe > modifying/easing our policies here to some degree.
Unfortunately, this decision is partially hardcoded in our plugin loading mechanism: we only check the major and minor versions when trying to determine if a file is "is a plugin". If we conclude a given file is IsNotAPlugin (because it was compiled with a later version of Qt or, with MSVC, if the debug/release mismatch), then the metadata of this file is not added to QFactoryLoader. On the other hand, if it concludes IsAPlugin, then the metadata is loaded and becomes available for the higher layers to make decisions on what functionality to support. For image plugins, this may say we support a given image format; for the QPA plugin, it may say we support this platform. But then we may fail to load the plugin. Granted, there may be other reasons why this may happen, so it's not an exclusive problem of Qt versions. Or worse, we succeed in loading the plugin but then crash at runtime. This can happen if lazy-binding is allowed. Considering that's insecure (prevents the relro functionality), I don't particularly care about this situation. Just DTRT and turn off lazy binding. -- Thiago Macieira - thiago.macieira (AT) intel.com Cloud Software Architect - Intel DCAI Cloud Engineering
smime.p7s
Description: S/MIME cryptographic signature
-- Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development