diff options
Diffstat (limited to 'src/virtualkeyboard/platforminputcontext.cpp')
-rw-r--r-- | src/virtualkeyboard/platforminputcontext.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/virtualkeyboard/platforminputcontext.cpp b/src/virtualkeyboard/platforminputcontext.cpp index da0d23b2..d876fbea 100644 --- a/src/virtualkeyboard/platforminputcontext.cpp +++ b/src/virtualkeyboard/platforminputcontext.cpp @@ -88,17 +88,19 @@ void PlatformInputContext::commit() void PlatformInputContext::update(Qt::InputMethodQueries queries) { VIRTUALKEYBOARD_DEBUG() << "PlatformInputContext::update():" << queries; - if (m_inputContext) { - bool enabled = inputMethodQuery(Qt::ImEnabled).toBool(); - if (enabled) { + bool enabled = inputMethodQuery(Qt::ImEnabled).toBool(); #ifdef QT_VIRTUALKEYBOARD_DESKTOP - if (!m_inputPanel) { - m_inputPanel = new DesktopInputPanel(this); - m_inputPanel->createView(); - m_selectionControl = new DesktopInputSelectionControl(this, m_inputContext); - m_selectionControl->createHandles(); - } + if (enabled && !m_inputPanel) { + m_inputPanel = new DesktopInputPanel(this); + m_inputPanel->createView(); + if (m_inputContext) { + m_selectionControl = new DesktopInputSelectionControl(this, m_inputContext); + m_selectionControl->createHandles(); + } + } #endif + if (m_inputContext) { + if (enabled) { m_inputContext->priv()->update(queries); if (m_visible) updateInputPanelVisible(); |