diff options
| author | Liang Qi <liang.qi@qt.io> | 2019-06-07 13:12:57 +0200 |
|---|---|---|
| committer | Liang Qi <liang.qi@qt.io> | 2019-06-07 13:19:27 +0200 |
| commit | 9967a011eaae8988b10e56fde0f2ab8b6bab90ac (patch) | |
| tree | 353b932414a8d9d94a418e84068550b0a2376b37 /src/plugins/platforms/windows/qwindowspointerhandler.cpp | |
| parent | 91ab70d17f892f3ff6b2019632fda3920d045dcb (diff) | |
| parent | 99636127d10f96d8313bc26030cabf9841381914 (diff) | |
Merge remote-tracking branch 'origin/5.12' into 5.13
Conflicts:
qmake/generators/makefile.cpp
src/plugins/platforms/cocoa/qcocoaintegration.h
src/plugins/platforms/cocoa/qcocoaintegration.mm
Done-With: Jörg Bornemann <joerg.bornemann@qt.io>
Change-Id: I5a61e161784cc6f947abe370aab8f2971a9cbe78
Diffstat (limited to 'src/plugins/platforms/windows/qwindowspointerhandler.cpp')
| -rw-r--r-- | src/plugins/platforms/windows/qwindowspointerhandler.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/plugins/platforms/windows/qwindowspointerhandler.cpp b/src/plugins/platforms/windows/qwindowspointerhandler.cpp index fd3d7114707..8b880079491 100644 --- a/src/plugins/platforms/windows/qwindowspointerhandler.cpp +++ b/src/plugins/platforms/windows/qwindowspointerhandler.cpp @@ -269,7 +269,10 @@ static Qt::MouseButtons queryMouseButtons() static QWindow *getWindowUnderPointer(QWindow *window, QPoint globalPos) { - QWindow *currentWindowUnderPointer = QWindowsScreen::windowAt(globalPos, CWP_SKIPINVISIBLE | CWP_SKIPTRANSPARENT); + QWindowsWindow *platformWindow = static_cast<QWindowsWindow *>(window->handle()); + + QWindow *currentWindowUnderPointer = platformWindow->hasMouseCapture() ? + QWindowsScreen::windowAt(globalPos, CWP_SKIPINVISIBLE | CWP_SKIPTRANSPARENT) : window; while (currentWindowUnderPointer && currentWindowUnderPointer->flags() & Qt::WindowTransparentForInput) currentWindowUnderPointer = currentWindowUnderPointer->parent(); |
