diff options
author | Paul Olav Tvete <paul.tvete@nokia.com> | 2009-09-14 12:23:06 (GMT) |
---|---|---|
committer | Paul Olav Tvete <paul.tvete@nokia.com> | 2009-09-14 12:37:51 (GMT) |
commit | f1b134bc57584c64e9703683d2c3bc6c46264d19 (patch) | |
tree | c9c5161bbb65926d421630102202aadbd0b4fc69 /src/gui/kernel/qapplication_qws.cpp | |
parent | 2f331bb76f00e251513c197fd43bee9faa511395 (diff) | |
download | Qt-f1b134bc57584c64e9703683d2c3bc6c46264d19.zip Qt-f1b134bc57584c64e9703683d2c3bc6c46264d19.tar.gz Qt-f1b134bc57584c64e9703683d2c3bc6c46264d19.tar.bz2 |
Implement synthetic enter/leave events for QWS.
QWS uses alien widgets too, so we need the same logic as the other
platforms.
Reviewed-by: bnilsen
Diffstat (limited to 'src/gui/kernel/qapplication_qws.cpp')
-rw-r--r-- | src/gui/kernel/qapplication_qws.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gui/kernel/qapplication_qws.cpp b/src/gui/kernel/qapplication_qws.cpp index e6bfd28..e9284f7 100644 --- a/src/gui/kernel/qapplication_qws.cpp +++ b/src/gui/kernel/qapplication_qws.cpp @@ -430,6 +430,7 @@ static QWidget *popupOfPopupButtonFocus = 0; static bool popupCloseDownMode = false; static bool popupGrabOk; static QPointer<QWidget> *mouseInWidget = 0; +QPointer<QWidget> qt_last_mouse_receiver = 0; static bool sm_blockUserInput = false; // session management @@ -3523,10 +3524,12 @@ bool QETWidget::translateMouseEvent(const QWSMouseEvent *event, int prevstate) if (widget != (*mouseInWidget)) { QApplicationPrivate::dispatchEnterLeave(widget, *mouseInWidget); (*mouseInWidget) = widget; + qt_last_mouse_receiver = widget; } QApplication::sendSpontaneousEvent(widget, &e); if (leaveAfterRelease && !QWidget::mouseGrabber()) { *mouseInWidget = QApplication::widgetAt(globalPos); + qt_last_mouse_receiver = *mouseInWidget; QApplicationPrivate::dispatchEnterLeave(*mouseInWidget, leaveAfterRelease); leaveAfterRelease = 0; } |