diff options
author | Mike Achtelik <mike.achtelik@gmail.com> | 2022-06-28 09:55:25 +0200 |
---|---|---|
committer | Mike Achtelik <mike.achtelik@gmail.com> | 2022-07-05 18:31:47 +0200 |
commit | ac984bd8768b3d7e6439e0ffd98fd8b53e16b922 (patch) | |
tree | 96eee14f0c443242a6ef6f4fb3228dd35d61398e /src/plugins/platforms/cocoa/qcocoansmenu.mm | |
parent | 100d5bd58296a02d989526a884f987dd9f388369 (diff) |
Android A11Y: Fix deadlock in QtAndroidAccessibility::runInObjectContext()
On android the event loop is normally blocked, when the application
is suspended, e.g. when it enters the background or when the screen is
locked (see android.app.background_running). This leads to a problem
when we try to process events after this happens, e.g. when android
sends us an ACTION_CLEAR_ACCESSIBILITY_FOCUS event after the event loop
is suspended. While handling it we eventually call
QtAndroidAccessibility::runInObjectContext() which tries to do a
blocking call on the object context, however, with the event loop being
suspended we run into a deadlock which leads to an ANR. So we need to
make sure to never make a blocking call while the event loop is
suspended.
Task-number: QTBUG-102594
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: I33f0440a3da84fb4bdae5ab0fc10d514c73f23ad
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Diffstat (limited to 'src/plugins/platforms/cocoa/qcocoansmenu.mm')
0 files changed, 0 insertions, 0 deletions