diff options
author | Samuel Rødal <samuel.rodal@nokia.com> | 2011-05-11 14:40:01 +0200 |
---|---|---|
committer | Samuel Rødal <samuel.rodal@nokia.com> | 2011-05-11 14:40:01 +0200 |
commit | 47b36ae639ba61969b0190bc812c9508393c5ed5 (patch) | |
tree | 2bbe108de38ff3372c1f238c84df251a368eac21 /src/widgets | |
parent | ed2a2dc6dae0a2523cecfd272609d322ace16145 (diff) |
Deliver leave event to proper widget (not the top-level).
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/kernel/qwidgetwindow_qpa.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
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<QWidget> 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); |