Go to file
Tor Arne Vestbø 108d2e4486 macOS: Use enumerateWindowsWithOptions to implement QCocoaScreen::topLevelAt()
The [NSWidow windowNumberAtPoint:belowWindowWithWindowNumber] API has issues
with sometimes being out of sync with the window server, resulting in failing
to hit test windows that we know are there.

This has manifested in flakeyness in our tests, for example in tst_QWindow's
testsInputEvents: http://testresults.qt.io/grafana/goto/YNGj7TgIg

A workaround is to call [NSWindow windowNumbersWithOptions:0] to force a sync,
but we might as well use the more modern block based API to iterate our own
windows in Z-order. This API seems to do the required sync on our behalf,
or at least doesn't operate on stale data.

The logic has been otherwise kept as is, including treating non-top-level
windows as candidates for hit testing, which seems strange for a function
named topLevelAt(). This is to be investigated further.

Task-number: QTBUG-108402
Task-number: QTBUG-115945
Pick-to: 6.6 6.5
Change-Id: I5599881c381a0a673d262e4b9585e2c6798c9810
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
2023-08-22 11:27:21 +02:00
.github/workflows Repair github action workflow 2021-11-10 18:57:33 +01:00
bin Add simple project generation based on existing source files 2023-02-08 12:59:19 +01:00
cmake CMake: use correct link flag for MinGW(GCC) static-runtime build 2023-08-22 11:41:40 +08:00
coin Use install from libexec for QNX on Windows 2023-08-17 14:44:53 +03:00
config.tests Remove the mandatory x86-64 features from its feature list 2023-05-31 14:55:37 -07:00
dist Add Qt 6.0.0 changes file 2020-11-16 10:02:08 +02:00
doc Docs: Add a macro for documenting something as a technical preview 2023-08-02 12:47:15 +00:00
examples examples/: fix compiler (GCC) warnings -Wsign-compare 2023-08-18 23:35:52 +03:00
lib
libexec Remove syncqt.pl 2023-06-30 13:23:46 +02:00
LICENSES Clarify license of SHA-1 algorithm 2023-04-26 16:36:18 +02:00
mkspecs Support PRELOAD var substitution for WASM main html with qmake 2023-07-27 22:16:21 +02:00
qmake Doc: Add proj folders to antivirus exception list 2023-08-17 13:44:53 +02:00
src macOS: Use enumerateWindowsWithOptions to implement QCocoaScreen::topLevelAt() 2023-08-22 11:27:21 +02:00
tests QString/QByteArray: fix append() wrt. raw data 2023-08-21 23:27:56 +02:00
util Change enumdata.py names so comments read more naturally 2023-08-09 17:53:45 +02:00
.cmake.conf CMake: Require CMake 3.21 when building/using Qt on Apple platforms 2023-06-28 22:09:20 +02:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore Add CMakeUserPresets.json to .gitignore 2023-06-23 12:13:08 +02:00
.lgtm.yml
.tag
CMakeLists.txt Consider BUILD_SHARED_LIBS when adding libraries using _qt_internal_add_library 2023-08-04 14:36:50 +02:00
config_help.txt CMake: Allow installation of example sources into the Qt prefix 2023-08-16 19:04:40 +02:00
configure Retrieve an old -redo behavior 2023-02-07 18:51:58 +00:00
configure.bat Retrieve an old -redo behavior 2023-02-07 18:51:58 +00:00
configure.cmake CMake: Allow installation of example sources into the Qt prefix 2023-08-16 19:04:40 +02:00
dependencies.yaml
qt_cmdline.cmake CMake: Allow installation of example sources into the Qt prefix 2023-08-16 19:04:40 +02:00