diff options
Diffstat (limited to 'src/quick/items/qquickwindow.cpp')
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index a54d6daf9c..c72565b2f4 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -2247,8 +2247,12 @@ bool QQuickWindowPrivate::deliverMatchingPointsToItem(QQuickItem *item, QQuickPo me->accept(); q->sendEvent(item, me); if (me->isAccepted()) { - if (!q->mouseGrabberItem()) + auto mouseGrabber = q->mouseGrabberItem(); + if (mouseGrabber && mouseGrabber != item) { + item->mouseUngrabEvent(); + } else { item->grabMouse(); + } point->setAccepted(true); } return me->isAccepted(); |