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

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            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