From 15fbc0112d260f680cb940c3bae531cb44a3895c Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Wed, 22 May 2013 13:26:31 +0200 Subject: Suppress "Click to focus" for widget windows. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 --- src/plugins/platforms/windows/qwindowsmousehandler.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src') 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) -- cgit v1.2.3