summaryrefslogtreecommitdiffstats
path: root/src/widgets
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2023-04-19 13:23:10 +0200
committerLiang Qi <liang.qi@qt.io>2023-04-19 19:01:54 +0200
commit70f064f270fa5765f0f00b8eccb45fb7eb68cd9a (patch)
tree2e0806f7d2b323de32ca3a94f13b485d2a155b6e /src/widgets
parent8c0aafc2376bb003a3103b4f4446d972e83727d7 (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.cpp5
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();