summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/windows/qwindowswindow.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@nokia.com>2012-02-16 12:24:32 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-17 05:26:08 +0100
commit4212898822f1798dac0167e4f6a147bd8a3b3dcc (patch)
tree34552fa359ba06fa125c7d106be4194fef9f6b9e /src/plugins/platforms/windows/qwindowswindow.cpp
parent543d994967628f580eb34d4d0241846eaef3bd7d (diff)
Base active window handling on WM_SET/KILLFOCUS.
Make it work for child windows, fixing the isActive() test of QWindow. Task-number: QTBUG-24185 Change-Id: I75597c2d322969f7e109d76e30b9b1f4b66c6e1e Reviewed-by: Samuel Rødal <samuel.rodal@nokia.com>
Diffstat (limited to 'src/plugins/platforms/windows/qwindowswindow.cpp')
-rw-r--r--src/plugins/platforms/windows/qwindowswindow.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/platforms/windows/qwindowswindow.cpp b/src/plugins/platforms/windows/qwindowswindow.cpp
index 5d8de2e01d..28ef2c3b6c 100644
--- a/src/plugins/platforms/windows/qwindowswindow.cpp
+++ b/src/plugins/platforms/windows/qwindowswindow.cpp
@@ -1220,8 +1220,12 @@ void QWindowsWindow::requestActivateWindow()
{
if (QWindowsContext::verboseWindows)
qDebug() << __FUNCTION__ << this << window();
- if (m_data.hwnd)
+ // 'Active' state handling is based in focus since it needs to work for
+ // child windows as well.
+ if (m_data.hwnd) {
SetForegroundWindow(m_data.hwnd);
+ SetFocus(m_data.hwnd);
+ }
}
bool QWindowsWindow::setKeyboardGrabEnabled(bool grab)