summaryrefslogtreecommitdiffstats
path: root/src/input/frontend/qinputdeviceintegrationfactory.cpp
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2017-03-06 14:59:49 +0100
committerLaszlo Agocs <laszlo.agocs@qt.io>2017-10-20 09:36:22 +0000
commitd964eab8e570b786ae7ddc7312d7888aa10f5290 (patch)
tree582de114640c0b5cd1832fe1406c17a7ee760270 /src/input/frontend/qinputdeviceintegrationfactory.cpp
parent87b21f81b89efb451291d94d310402ba944f33e3 (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.cpp26
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