diff options
author | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-04-20 12:09:42 +0200 |
---|---|---|
committer | Friedemann Kleint <Friedemann.Kleint@qt.io> | 2020-04-22 07:24:53 +0200 |
commit | 184f45762e15c1a31bb4295d831fcc9f8a2d4b30 (patch) | |
tree | 4316ef7872ec54ca49f0d819e2de287906b621b1 /src/quick/items/qquickmousearea.cpp | |
parent | 505863e7004c60fa2fc9aafc41516e2ee8a8efaa (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.cpp | 12 |
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()) { |