gnome-shell/0001-inputMethod-Clear-preeditStr-before-reset.patch

51 lines
1.4 KiB
Diff

From 380d2db1d9047ecffcef7d78f00184963b403efc Mon Sep 17 00:00:00 2001
From: Christian Hergert <chergert@redhat.com>
Date: Wed, 29 Sep 2021 12:46:45 -0700
Subject: [PATCH] inputMethod: Clear preeditStr before reset
Previously, these were performed in a different order before GNOME 41.
During some other changes they were swapped.
However, this causes both GTK 3 and GTK 4 applications to scroll to
incorrect positions from the preedit change.
Fixes #4647
Fixes GNOME/gtk#4289
Fixes GNOME/gnome-builder#1536
Fixes GNOME/gnome-builder#1531
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1993>
---
js/misc/inputMethod.js | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/js/misc/inputMethod.js b/js/misc/inputMethod.js
index 25b02e35b..1f9eaee7a 100644
--- a/js/misc/inputMethod.js
+++ b/js/misc/inputMethod.js
@@ -179,16 +179,16 @@ class InputMethod extends Clutter.InputMethod {
}
vfunc_reset() {
+ if (this._context) {
+ this._context.reset();
+ this._emitRequestSurrounding();
+ }
+
if (this._preeditStr !== null) {
// Unset any preedit text
this.set_preedit_text(null, 0, Clutter.PreeditResetMode.CLEAR);
this._preeditStr = null;
}
-
- if (this._context) {
- this._context.reset();
- this._emitRequestSurrounding();
- }
}
vfunc_set_cursor_location(rect) {
--
2.31.1