Flickable should only call ungrabMouse() if it is the mouse grabber
authorAndras Becsi <andras.becsi@nokia.com>
Mon, 2 Apr 2012 10:54:56 +0000 (12:54 +0200)
committerQt by Nokia <qt-info@nokia.com>
Wed, 4 Apr 2012 10:14:50 +0000 (12:14 +0200)
Check whether the Flickable is the mouse grabber before ungrabbing
in mouseReleaseEvent() to suppress warnings in case event delivery
does not rely on mouse grabbing.

Change-Id: I3c3398ebbb9d8ab2cb6181677752b73e265cf02f
Reviewed-by: Martin Jones <martin.jones@nokia.com>
src/quick/items/qquickflickable.cpp

index 62d0e4a..75c9919 100644 (file)
@@ -1108,7 +1108,8 @@ void QQuickFlickable::mouseReleaseEvent(QMouseEvent *event)
         d->clearDelayedPress();
         d->handleMouseReleaseEvent(event);
         event->accept();
-        ungrabMouse();
+        if (canvas() && canvas()->mouseGrabberItem() == this)
+            ungrabMouse();
     } else {
         QQuickItem::mouseReleaseEvent(event);
     }