Go to file
Tor Arne Vestbø e56b2d7a9e iOS: Send touch events asynchronously to avoid deadlocking UIKit event loop
Although CFRunLoop is documented to support nesting, the UIKit event
delivery machinery is not prepared to handle nested event loops. If the
user starts a nested event loop in response to e.g. a button press/release,
it will deadlock the entire UIKit event machinery, stopping processing
of both screen updates (CATransactions) as well as other events.

This became an issue on iPhone hardware device in iOS 15, but can not be
reproduces on iPads or in the simulator.

To be on the safe side, we deliver all touch events asynchronously,
even if that means the application code will always be one step
behind the event delivered by the operating system.

Fixes: QTBUG-98651
Pick-to: 6.4 6.3 6.2 5.15
Change-Id: Id0a9fa60b7bb7aa98606d46257e99eac144a1080
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
2022-07-01 15:42:10 +02:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
bin Minor fixes for qt-configure-module 2022-06-27 17:55:19 +02:00
cmake CMake: Record used package version for each target dependency 2022-07-01 10:50:57 +02:00
coin Adjust documentation build dir for out of source builds 2022-06-27 11:05:23 +00:00
config.tests CMake: update the x86 intrinsic checks 2022-06-28 03:28:42 +00:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Doc: Fix online macros for commercial template 2022-06-21 22:08:34 +00:00
examples CMake: Let qt6_add_plugin accept sources 2022-06-29 18:32:05 +02:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
libexec Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
LICENSES Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
mkspecs CMake: disable the attempt to force SIMD on iOS simulator builds 2022-06-27 20:28:41 -07:00
qmake Doc: Clarify qmake's c++latest CONFIG value 2022-06-29 18:32:05 +02:00
src iOS: Send touch events asynchronously to avoid deadlocking UIKit event loop 2022-07-01 15:42:10 +02:00
tests IM: Don't let all widgets support IM by default 2022-07-01 10:47:17 +02:00
util sanitizer-testrunner: enforce line buffering 2022-06-16 21:04:48 +02:00
.cmake.conf Bump version to 6.5.0 2022-06-06 13:23:59 +03:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore Assume qhelpgenerator in libexec instead of bin 2021-11-08 19:27:32 +01:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
CMakeLists.txt Use REALPATH based check for symbolic links on Windows 2022-01-07 14:31:38 +01:00
conanfile.py Conan: Do not force 'qt_host_path' usage in cross-build context 2022-06-22 18:18:42 +03:00
config_help.txt CMake: update the x86 intrinsic checks 2022-06-28 03:28:42 +00:00
configure Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
configure.bat Use SPDX license identifiers 2022-05-16 16:37:38 +02:00
configure.cmake CMake: update the x86 intrinsic checks 2022-06-28 03:28:42 +00:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
qt_cmdline.cmake C++23/c++2b support 2022-06-08 19:43:34 +02:00
sync.profile Remove deprecated qgl.h from sync.profile 2022-06-11 00:42:13 +02:00