summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@digia.com>2013-05-22 13:26:31 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-05-23 12:49:39 +0200
commit15fbc0112d260f680cb940c3bae531cb44a3895c (patch)
treefed95a1e9de4d64d6645dd99184dda1836d5a7bc /src
parent8078a04e1950d1e9957c3b3c3ea8e6e0c3d34b80 (diff)
Suppress "Click to focus" for widget windows.
Calling requestActivate() on native child widgets can cause focus problems (keyboard input going to widgets that don't handle it,etc). Breakage introduced by: 4675681b5e88b178adbdef775ac6a4b1e573458 . Task-number: QTBUG-30922 Change-Id: I4efdfef6bffc89fe62156d248f05ed99c58bf794 Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/platforms/windows/qwindowsmousehandler.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/plugins/platforms/windows/qwindowsmousehandler.cpp b/src/plugins/platforms/windows/qwindowsmousehandler.cpp
index dd16ea1c6f..fd00a07d6c 100644
--- a/src/plugins/platforms/windows/qwindowsmousehandler.cpp
+++ b/src/plugins/platforms/windows/qwindowsmousehandler.cpp
@@ -237,8 +237,8 @@ bool QWindowsMouseHandler::translateMouseEvent(QWindow *window, HWND hwnd,
platformWindow->setFlag(QWindowsWindow::AutoMouseCapture);
if (QWindowsContext::verboseEvents)
qDebug() << "Automatic mouse capture " << window;
- // Implement "Click to focus" for native child windows.
- if (!window->isTopLevel() && QGuiApplication::focusWindow() != window)
+ // Implement "Click to focus" for native child windows (unless it is a native widget window).
+ if (!window->isTopLevel() && !window->inherits("QWidgetWindow") && QGuiApplication::focusWindow() != window)
window->requestActivate();
} else if (platformWindow->hasMouseCapture()
&& platformWindow->testFlag(QWindowsWindow::AutoMouseCapture)