summaryrefslogtreecommitdiffstats
path: root/src/sensors/qsensormanager.cpp
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@nokia.com>2011-11-11 10:46:31 +1000
committerQt by Nokia <qt-info@nokia.com>2011-11-14 06:54:31 +0100
commitd95c5fee483816558246586c4621d96c84b224c0 (patch)
tree6d458feddc453baf26ef85130f8447e8d0d2a6ab /src/sensors/qsensormanager.cpp
parent1f20d5ef3e27981e2af2c6533656694ea3335678 (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.cpp9
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()