aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBogDan Vatra <bogdan@kdab.com>2018-02-06 12:40:04 +0200
committerJani Heikkinen <jani.heikkinen@qt.io>2018-02-06 14:15:32 +0000
commit77c94d077b41439217c23c01a1a3015fcd6497d6 (patch)
treedace406947b1be19ff6cff035b39ca56b5659e9b
parent7fb85fcbfdc796109abd80d24ca54a695822294c (diff)
Delay QtAndroidPrivate::setOnBindListener call until the QAndroidService constructor exitsv5.10.1
If we call QtAndroidPrivate::setOnBindListener before QAndroidService constructor exits the virtual table is not set and m_service->onBind will call the wrong method. Task-number: QTBUG-66222 Change-Id: I3d057e33dd36a317c5605d7eb5d6892827ad7b13 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
-rw-r--r--src/androidextras/android/qandroidservice.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/androidextras/android/qandroidservice.cpp b/src/androidextras/android/qandroidservice.cpp
index 3a7626d..272c829 100644
--- a/src/androidextras/android/qandroidservice.cpp
+++ b/src/androidextras/android/qandroidservice.cpp
@@ -46,6 +46,7 @@
#include <private/qjnihelpers_p.h>
#include <QMutex>
+#include <QTimer>
#include <QSet>
QT_BEGIN_NAMESPACE
@@ -56,7 +57,7 @@ public:
QAndroidServicePrivate(QAndroidService *service)
: m_service(service)
{
- QtAndroidPrivate::setOnBindListener(this);
+ QTimer::singleShot(0,this, [this]{ QtAndroidPrivate::setOnBindListener(this);});
}
~QAndroidServicePrivate()