From 68c4131a416fc002ea8f025478c30d969de5f03d Mon Sep 17 00:00:00 2001 From: Andras Becsi Date: Tue, 24 Jun 2014 18:36:15 +0200 Subject: Force active focus for touch begin and loose it for focusOutEvent This fixes the focusing issues on touch devices. Change-Id: I26c0080ea70aeabbd608e15fbd3705b907bdb68e Reviewed-by: Zeno Albisser --- src/webengine/render_widget_host_view_qt_delegate_quick.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp index 8d7f298e7..822cea4b4 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp @@ -147,11 +147,13 @@ void RenderWidgetHostViewQtDelegateQuick::inputMethodStateChanged(bool editorVis void RenderWidgetHostViewQtDelegateQuick::focusInEvent(QFocusEvent *event) { + setFocus(true); m_client->forwardEvent(event); } void RenderWidgetHostViewQtDelegateQuick::focusOutEvent(QFocusEvent *event) { + setFocus(false); m_client->forwardEvent(event); } @@ -189,6 +191,8 @@ void RenderWidgetHostViewQtDelegateQuick::wheelEvent(QWheelEvent *event) void RenderWidgetHostViewQtDelegateQuick::touchEvent(QTouchEvent *event) { + if (event->type() == QEvent::TouchBegin && !hasActiveFocus()) + forceActiveFocus(); m_client->forwardEvent(event); } -- cgit v1.2.1