summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qwidgetwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/kernel/qwidgetwindow.cpp')
-rw-r--r--src/widgets/kernel/qwidgetwindow.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/widgets/kernel/qwidgetwindow.cpp b/src/widgets/kernel/qwidgetwindow.cpp
index c11e36312f..056eabd2f4 100644
--- a/src/widgets/kernel/qwidgetwindow.cpp
+++ b/src/widgets/kernel/qwidgetwindow.cpp
@@ -261,8 +261,10 @@ void QWidgetWindow::handleEnterLeaveEvent(QEvent *event)
}
} else {
const QEnterEvent *ee = static_cast<QEnterEvent *>(event);
- QApplicationPrivate::dispatchEnterLeave(m_widget, 0, ee->screenPos());
- qt_last_mouse_receiver = m_widget;
+ QWidget *child = m_widget->childAt(ee->pos());
+ QWidget *receiver = child ? child : m_widget;
+ QApplicationPrivate::dispatchEnterLeave(receiver, 0, ee->screenPos());
+ qt_last_mouse_receiver = receiver;
}
}