diff options
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()) { |