pick up the target window for a mouse event when none is specified
authorGunnar Sletta <gunnar.sletta@nokia.com>
Tue, 30 Aug 2011 13:00:38 +0000 (15:00 +0200)
committerLaszlo Agocs <laszlo.p.agocs@nokia.com>
Tue, 30 Aug 2011 13:05:29 +0000 (15:05 +0200)
Change-Id: Iae0402f63f39a2728b94abe68fa22592d97ea9f3
Reviewed-on: http://codereview.qt.nokia.com/3885
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Laszlo Agocs <laszlo.p.agocs@nokia.com>
src/gui/kernel/qguiapplication.cpp

index 7ab098e..d5e08e1 100644 (file)
@@ -546,9 +546,6 @@ void QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePriv
 
 void QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent *e)
 {
-    if (!e->window)
-        return;
-
     QEvent::Type type;
     // move first
     Qt::MouseButtons stateChange = e->buttons ^ buttons;
@@ -561,6 +558,9 @@ void QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::Mo
 
     QWindow *window = e->window.data();
 
+    if (!window)
+        window = QGuiApplication::topLevelAt(e->globalPos.toPoint());
+
     QPointF localPoint = e->localPos;
     QPointF globalPoint = e->globalPos;