From ef4dc0232afad7588c8c93c97fd71727fceacedb Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Tue, 5 Oct 2021 14:30:38 +0200 Subject: [PATCH] Backport upstream patch to fix scrolling to incorrect positions --- ...Method-Clear-preeditStr-before-reset.patch | 50 +++++++++++++++++++ gnome-shell.spec | 9 +++- 2 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 0001-inputMethod-Clear-preeditStr-before-reset.patch diff --git a/0001-inputMethod-Clear-preeditStr-before-reset.patch b/0001-inputMethod-Clear-preeditStr-before-reset.patch new file mode 100644 index 0000000..72b73bb --- /dev/null +++ b/0001-inputMethod-Clear-preeditStr-before-reset.patch @@ -0,0 +1,50 @@ +From 380d2db1d9047ecffcef7d78f00184963b403efc Mon Sep 17 00:00:00 2001 +From: Christian Hergert +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: +--- + 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 + diff --git a/gnome-shell.spec b/gnome-shell.spec index 77eedcd..636b761 100644 --- a/gnome-shell.spec +++ b/gnome-shell.spec @@ -2,7 +2,7 @@ Name: gnome-shell Version: 41.0 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Window management and application launching for GNOME License: GPLv2+ @@ -12,6 +12,10 @@ Source0: http://download.gnome.org/sources/gnome-shell/41/%{name}-%{tarball_vers # Replace Epiphany with Firefox in the default favourite apps list Patch1: gnome-shell-favourite-apps-firefox.patch +# Backported from upstream +# https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1993 +Patch2: 0001-inputMethod-Clear-preeditStr-before-reset.patch + # Some users might have a broken PAM config, so we really need this # downstream patch to stop trying on configuration errors. Patch10005: 0001-gdm-Work-around-failing-fingerprint-auth.patch @@ -230,6 +234,9 @@ desktop-file-validate %{buildroot}%{_datadir}/applications/evolution-calendar.de %{_mandir}/man1/gnome-shell.1* %changelog +* Tue Oct 05 2021 Kalev Lember - 41.0-2 +- Backport upstream patch to fix scrolling to incorrect positions + * Sun Sep 19 2021 Florian Müllner - 41.0-1 - Update to 41.0