aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickmousearea.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickmousearea.cpp')
-rw-r--r--src/quick/items/qquickmousearea.cpp9
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();
}