diff options
author | Peter Varga <pvarga@inf.u-szeged.hu> | 2018-11-21 14:09:38 +0100 |
---|---|---|
committer | Peter Varga <pvarga@inf.u-szeged.hu> | 2018-11-29 13:26:18 +0000 |
commit | 35ee29eb348b4629f47a6b700f9e2c356265aeba (patch) | |
tree | b33d72bf152b494f7c5b7017fdc218da1d975a07 /src/webengine/render_widget_host_view_qt_delegate_quick.cpp | |
parent | ce7d46d6122c0af2c5820d51bbb804bc81cdefa7 (diff) |
Fix input method update
Do the update after the input properties are changed in
RenderWidgetHostViewQt. Moreover, always update on input
state changes, like cursor position, surrounding text and
text selection (see QInputMethod::update() docs).
Task-number: QTBUG-70158
Task-number: QTBUG-71995
Change-Id: I9d5c6e299826fbe66f5285b648013ef79aabed9b
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'src/webengine/render_widget_host_view_qt_delegate_quick.cpp')
-rw-r--r-- | src/webengine/render_widget_host_view_qt_delegate_quick.cpp | 7 |
1 files changed, 2 insertions, 5 deletions
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 1176573fd..2f65db97a 100644 --- a/src/webengine/render_widget_host_view_qt_delegate_quick.cpp +++ b/src/webengine/render_widget_host_view_qt_delegate_quick.cpp @@ -54,7 +54,6 @@ namespace QtWebEngineCore { RenderWidgetHostViewQtDelegateQuick::RenderWidgetHostViewQtDelegateQuick(RenderWidgetHostViewQtDelegateClient *client, bool isPopup) : m_client(client) , m_isPopup(isPopup) - , m_isPasswordInput(false) { setFlag(ItemHasContents); setAcceptedMouseButtons(Qt::AllButtons); @@ -206,11 +205,9 @@ void RenderWidgetHostViewQtDelegateQuick::inputMethodStateChanged(bool editorVis if (parentItem()) parentItem()->setFlag(QQuickItem::ItemAcceptsInputMethod, editorVisible && !passwordInput); - if (qApp->inputMethod()->isVisible() != editorVisible || m_isPasswordInput != passwordInput) { - qApp->inputMethod()->update(Qt::ImQueryInput | Qt::ImEnabled | Qt::ImHints); + qApp->inputMethod()->update(Qt::ImQueryInput | Qt::ImEnabled | Qt::ImHints); + if (qApp->inputMethod()->isVisible() != editorVisible) qApp->inputMethod()->setVisible(editorVisible); - m_isPasswordInput = passwordInput; - } } bool RenderWidgetHostViewQtDelegateQuick::event(QEvent *event) |