diff options
author | Liang Qi <liang.qi@qt.io> | 2023-04-19 13:23:10 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2023-04-19 19:01:54 +0200 |
commit | 70f064f270fa5765f0f00b8eccb45fb7eb68cd9a (patch) | |
tree | 2e0806f7d2b323de32ca3a94f13b485d2a155b6e /src/widgets | |
parent | 8c0aafc2376bb003a3103b4f4446d972e83727d7 (diff) |
QWidgetTextControl: ignore invalid input method event
to avoid update the text document.
Fixes: QTBUG-112953
Pick-to: 6.5 6.2 5.15
Change-Id: Ib72de57133314e4eb38a15758b8318d901196d75
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
Reviewed-by: Artem Sokolovskii <artem.sokolovskii@qt.io>
Diffstat (limited to 'src/widgets')
-rw-r--r-- | src/widgets/widgets/qwidgettextcontrol.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/widgets/widgets/qwidgettextcontrol.cpp b/src/widgets/widgets/qwidgettextcontrol.cpp index a4679402dc..1204b48b50 100644 --- a/src/widgets/widgets/qwidgettextcontrol.cpp +++ b/src/widgets/widgets/qwidgettextcontrol.cpp @@ -2032,6 +2032,11 @@ void QWidgetTextControlPrivate::inputMethodEvent(QInputMethodEvent *e) || e->preeditString() != cursor.block().layout()->preeditAreaText() || e->replacementLength() > 0; + if (!isGettingInput && e->attributes().isEmpty()) { + e->ignore(); + return; + } + int oldCursorPos = cursor.position(); cursor.beginEditBlock(); |