summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.p.agocs@nokia.com>2011-09-29 10:28:28 +0300
committerQt by Nokia <qt-info@nokia.com>2011-09-29 15:22:07 +0200
commitfc8b62222c103fc43465a773cb0e2394f8eeed14 (patch)
tree207c4f32c6acfee371668408048c009babcb87b9 /src/gui/kernel
parentb863df7de926448cf0057272c16da04b7cfb11ee (diff)
Send key events to the active window when tlw in qpa event is null
Change-Id: Ie055918276d716b0f4f23b6a9d34c23c5459d960 Reviewed-on: http://codereview.qt-project.org/5777 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Jørgen Lind <jorgen.lind@nokia.com>
Diffstat (limited to 'src/gui/kernel')
-rw-r--r--src/gui/kernel/qguiapplication.cpp2
-rw-r--r--src/gui/kernel/qwindowsysteminterface_qpa_p.h3
2 files changed, 4 insertions, 1 deletions
diff --git a/src/gui/kernel/qguiapplication.cpp b/src/gui/kernel/qguiapplication.cpp
index 77b04bc057..bfa60fa657 100644
--- a/src/gui/kernel/qguiapplication.cpp
+++ b/src/gui/kernel/qguiapplication.cpp
@@ -636,6 +636,8 @@ void QGuiApplicationPrivate::processWheelEvent(QWindowSystemInterfacePrivate::Wh
void QGuiApplicationPrivate::processKeyEvent(QWindowSystemInterfacePrivate::KeyEvent *e)
{
QWindow *window = e->window.data();
+ if (e->nullWindow)
+ window = QGuiApplication::activeWindow();
if (!window)
return;
diff --git a/src/gui/kernel/qwindowsysteminterface_qpa_p.h b/src/gui/kernel/qwindowsysteminterface_qpa_p.h
index 352092d066..77c219737d 100644
--- a/src/gui/kernel/qwindowsysteminterface_qpa_p.h
+++ b/src/gui/kernel/qwindowsysteminterface_qpa_p.h
@@ -128,8 +128,9 @@ public:
class UserEvent : public WindowSystemEvent {
public:
UserEvent(QWindow * w, ulong time, EventType t)
- : WindowSystemEvent(t), window(w), timestamp(time) { }
+ : WindowSystemEvent(t), window(w), nullWindow(w == 0), timestamp(time) { }
QWeakPointer<QWindow> window;
+ bool nullWindow;
unsigned long timestamp;
};