diff options
author | Robin Burchell <robin.burchell@jollamobile.com> | 2013-11-13 12:41:19 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-12-13 11:30:12 +0100 |
commit | 2602b4402f3c8d867d11ea62b613b03dacc8a232 (patch) | |
tree | 21efca582761444680ebccbcc290100811d66eb3 /src/quick/items/qquickitem.cpp | |
parent | 9b5a688cdb77bca74529d4720ed65668a62e4b4b (diff) |
Fix touch to mouse synthesis/propagation.
Having mouse events synthesised from both QtGui and internally in QtQuick is
not a great way togo about things, especially when QtGui doesn't have the same
degree of knowledge as QtQuick about the items in the scene.
Thus, we now accept all events inside QtQuick to block QtGui synthesis, which
should fix a significant amount of edge-case touch breakage/bad behavior.
Change-Id: I14e1c87761c8f43160049b5e6f9da15b4e5edbb7
Done-with: Martin Jones <martin.jones@jollamobile.com>
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
Diffstat (limited to 'src/quick/items/qquickitem.cpp')
-rw-r--r-- | src/quick/items/qquickitem.cpp | 10 |
1 files changed, 1 insertions, 9 deletions
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index a0329f7afc..f565fba1bb 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -6629,15 +6629,7 @@ void QQuickItem::grabMouse() if (!d->window) return; QQuickWindowPrivate *windowPriv = QQuickWindowPrivate::get(d->window); - if (windowPriv->mouseGrabberItem == this) - return; - - QQuickItem *oldGrabber = windowPriv->mouseGrabberItem; - windowPriv->mouseGrabberItem = this; - if (oldGrabber) { - QEvent ev(QEvent::UngrabMouse); - d->window->sendEvent(oldGrabber, &ev); - } + windowPriv->setMouseGrabber(this); } /*! |