From 47b36ae639ba61969b0190bc812c9508393c5ed5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Samuel=20R=C3=B8dal?= Date: Wed, 11 May 2011 14:40:01 +0200 Subject: Deliver leave event to proper widget (not the top-level). --- src/widgets/kernel/qwidgetwindow_qpa.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/widgets/kernel/qwidgetwindow_qpa.cpp b/src/widgets/kernel/qwidgetwindow_qpa.cpp index a63a6499fa..510614e5e3 100644 --- a/src/widgets/kernel/qwidgetwindow_qpa.cpp +++ b/src/widgets/kernel/qwidgetwindow_qpa.cpp @@ -106,7 +106,8 @@ QPointer qt_last_mouse_receiver = 0; void QWidgetWindow::handleEnterLeaveEvent(QEvent *event) { if (event->type() == QEvent::Leave) { - QApplicationPrivate::dispatchEnterLeave(0, m_widget); + QWidget *leave = qt_last_mouse_receiver ? qt_last_mouse_receiver.data() : m_widget; + QApplicationPrivate::dispatchEnterLeave(0, leave); qt_last_mouse_receiver = 0; } else { QApplicationPrivate::dispatchEnterLeave(m_widget, 0); -- cgit v1.2.3