diff options
author | Paul Olav Tvete <paul.tvete@digia.com> | 2014-08-27 10:56:53 +0200 |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@digia.com> | 2014-08-27 12:22:07 +0200 |
commit | 4c6ebe5f9e4ddc0d799a0f2bf4aef9f7e48e0dfb (patch) | |
tree | d868c95f10e2fd8049d2bf3a2ed9071604bd187d | |
parent | f2e4ff4fd484d49e7338c9a2c5882782fe8f081b (diff) |
Android quickfix: Avoid crash at shutdown
Qt Quick does a processEvents() at shutdown. On some versions of
Android, this can trigger a getTextAfterCursor() after
QGuiApplication shutdown. This patch still has a theoretical
race condition, but should reduce the crash probablity to
practically zero.
[ChangeLog][Android] Fixed bug on some devices where the application
would crash at shutdown if the virtual keyboard was open.
Task-number: QTBUG-40957
Change-Id: Iefcc10a77e3d506c32ea151c27a3e87a7be40e68
Reviewed-by: BogDan Vatra <bogdan@kde.org>
-rw-r--r-- | src/plugins/platforms/android/qandroidinputcontext.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/platforms/android/qandroidinputcontext.cpp b/src/plugins/platforms/android/qandroidinputcontext.cpp index 5d47d2fda4..acd7a42ba2 100644 --- a/src/plugins/platforms/android/qandroidinputcontext.cpp +++ b/src/plugins/platforms/android/qandroidinputcontext.cpp @@ -995,8 +995,10 @@ Q_INVOKABLE QVariant QAndroidInputContext::queryFocusObjectUnsafe(Qt::InputMetho QVariant QAndroidInputContext::queryFocusObjectThreadSafe(Qt::InputMethodQuery query, QVariant argument) { - bool inMainThread = qGuiApp->thread() == QThread::currentThread(); QVariant retval; + if (!qGuiApp) + return retval; + bool inMainThread = qGuiApp->thread() == QThread::currentThread(); QMetaObject::invokeMethod(this, "queryFocusObjectUnsafe", inMainThread ? Qt::DirectConnection : Qt::BlockingQueuedConnection, |