diff options
author | Lorn Potter <lorn.potter@nokia.com> | 2011-11-11 10:46:31 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-14 06:54:31 +0100 |
commit | d95c5fee483816558246586c4621d96c84b224c0 (patch) | |
tree | 6d458feddc453baf26ef85130f8447e8d0d2a6ab /src/sensors/qsensormanager.cpp | |
parent | 1f20d5ef3e27981e2af2c6533656694ea3335678 (diff) |
remove qmobilitypluginsearch and use the QFactoryLoader instead.
Change-Id: Ifdd2031d309a5ac4cbeedc5d7cdb6ba9cbb845c3
Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com>
Sanity-Review: Lincoln Ramsay <lincoln.ramsay@nokia.com>
Diffstat (limited to 'src/sensors/qsensormanager.cpp')
-rw-r--r-- | src/sensors/qsensormanager.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/sensors/qsensormanager.cpp b/src/sensors/qsensormanager.cpp index 1978e8c5..a7714508 100644 --- a/src/sensors/qsensormanager.cpp +++ b/src/sensors/qsensormanager.cpp @@ -84,6 +84,7 @@ public: bool sensorsChanged; QList<QSensorChangesInterface*> changeListeners; + QSet <QObject *> seenPlugins; Q_SIGNALS: void availableSensorsChanged(); @@ -154,15 +155,21 @@ Q_SENSORS_EXPORT void sensors_unit_test_hook(int index) static void initPlugin(QObject *o) { if (!o) return; + QSensorManagerPrivate *d = sensorManagerPrivate(); + if (d->seenPlugins.contains(o)) + return; QSensorChangesInterface *changes = qobject_cast<QSensorChangesInterface*>(o); if (changes) d->changeListeners << changes; QSensorPluginInterface *plugin = qobject_cast<QSensorPluginInterface*>(o); - if (plugin) + + if (plugin) { + d->seenPlugins.insert(o); plugin->registerSensors(); + } } void QSensorManagerPrivate::loadPlugins() |