diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2017-03-06 14:59:49 +0100 |
---|---|---|
committer | Laszlo Agocs <laszlo.agocs@qt.io> | 2017-10-20 09:36:22 +0000 |
commit | d964eab8e570b786ae7ddc7312d7888aa10f5290 (patch) | |
tree | 582de114640c0b5cd1832fe1406c17a7ee760270 /src/input/frontend/qinputdeviceintegrationfactory.cpp | |
parent | 87b21f81b89efb451291d94d310402ba944f33e3 (diff) |
Improve plugin loading with -no-feature-library
Drop an unused include and make more of an effort to load (possibly
static) QInputDeviceIntegration and QSceneImportFactory plugins.
pluginPath was unused in qsceneimportfactory.cpp in this case, and
generated compile warnings.
Change-Id: I033c5bace84018a9e6c640b4318f2d34b91f7c19
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Diffstat (limited to 'src/input/frontend/qinputdeviceintegrationfactory.cpp')
-rw-r--r-- | src/input/frontend/qinputdeviceintegrationfactory.cpp | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/input/frontend/qinputdeviceintegrationfactory.cpp b/src/input/frontend/qinputdeviceintegrationfactory.cpp index 957b33542..221965a5f 100644 --- a/src/input/frontend/qinputdeviceintegrationfactory.cpp +++ b/src/input/frontend/qinputdeviceintegrationfactory.cpp @@ -50,16 +50,16 @@ QT_BEGIN_NAMESPACE namespace Qt3DInput { -#ifndef QT_NO_LIBRARY Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, (QInputDevicePlugin_iid, QLatin1String("/3dinputdevices"), Qt::CaseInsensitive)) +#if QT_CONFIG(library) Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, directLoader, (QInputDevicePlugin_iid, QLatin1String(""), Qt::CaseInsensitive)) #endif QStringList QInputDeviceIntegrationFactory::keys(const QString &pluginPath) { -#ifndef QT_NO_LIBRARY QStringList list; if (!pluginPath.isEmpty()) { +#if QT_CONFIG(library) QCoreApplication::addLibraryPath(pluginPath); list = directLoader()->keyMap().values(); if (!list.isEmpty()) { @@ -70,31 +70,29 @@ QStringList QInputDeviceIntegrationFactory::keys(const QString &pluginPath) for (QStringList::iterator it = list.begin(); it != end; ++it) (*it).append(postFix); } +#else + qWarning() << QInputDeviceIntegration::tr("Cannot query QInputDeviceIntegration plugins at %1. " + "Library loading is disabled.").arg(pluginPath); +#endif } list.append(loader()->keyMap().values()); return list; -#else - Q_UNUSED(pluginPath); - return QStringList(); -#endif } QInputDeviceIntegration *QInputDeviceIntegrationFactory::create(const QString &name, const QStringList &args, const QString &pluginPath) { -#ifndef QT_NO_LIBRARY if (!pluginPath.isEmpty()) { +#if QT_CONFIG(library) QCoreApplication::addLibraryPath(pluginPath); if (QInputDeviceIntegration *ret = qLoadPlugin<QInputDeviceIntegration, QInputDevicePlugin>(directLoader(), name, args)) return ret; - } - if (QInputDeviceIntegration *ret = qLoadPlugin<QInputDeviceIntegration, QInputDevicePlugin>(loader(), name, args)) - return ret; #else - Q_UNUSED(name); - Q_UNUSED(args); - Q_UNUSED(pluginPath); + qWarning() << QInputDeviceIntegration::tr("Cannot load QInputDeviceIntegration plugin from " + "%1. Library loading is disabled.") + .arg(pluginPath); #endif - return nullptr; + } + return qLoadPlugin<QInputDeviceIntegration, QInputDevicePlugin>(loader(), name, args); } } // Qt3DInput |