summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/sensors/gestures/qsensorgesturemanager.cpp6
-rw-r--r--src/sensors/gestures/qsensorgesturemanagerprivate.cpp1
-rw-r--r--src/sensors/gestures/qsensorgesturemanagerprivate_p.h2
-rw-r--r--tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp4
4 files changed, 10 insertions, 3 deletions
diff --git a/src/sensors/gestures/qsensorgesturemanager.cpp b/src/sensors/gestures/qsensorgesturemanager.cpp
index a0430e15..cdc3f5fd 100644
--- a/src/sensors/gestures/qsensorgesturemanager.cpp
+++ b/src/sensors/gestures/qsensorgesturemanager.cpp
@@ -68,6 +68,8 @@ Q_GLOBAL_STATIC(QSensorGestureManagerPrivate, sensorGestureManagerPrivate)
QSensorGestureManager::QSensorGestureManager(QObject *parent)
: QObject(parent)
{
+ connect(sensorGestureManagerPrivate(),SIGNAL(newSensorGestureAvailable()),
+ this,SIGNAL(newSensorGestureAvailable()));
}
/*!
@@ -88,9 +90,7 @@ QSensorGestureManager::~QSensorGestureManager()
bool QSensorGestureManager::registerSensorGestureRecognizer(QSensorGestureRecognizer *recognizer)
{
bool ok = sensorGestureManagerPrivate()->registerSensorGestureRecognizer(recognizer);
- if (ok)
- Q_EMIT newSensorGestureAvailable();
- else
+ if (!ok)
delete recognizer;
return ok;
diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
index 1ac21da2..1a8ffe38 100644
--- a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
+++ b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
@@ -145,6 +145,7 @@ bool QSensorGestureManagerPrivate::registerSensorGestureRecognizer(QSensorGestur
Q_ASSERT (!registeredSensorGestures.contains(recognizer->id()));
recognizer->setParent(0);
registeredSensorGestures.insert(recognizer->id(),recognizer);
+ Q_EMIT newSensorGestureAvailable();
return true;
}
diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate_p.h b/src/sensors/gestures/qsensorgesturemanagerprivate_p.h
index b97894e7..a166fac7 100644
--- a/src/sensors/gestures/qsensorgesturemanagerprivate_p.h
+++ b/src/sensors/gestures/qsensorgesturemanagerprivate_p.h
@@ -72,6 +72,8 @@ public:
QStringList gestureIds();
QStringList knownIds;
void initPlugin(QObject *o);
+Q_SIGNALS:
+ void newSensorGestureAvailable();
};
#endif // QSENSORGESTUREMANAGERPRIVATE_P_H
diff --git a/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp b/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp
index 8f88425b..25033751 100644
--- a/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp
+++ b/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp
@@ -272,11 +272,14 @@ void Tst_qsensorgestureTest::tst_manager_registerSensorGestureRecognizer()
void Tst_qsensorgestureTest::tst_manager__newSensorAvailable()
{
QSensorGestureManager manager;
+ QSensorGestureManager manager2;
QSignalSpy spy_manager_available(&manager, SIGNAL(newSensorGestureAvailable()));
+ QSignalSpy spy_manager2_available(&manager2, SIGNAL(newSensorGestureAvailable()));
manager.gestureIds();
QCOMPARE(spy_manager_available.count(),0);
+ QCOMPARE(spy_manager2_available.count(),0);
QTest3Recognizer *recognizer = new QTest3Recognizer;
recognizer->changeId("QtSensors.test4");
@@ -291,6 +294,7 @@ void Tst_qsensorgestureTest::tst_manager__newSensorAvailable()
ok = manager.registerSensorGestureRecognizer(recognizer);
QCOMPARE(ok, false);
QCOMPARE(spy_manager_available.count(),1);
+ QCOMPARE(spy_manager2_available.count(),1);
}