From 77c94d077b41439217c23c01a1a3015fcd6497d6 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Tue, 6 Feb 2018 12:40:04 +0200 Subject: Delay QtAndroidPrivate::setOnBindListener call until the QAndroidService constructor exits 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 --- src/androidextras/android/qandroidservice.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') 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 #include +#include #include 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() -- cgit v1.2.3