diff options
| author | Axel Spoerl <axel.spoerl@qt.io> | 2023-12-27 15:27:41 +0100 |
|---|---|---|
| committer | Liang Qi <liang.qi@qt.io> | 2024-02-17 10:19:34 +0000 |
| commit | ec24b36d3db82c340d9386951ea48c26f77c2923 (patch) | |
| tree | ceb46d679fe1f249798d455324784b4d84edf0fd /src/corelib/kernel/qtimer.cpp | |
| parent | 7a4b307210f2825f5f53b6d6f8537f27cc9659a1 (diff) | |
QXcbWindow::handleLeaveNotifyEvent(): Consume when leaving geometry
QXcbConnection::mousePressWindow() returns the XCB toplevel window,
which has consumed the window system's last mouse press. When the
function returns a valid pointer, QXcbWindow::handleLeaveNotifyEvent()
didn't propagate the leave event to QWSI::handleLeaveEvent(). Instead,
the leave event was ingored.
That behavior is correct, e.g. when a button on the main window is
pressed and the mouse hovers away from the button, with the mouse
button continuously being pressed. It is not correct, if the mouse
cursor leaves the main window.
=> Ignore the leave event only as long as the mouse cursor remains
within mousePressWindow()->geometry().
=> Deliver the leave event, when the mouse cursor leaves the window.
Fixes: QTBUG-119864
Pick-to: 6.7 6.6 6.5 6.2 5.15
Change-Id: I30a6ebedcd148285b9f17dfd87885ff67726b54c
Reviewed-by: Liang Qi <liang.qi@qt.io>
Diffstat (limited to 'src/corelib/kernel/qtimer.cpp')
0 files changed, 0 insertions, 0 deletions
