aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/quick/items/qquicktextinput.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp
index 419ac4a2bb..8d33b68413 100644
--- a/src/quick/items/qquicktextinput.cpp
+++ b/src/quick/items/qquicktextinput.cpp
@@ -3503,11 +3503,10 @@ void QQuickTextInputPrivate::processInputMethodEvent(QInputMethodEvent *event)
m_textLayout.setFormats(formats);
updateDisplayText(/*force*/ true);
- if ((cursorPositionChanged && !emitCursorPositionChanged())
- || m_preeditCursor != oldPreeditCursor
- || isGettingInput) {
+ if (cursorPositionChanged && emitCursorPositionChanged())
+ q->updateInputMethod(Qt::ImCursorPosition | Qt::ImAnchorPosition);
+ else if (m_preeditCursor != oldPreeditCursor || isGettingInput)
q->updateCursorRectangle();
- }
if (isGettingInput)
finishChange(priorState);