aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickmousearea.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-04-20 12:09:42 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2020-04-22 07:24:53 +0200
commit184f45762e15c1a31bb4295d831fcc9f8a2d4b30 (patch)
tree4316ef7872ec54ca49f0d819e2de287906b621b1 /src/quick/items/qquickmousearea.cpp
parent505863e7004c60fa2fc9aafc41516e2ee8a8efaa (diff)
Mouse area: Prevent drag being started with non-accepted mouse buttons
Redirect move events to the quick item if the wrong mouse button is used. Pick-to: 5.15 Fixes: QTBUG-82382 Change-Id: I5a78304511b80e6a2e71d2d08a0387509ca96698 Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
Diffstat (limited to 'src/quick/items/qquickmousearea.cpp')
-rw-r--r--src/quick/items/qquickmousearea.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp
index f54858e4eb..59615464c8 100644
--- a/src/quick/items/qquickmousearea.cpp
+++ b/src/quick/items/qquickmousearea.cpp
@@ -688,11 +688,17 @@ void QQuickMouseArea::mouseMoveEvent(QMouseEvent *event)
return;
}
- d->saveEvent(event);
-
// ### we should skip this if these signals aren't used
// ### can GV handle this for us?
- setHovered(contains(d->lastPos));
+ setHovered(contains(event->localPos()));
+
+ if ((event->buttons() & acceptedMouseButtons()) == 0) {
+ QQuickItem::mouseMoveEvent(event);
+ return;
+ }
+
+ d->saveEvent(event);
+
#if QT_CONFIG(quick_draganddrop)
if (d->drag && d->drag->target()) {