diff options
author | Andre de la Rocha <andre.rocha@qt.io> | 2019-01-28 14:01:48 +0100 |
---|---|---|
committer | Andre de la Rocha <andre.rocha@qt.io> | 2019-01-28 16:42:30 +0000 |
commit | 850858cce6191593aaab3176932bc04a6f97f202 (patch) | |
tree | b833c8fcee94a32b88c3b748129f13b0a85ef005 /src/plugins/platforms/windows | |
parent | 3a9240428cca2478166f8f005cab663e7846285b (diff) |
Windows QPA: handle pointer messages received during a drag and drop
It seems the pointer message handler was skipping the handling of touch
and pen messages during a drag and drop operation, preventing the
generation of events that quick was expecting and triggering a crash
inside MouseArea.
Fixes: QTBUG-73120
Change-Id: I2921e38dd7e44846607e6c614d7393cfa5664c69
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Diffstat (limited to 'src/plugins/platforms/windows')
-rw-r--r-- | src/plugins/platforms/windows/qwindowspointerhandler.cpp | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/src/plugins/platforms/windows/qwindowspointerhandler.cpp b/src/plugins/platforms/windows/qwindowspointerhandler.cpp index e428a8cf63..203d803a1b 100644 --- a/src/plugins/platforms/windows/qwindowspointerhandler.cpp +++ b/src/plugins/platforms/windows/qwindowspointerhandler.cpp @@ -174,15 +174,6 @@ static void flushTabletEvents() } } -static bool draggingActive() -{ -#if QT_CONFIG(draganddrop) - return QWindowsDrag::isDragging(); -#else - return false; -#endif -} - bool QWindowsPointerHandler::translatePointerEvent(QWindow *window, HWND hwnd, QtWindows::WindowsEventType et, MSG msg, LRESULT *result) { *result = 0; @@ -636,9 +627,6 @@ bool QWindowsPointerHandler::translateTouchEvent(QWindow *window, HWND hwnd, if (et & QtWindows::NonClientEventFlag) return false; // Let DefWindowProc() handle Non Client messages. - if (draggingActive()) - return false; // Let DoDragDrop() loop handle it. - if (count < 1) return false; @@ -739,9 +727,6 @@ bool QWindowsPointerHandler::translatePenEvent(QWindow *window, HWND hwnd, QtWin if (et & QtWindows::NonClientEventFlag) return false; // Let DefWindowProc() handle Non Client messages. - if (draggingActive()) - return false; // Let DoDragDrop() loop handle it. - POINTER_PEN_INFO *penInfo = static_cast<POINTER_PEN_INFO *>(vPenInfo); RECT pRect, dRect; |