Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-52012

QQmlImportsPrivate forces all plugins to be created in Qml thread

XMLWordPrintable

      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);
              }
          }
      ...
      

        For Gerrit Dashboard: QTBUG-52012
        # Subject Branch Project Status CR V

            shausman Simon Hausmann
            sebastianloesch Sebastian Lösch
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes