Details
-
Bug
-
Resolution: Done
-
P3: Somewhat important
-
5.6.0
-
None
Description
When statically linking Qt, class QQmlImportsPrivate instantiates all static plugins.
This forces all plugins, i.e. also all user plugins, to be instantiated in Qml thread, what may cause problems (and does in our application).
bool QQmlImportsPrivate::populatePluginPairVector(...) { static QVector<QStaticPlugin> plugins; if (plugins.isEmpty()) { // To avoid traversing all static plugins for all imports, we cut down // the list the first time called to only contain QML plugins: foreach (const QStaticPlugin &plugin, QPluginLoader::staticPlugins()) { if (qobject_cast<QQmlExtensionPlugin *>(plugin.instance())) plugins.append(plugin); } } ...
Attachments
For Gerrit Dashboard: QTBUG-52012 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
153855,10 | Instantiate static Qml plugins declaring QQmlExtensionInterface only | 5.6 | qt/qtdeclarative | Status: MERGED | +2 | 0 |
159167,2 | Re-apply the cast part of commit 392c7b99348e2a96ef11adb5712095fbd13fb780 | dev | qt/qtdeclarative | Status: MERGED | +2 | 0 |