diff options
author | Alex Trotsenko <alex1973tr@gmail.com> | 2021-02-23 15:00:48 +0200 |
---|---|---|
committer | Alex Trotsenko <alex1973tr@gmail.com> | 2021-02-25 17:08:44 +0200 |
commit | b7e08599cc784777d06d34e49e90c2d408ab629d (patch) | |
tree | 0b78cb632bb09157fcbdfe644ac26267572bcb48 /src/corelib/kernel/qeventdispatcher_win_p.h | |
parent | f493d41722fc76a04f699ea26128fdf3d215d913 (diff) |
QEventDispatcherWin32: get rid of the hook procedure
Instead of intercepting the WM_QT_SENDPOSTEDEVENTS message in the hook
procedure, we can handle it at receive points, making
qt_GetMessageHook() unnecessary.
Including general performance improvements, this patch fixes the issue
where some applications (e.g. Ableton Live) do not call a chain of
nested hooks for plugins.
Pick-to: 6.1 5.15
Fixes: QTBUG-90949
Change-Id: If8e96848392c6f10d45af2aac0567707d16af673
Reviewed-by: Oliver Wolff <oliver.wolff@qt.io>
Reviewed-by: MÃ¥rten Nordheim <marten.nordheim@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Nuno Santos <nunosantos@imaginando.net>
Diffstat (limited to 'src/corelib/kernel/qeventdispatcher_win_p.h')
-rw-r--r-- | src/corelib/kernel/qeventdispatcher_win_p.h | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/corelib/kernel/qeventdispatcher_win_p.h b/src/corelib/kernel/qeventdispatcher_win_p.h index 90a818b0f5..49a6d3ebbc 100644 --- a/src/corelib/kernel/qeventdispatcher_win_p.h +++ b/src/corelib/kernel/qeventdispatcher_win_p.h @@ -104,7 +104,6 @@ protected: private: friend LRESULT QT_WIN_CALLBACK qt_internal_proc(HWND hwnd, UINT message, WPARAM wp, LPARAM lp); - friend LRESULT QT_WIN_CALLBACK qt_GetMessageHook(int, WPARAM, LPARAM); }; struct QSockNot { @@ -154,11 +153,11 @@ public: // internal window handle used for socketnotifiers/timers/etc HWND internalHwnd; - HHOOK getMessageHook; // for controlling when to send posted events UINT_PTR sendPostedEventsTimerId; QAtomicInt wakeUps; + void startPostedEventsTimer(); // timers WinTimerDict timerDict; |