From 70f064f270fa5765f0f00b8eccb45fb7eb68cd9a Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Wed, 19 Apr 2023 13:23:10 +0200 Subject: [PATCH] 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 Reviewed-by: Artem Sokolovskii --- src/widgets/widgets/qwidgettextcontrol.cpp | 5 +++++ 1 file changed, 5 insertions(+) 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();