diff options
Diffstat (limited to 'src/widgets/kernel/qwidgetwindow.cpp')
-rw-r--r-- | src/widgets/kernel/qwidgetwindow.cpp | 6 |
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; } } |