summaryrefslogtreecommitdiff
path: root/src/location/declarativemaps/qdeclarativegeomap.cpp
diff options
context:
space:
mode:
authorPaolo Angelelli <paolo.angelelli@qt.io>2017-03-23 14:38:10 +0100
committerPaolo Angelelli <paolo.angelelli@qt.io>2017-03-24 12:41:08 +0000
commit4f03448a9ef95dd5a20b1fa4af31a5865413e5f4 (patch)
tree66c0d1e6520ef13db2a2f8f4419bbc8829057e6d /src/location/declarativemaps/qdeclarativegeomap.cpp
parent3763cab081ecdbe1783eadf566360bf7c2bc8751 (diff)
downloadqtlocation-4f03448a9ef95dd5a20b1fa4af31a5865413e5f4.tar.gz
Consider keepTouchGrab when handing mouse events in QDeclarativeGeoMap
QDeclarativeGeoMap used to consider only keepMouseGrab. Some components only set keepTouchGrab. With this patch both are considered Task-number: QTBUG-59416 Change-Id: Ie551c9a207cdac144fd760b863fc5fafd4c21274 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/location/declarativemaps/qdeclarativegeomap.cpp')
-rw-r--r--src/location/declarativemaps/qdeclarativegeomap.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/location/declarativemaps/qdeclarativegeomap.cpp b/src/location/declarativemaps/qdeclarativegeomap.cpp
index 8ab29c1a..80a30f56 100644
--- a/src/location/declarativemaps/qdeclarativegeomap.cpp
+++ b/src/location/declarativemaps/qdeclarativegeomap.cpp
@@ -2039,7 +2039,7 @@ bool QDeclarativeGeoMap::sendMouseEvent(QMouseEvent *event)
QQuickItem *grabber = win ? win->mouseGrabberItem() : 0;
bool stealEvent = m_gestureArea->isActive();
- if ((stealEvent || contains(localPos)) && (!grabber || !grabber->keepMouseGrab())) {
+ if ((stealEvent || contains(localPos)) && (!grabber || (!grabber->keepMouseGrab() && !grabber->keepTouchGrab()))) {
QScopedPointer<QMouseEvent> mouseEvent(QQuickWindowPrivate::cloneMouseEvent(event, &localPos));
mouseEvent->setAccepted(false);
@@ -2060,7 +2060,7 @@ bool QDeclarativeGeoMap::sendMouseEvent(QMouseEvent *event)
stealEvent = m_gestureArea->isActive();
grabber = win ? win->mouseGrabberItem() : 0;
- if (grabber && stealEvent && !grabber->keepMouseGrab() && grabber != this)
+ if (grabber && stealEvent && !grabber->keepMouseGrab() && !grabber->keepTouchGrab() && grabber != this)
grabMouse();
if (stealEvent) {