diff options
author | Liang Qi <liang.qi@qt.io> | 2017-04-18 21:59:59 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2017-04-18 21:59:59 +0200 |
commit | 36846eca9ae810d213b2fe2ae5d9ff11137d4597 (patch) | |
tree | 05bdc82234f4a539d07893c772da80b9a81656c2 | |
parent | c7f84dfc27f3afc9a8f4a8bacb8d036d090bb49c (diff) | |
parent | 752d4319660daf69c725103dae5325cf898adbb5 (diff) |
Merge remote-tracking branch 'origin/5.8' into 5.9v5.9.0-beta3
Change-Id: I29de95f0b639059e3aa6c678f0a8ce2a38026587
-rw-r--r-- | src/gamepad/qgamepadbackendfactory.cpp | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/src/gamepad/qgamepadbackendfactory.cpp b/src/gamepad/qgamepadbackendfactory.cpp index 25a1064..988de68 100644 --- a/src/gamepad/qgamepadbackendfactory.cpp +++ b/src/gamepad/qgamepadbackendfactory.cpp @@ -38,22 +38,23 @@ #include "qgamepadbackendplugin_p.h" #include "qgamepadbackend_p.h" +#include <QtCore/qdebug.h> #include <QtCore/private/qfactoryloader_p.h> #include <QtCore/QCoreApplication> #include <QtCore/QDir> QT_BEGIN_NAMESPACE -#ifndef QT_NO_LIBRARY Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, (QtGamepadBackendFactoryInterface_iid, QLatin1String("/gamepads"), Qt::CaseInsensitive)) +#if QT_CONFIG(library) Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, directLoader, (QtGamepadBackendFactoryInterface_iid, QLatin1String(""), Qt::CaseInsensitive)) #endif QStringList QGamepadBackendFactory::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()) { @@ -64,25 +65,29 @@ QStringList QGamepadBackendFactory::keys(const QString &pluginPath) for (QStringList::iterator it = list.begin(); it != end; ++it) (*it).append(postFix); } +#else + qWarning("Cannot query QGamepadBackend plugins at %s: Library loading is disabled.", + pluginPath.toLocal8Bit().constData()); +#endif } list.append(loader()->keyMap().values()); return list; -#else - return QStringList(); -#endif } QGamepadBackend *QGamepadBackendFactory::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 (QGamepadBackend *ret = qLoadPlugin<QGamepadBackend, QGamepadBackendPlugin>(directLoader(), name, args)) return ret; +#else + qWarning("Cannot load QGamepadBackend plugin from %s. Library loading is disabled.", + pluginPath.toLocal8Bit().constData()); +#endif } if (QGamepadBackend *ret = qLoadPlugin<QGamepadBackend, QGamepadBackendPlugin>(loader(), name, args)) return ret; -#endif return 0; } |