diff options
author | Heikki Paajanen <heikki.paajanen@palm.com> | 2013-03-11 16:32:31 +0200 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2013-05-05 12:56:35 +0200 |
commit | 92881cd8a426b83153860fde6dd7d17c2958ee82 (patch) | |
tree | 55d3d637211f0832786349c039a79a6906385bc9 /recipes-qt/qt5/qtdeclarative | |
parent | bbaf26aec2f2b64c2d061ab4c81773d569d99d4e (diff) |
qtdeclarative: Fix flickable event handling
* With isis2 touch mocking there is a situation where flickable doesn't
process mouse events even if it has mouse grabbed.
* Patch is cherry-picked from upstream.
Signed-off-by: Heikki Paajanen <heikki.paajanen@palm.com>
Signed-off-by: Martin Jansa <martin.jansa@lge.com>
Diffstat (limited to 'recipes-qt/qt5/qtdeclarative')
-rw-r--r-- | recipes-qt/qt5/qtdeclarative/0001-Flickable-Fix-bug-when-flicking-twice-using-touches.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qtdeclarative/0001-Flickable-Fix-bug-when-flicking-twice-using-touches.patch b/recipes-qt/qt5/qtdeclarative/0001-Flickable-Fix-bug-when-flicking-twice-using-touches.patch new file mode 100644 index 00000000..650e603a --- /dev/null +++ b/recipes-qt/qt5/qtdeclarative/0001-Flickable-Fix-bug-when-flicking-twice-using-touches.patch @@ -0,0 +1,39 @@ +From 27be7a832f017653ffda705407bb7a64246eda1f Mon Sep 17 00:00:00 2001 +From: Daniel d'Andrada <daniel.dandrada@canonical.com> +Date: Tue, 18 Dec 2012 10:51:21 -0200 +Subject: [PATCH] Flickable: Fix bug when flicking twice using touches + +When you flick twice in rapid succession, in the same direction, +the expected behavior is for flickable to be moving quite fast in the +direction of the flicks. + +But when you flicked using touch events instead of mouse ones, +the second flick caused Flickable to immediately halt. This change fixes it. + +Upstream-Status: Backport + +Change-Id: I02bd02fed30bd4a98959194e04f0a26b4420cd05 +Reviewed-by: Andras Becsi <andras.becsi@digia.com> +--- + src/quick/items/qquickflickable.cpp | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/src/quick/items/qquickflickable.cpp b/src/quick/items/qquickflickable.cpp +index 6e5e6b7..88ef20f 100644 +--- a/src/quick/items/qquickflickable.cpp ++++ b/src/quick/items/qquickflickable.cpp +@@ -2038,6 +2038,11 @@ bool QQuickFlickable::sendMouseEvent(QQuickItem *item, QMouseEvent *event) + + QQuickWindow *c = window(); + QQuickItem *grabber = c ? c->mouseGrabberItem() : 0; ++ if (grabber == this && d->stealMouse) { ++ // we are already the grabber and we do want the mouse event to ourselves. ++ return true; ++ } ++ + bool grabberDisabled = grabber && !grabber->isEnabled(); + bool stealThisEvent = d->stealMouse; + if ((stealThisEvent || contains(localPos)) && (!grabber || !grabber->keepMouseGrab() || grabberDisabled)) { +-- +1.7.9.5 + |