diff options
Diffstat (limited to 'src/quick/items/qquickmousearea.cpp')
-rw-r--r-- | src/quick/items/qquickmousearea.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp index ad0a265035..a8786585da 100644 --- a/src/quick/items/qquickmousearea.cpp +++ b/src/quick/items/qquickmousearea.cpp @@ -773,11 +773,7 @@ void QQuickMouseArea::mouseMoveEvent(QMouseEvent *event) // ### we should skip this if these signals aren't used // ### can GV handle this for us? - const bool isInside = contains(d->lastPos); - if (d->hovered && !isInside) - setHovered(false); - else if (!d->hovered && isInside) - setHovered(true); + setHovered(contains(d->lastPos)); #ifndef QT_NO_DRAGANDDROP if (d->drag && d->drag->target()) { @@ -958,7 +954,8 @@ void QQuickMouseArea::ungrabMouse() emit canceled(); emit pressedChanged(); emit pressedButtonsChanged(); - if (d->hovered) { + + if (d->hovered && !isUnderMouse()) { d->hovered = false; emit hoveredChanged(); } |