diff options
author | Vikke Matikainen <vikke.matikainen@qt.io> | 2020-02-24 11:58:03 +0200 |
---|---|---|
committer | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2020-06-21 10:04:50 +0000 |
commit | b1433a6988d79c162ab5bed116be1ffeedca2ea9 (patch) | |
tree | bbff5813b898d3befb3fcfa9069facd3eee4187b /src/plugins/platforms/android/qandroidplatformintegration.cpp | |
parent | b9b03165a55aad5c25eb24d8306cdfd367c2894e (diff) |
Android: Fix android accessibility not being set active
Android platform event of activating accessibility might be received,
before the platform plugin is initialized, thus disregarding the activation
step.
This change saves the activation event state and defers setting it in
platform integration.
Fixes: QTBUG-77320
Pick-to: 5.15 5.12
Change-Id: I06aab76159d1de0e72c0c535dbe80c2858f8e79b
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Diffstat (limited to 'src/plugins/platforms/android/qandroidplatformintegration.cpp')
-rw-r--r-- | src/plugins/platforms/android/qandroidplatformintegration.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/plugins/platforms/android/qandroidplatformintegration.cpp b/src/plugins/platforms/android/qandroidplatformintegration.cpp index d059096dbc..3d495724c6 100644 --- a/src/plugins/platforms/android/qandroidplatformintegration.cpp +++ b/src/plugins/platforms/android/qandroidplatformintegration.cpp @@ -55,6 +55,7 @@ #include <qpa/qplatformoffscreensurface.h> #include "androidjnimain.h" +#include "androidjniaccessibility.h" #include "qabstracteventdispatcher.h" #include "qandroideventdispatcher.h" #include "qandroidplatformbackingstore.h" @@ -151,6 +152,12 @@ void QAndroidPlatformNativeInterface::customEvent(QEvent *event) QMutexLocker lock(QtAndroid::platformInterfaceMutex()); QAndroidPlatformIntegration *api = static_cast<QAndroidPlatformIntegration *>(QGuiApplicationPrivate::platformIntegration()); QtAndroid::setAndroidPlatformIntegration(api); + +#ifndef QT_NO_ACCESSIBILITY + // Android accessibility activation event might have been already received + api->accessibility()->setActive(QtAndroidAccessibility::isActive()); +#endif // QT_NO_ACCESSIBILITY + api->flushPendingUpdates(); } |