diff options
author | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-03-23 14:38:10 +0100 |
---|---|---|
committer | Paolo Angelelli <paolo.angelelli@qt.io> | 2017-03-24 12:41:08 +0000 |
commit | 4f03448a9ef95dd5a20b1fa4af31a5865413e5f4 (patch) | |
tree | 66c0d1e6520ef13db2a2f8f4419bbc8829057e6d /src/location/declarativemaps/qdeclarativegeomap.cpp | |
parent | 3763cab081ecdbe1783eadf566360bf7c2bc8751 (diff) | |
download | qtlocation-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.cpp | 4 |
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) { |