Go to file
Alex Trotsenko aefd414ce2 QWinEventNotifier: unlink from event dispatcher
Instead of multiplexing all notifications into a single Qt event for
the event dispatcher, we can send 'WinEventAct' event directly for each
notifier which activated. This trick improves the performance (esp.
on a large number of events) and allows us to remove notifiers handling
from the event dispatcher completely.

As an alternative to sending Qt events, use of Windows' APC queue in
conjunction with waking up the Qt event loop from within the Windows
thread pool has been considered. However, that would lead to signal
emission asynchronous to the Qt event loop's operation, which is not
acceptable.

Thanks to Oswald Buddenhagen for the proposed idea.

[ChangeLog][QtCore][QAbstractEventDispatcher] The
{un}registerEventNotifier() member functions have been removed.
QWinEventNotifier is no longer needed to be registered in the
event dispatcher.

Change-Id: I140892fb909eaae0eabf2e07ebabcab78c43841c
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
2020-11-10 17:56:51 +02:00
.github/workflows GitHub Actions: Fix workflow file 2020-09-11 13:37:48 +02:00
bin CMake: Fix argument passing for configure.bat / qt-configure-module.bat 2020-10-30 08:22:30 +01:00
cmake CMake: Allow using DESTDIR when installing documentation 2020-11-10 16:54:42 +01:00
coin CMake: Provide a qt-internal-configure-tests script 2020-10-26 15:23:25 +01:00
config.tests CMake: Skip regeneration of manual compile test project 2020-04-09 11:26:46 +02:00
dist Remove last remainings of Qt Quick 1 imports 2020-05-25 11:48:12 +02:00
doc Doc: Add macro to exclude examples from Creator 2020-10-27 11:49:39 +00:00
examples Support the markdown underline extension 2020-11-07 09:35:11 +01:00
lib
mkspecs resources_function.prf: Discard external path prefixes 2020-11-10 16:55:07 +01:00
qmake Android: recommend against using ANDROID_ABIS inside the project file 2020-11-10 13:23:09 +00:00
src QWinEventNotifier: unlink from event dispatcher 2020-11-10 17:56:51 +02:00
tests QWinEventNotifier: unlink from event dispatcher 2020-11-10 17:56:51 +02:00
util configurejson2cmake: Follow up fix to a regression 2020-11-10 16:54:53 +01:00
.cmake.conf CMake: Bump the minimum required CMake version to build Qt to 3.18 2020-11-03 13:06:14 +01:00
.gitattributes Give batch files CRLF line endings 2020-11-04 15:02:29 +00:00
.gitignore .gitignore: Qt Creator files cleanup 2020-09-25 07:50:15 +02:00
.lgtm.yml Skip LGTM analysis for the bootstrap library and tools 2020-07-16 01:04:34 +02:00
.prev_configure.cmake CMake: Fix detection of the ltcg feature 2020-11-06 22:03:50 +01:00
.prev_qt_cmdline.cmake CMake: Regenerate configure.cmake files 2020-09-28 15:48:17 +02:00
.qmake.conf Bump version 2019-12-17 12:41:31 +01:00
.tag
CMakeLists.txt CMake: Bump the minimum required CMake version to build Qt to 3.18 2020-11-03 13:06:14 +01:00
config_help.txt CMake: Implement configure -list-features 2020-11-10 16:53:31 +01:00
configure configure: Fix call without options 2020-11-07 19:33:37 +01:00
configure.bat CMake: Fix Windows top-level configure.bat 2020-11-03 13:06:14 +01:00
configure.cmake CMake: Fix detection of the ltcg feature 2020-11-06 22:03:50 +01:00
configure.json By default don't try to use pkg-config when targeting Android 2020-09-28 15:48:17 +02:00
configure.pri Android: allow setting javac build version from the configure script 2020-09-16 20:55:08 +03:00
dependencies.yaml Re-add dependencies.yaml now that qt5.git wip/qt6 builds fine 2019-09-18 13:19:31 +02:00
INSTALL INSTALL: Remove outdated reference to Windows CE 2019-02-13 13:01:57 +00:00
LICENSE.FDL
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPLv3 Remove LICENSE.GPLv3, LICENSE.LGPLv21, LGPL_EXCEPTION.txt 2018-04-16 11:02:14 +00:00
LICENSE.QT-LICENSE-AGREEMENT Update enterprise license agreement v4.2.1 2019-12-18 13:07:19 +02:00
qt_cmdline.cmake CMake: Fixup outdated configure.cmake files 2020-11-10 14:23:09 +01:00
qtbase.pro Update qmake before building src 2020-08-19 18:25:51 +02:00
sync.profile Generate QUtf8StringView header file from qutf8stringview.h 2020-11-07 08:35:11 +00:00