summaryrefslogtreecommitdiffstats
path: root/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
diff options
context:
space:
mode:
authorPeter Varga <pvarga@inf.u-szeged.hu>2016-11-08 10:34:31 +0100
committerPeter Varga <pvarga@inf.u-szeged.hu>2016-11-29 15:02:02 +0000
commit01c029fd90162bdbbcf9534537f26138a333c570 (patch)
tree4edc0a8e4fd557f68baf31cf16e1e1fd5a7c5771 /src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
parenta79fd91391c489ea1cd7baf717778b75e4847b92 (diff)
Fix keyboard focus of RWHVQDW after popup
Task-number: QTBUG-56652 Change-Id: I1a6655587a9104dd817332e2eb5f886c057d8f64 Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp')
-rw-r--r--src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
index 8c8e9fb71..27268d26b 100644
--- a/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
+++ b/src/webenginewidgets/render_widget_host_view_qt_delegate_widget.cpp
@@ -202,6 +202,13 @@ QRectF RenderWidgetHostViewQtDelegateWidget::contentsRect() const
void RenderWidgetHostViewQtDelegateWidget::setKeyboardFocus()
{
+ // If the corresponding window is inactive (for example, because of a popup),
+ // the active focus cannot be set. Sync up with the Window System to try to
+ // reactivate the window in time if the other window (possibly popup) which took
+ // the focus is already closed.
+ if (window() && !window()->isActive())
+ QGuiApplication::sync();
+
m_rootItem->forceActiveFocus();
}