Fix generation of Leave events when using tablet devices
When both mouse and tablet events are handled by QWindowsPointerHandler, m_currentWindow variable is shared among the two event streams, therefore each stream should ensure it does equivalent operations, when changing it. Here we should subscribe to the Leave events, when we emit Enter event from the inside of the tablet events flow. Without whis subscription, the cursor may stuck in "resize" state when crossing the window's frame multiple times. Change-Id: I88df4a42ae86243e10ecd4a4cedf87639c96d169 Reviewed-by: Andre de la Rocha <andre.rocha@qt.io>
This commit is contained in:
parent
43abe86e2f
commit
7e5b35935e
@ -614,6 +614,9 @@ bool QWindowsPointerHandler::translatePenEvent(QWindow *window, HWND hwnd, QtWin
|
||||
if (m_needsEnterOnPointerUpdate) {
|
||||
m_needsEnterOnPointerUpdate = false;
|
||||
if (window != m_currentWindow) {
|
||||
// make sure we subscribe to leave events for this window
|
||||
trackLeave(hwnd);
|
||||
|
||||
QWindowSystemInterface::handleEnterEvent(window, localPos, globalPos);
|
||||
m_currentWindow = window;
|
||||
if (QWindowsWindow *wumPlatformWindow = QWindowsWindow::windowsWindowOf(target))
|
||||
|
Loading…
x
Reference in New Issue
Block a user