From 4cbb0f70c452f7e6b03b37be4c61597e22fa08b8 Mon Sep 17 00:00:00 2001 From: Lincoln Ramsay Date: Fri, 18 Nov 2011 11:24:45 +1000 Subject: QFactoryLoader is used by singletons Instead of using Q_GLOBAL_STATIC, just create and delete the QFactoryLoader instances in the singleton objects. Change-Id: I91ba017b530f0c48a74dc5c0a69fbc8fc20ab250 Sanity-Review: Qt Sanity Bot Reviewed-by: Lorn Potter --- src/sensors/gestures/qsensorgesturemanagerprivate.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'src/sensors/gestures/qsensorgesturemanagerprivate.cpp') diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp index 292248b4..c8e70530 100644 --- a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp +++ b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp @@ -50,20 +50,17 @@ QT_BEGIN_NAMESPACE -#ifndef QT_NO_LIBRARY -Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, - (QSensorGestureFactoryInterface_iid, QLatin1String("/sensorgestures"))) -#endif - QSensorGestureManagerPrivate::QSensorGestureManagerPrivate(QObject *parent) : QObject(parent) { + loader = new QFactoryLoader(QSensorGestureFactoryInterface_iid, QLatin1String("/sensorgestures")); loadPlugins(); } QSensorGestureManagerPrivate::~QSensorGestureManagerPrivate() { qDeleteAll(registeredSensorGestures); + delete loader; } @@ -92,10 +89,9 @@ QSensorGestureManagerPrivate::~QSensorGestureManagerPrivate() */ void QSensorGestureManagerPrivate::loadPlugins() { - QFactoryLoader *l = loader(); - foreach (const QString &key, l->keys()) { + foreach (const QString &key, loader->keys()) { - QObject *plugin = l->instance(key); + QObject *plugin = loader->instance(key); if (plugin) { initPlugin(plugin); } -- cgit v1.2.3