diff options
author | Jan Arve Saether <jan-arve.saether@qt.io> | 2018-02-02 10:45:06 +0100 |
---|---|---|
committer | Jan Arve Sæther <jan-arve.saether@qt.io> | 2018-02-02 12:45:20 +0000 |
commit | 5bcbba1312ac91f7b9f23e7a1574225e190bded4 (patch) | |
tree | d04205679608087c4283b34d1a26ad5661aa24bf /src/quick | |
parent | 2e65f6c2a5d84f4369245cabdc03eca4c19851f0 (diff) |
Make sure passive grabbers are cleared on release
This got regressed by change e6d4df156e9aec62054740dc99ab8ba2855eaafc. Before
that change, we always cleared both the exclusive and passive grabbers.
Task-number: QTBUG-66152
Change-Id: I93d2568bd2a23ddd55a5294d544f978a50a5543e
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick')
-rw-r--r-- | src/quick/items/qquickwindow.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index 8582dd8d2c..c981bfc67e 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -2294,10 +2294,9 @@ void QQuickWindowPrivate::deliverPointerEvent(QQuickPointerEvent *event) if (event->asPointerMouseEvent()) { deliverMouseEvent(event->asPointerMouseEvent()); // failsafe: never allow any kind of grab to persist after release - QQuickItem *grabber = q->mouseGrabberItem(); - if (event->isReleaseEvent() && event->buttons() == Qt::NoButton && grabber) { + if (event->isReleaseEvent() && event->buttons() == Qt::NoButton) { event->clearGrabbers(); - sendUngrabEvent(grabber, false); + sendUngrabEvent(q->mouseGrabberItem(), false); } } else if (event->asPointerTouchEvent()) { deliverTouchEvent(event->asPointerTouchEvent()); |