diff options
author | BogDan Vatra <bogdan@kdab.com> | 2018-02-06 12:40:04 +0200 |
---|---|---|
committer | Jani Heikkinen <jani.heikkinen@qt.io> | 2018-02-06 14:15:32 +0000 |
commit | 77c94d077b41439217c23c01a1a3015fcd6497d6 (patch) | |
tree | dace406947b1be19ff6cff035b39ca56b5659e9b | |
parent | 7fb85fcbfdc796109abd80d24ca54a695822294c (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.cpp | 3 |
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() |