From 59891d167aeb8dd73abcafe1a1c96f4cf22ea583 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Fri, 3 Apr 2020 18:59:31 +0200 Subject: Backport upstream fixes for an imwayland crash --- ...lamp-the-surrounding-string-end-correctly.patch | 34 ++++++++++++++++++++++ gtk3.spec | 7 ++++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 0001-imwayland-Clamp-the-surrounding-string-end-correctly.patch diff --git a/0001-imwayland-Clamp-the-surrounding-string-end-correctly.patch b/0001-imwayland-Clamp-the-surrounding-string-end-correctly.patch new file mode 100644 index 0000000..0ccb5c7 --- /dev/null +++ b/0001-imwayland-Clamp-the-surrounding-string-end-correctly.patch @@ -0,0 +1,34 @@ +From d7fb15c822eabe22ffda19892153d69b0f4fc2f3 Mon Sep 17 00:00:00 2001 +From: Carlos Garnacho +Date: Fri, 3 Apr 2020 12:44:37 +0200 +Subject: [PATCH] imwayland: Clamp the surrounding string end correctly + +In the paths where len > MAX_LEN and cursor/anchor are separated by +at least MAX_LEN from text edges, we were clamping the right end of +the surrounding string at MAX_LEN. Oops. + +This end anchor may go as far as the string length, although just +up to len - MAX_LEN in real terms (due to the condition above that +caches cursor/anchor positions being near enough the text end). + +Closes: https://gitlab.gnome.org/GNOME/gtk/-/issues/2565 +--- + modules/input/imwayland.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/modules/input/imwayland.c b/modules/input/imwayland.c +index 8f697bec1b..12d18a0f64 100644 +--- a/modules/input/imwayland.c ++++ b/modules/input/imwayland.c +@@ -322,7 +322,7 @@ notify_surrounding_text (GtkIMContextWayland *context) + mid = MIN (context->surrounding.cursor_idx, + context->surrounding.anchor_idx) + (cursor_len / 2); + a = MAX (0, mid - (MAX_LEN / 2)); +- b = MIN (MAX_LEN, mid + (MAX_LEN / 2)); ++ b = MIN (len, mid + (MAX_LEN / 2)); + + start = &context->surrounding.text[a]; + end = &context->surrounding.text[b]; +-- +2.25.2 + diff --git a/gtk3.spec b/gtk3.spec index c79abf0..251f059 100644 --- a/gtk3.spec +++ b/gtk3.spec @@ -25,13 +25,15 @@ Name: gtk3 Version: 3.24.16 -Release: 1%{?dist} +Release: 2%{?dist} Summary: GTK+ graphical user interface library License: LGPLv2+ URL: http://www.gtk.org Source0: http://download.gnome.org/sources/gtk+/3.24/gtk+-%{version}.tar.xz +Patch1: 0001-imwayland-Clamp-the-surrounding-string-end-correctly.patch + BuildRequires: pkgconfig(atk) >= %{atk_version} BuildRequires: pkgconfig(atk-bridge-2.0) BuildRequires: pkgconfig(glib-2.0) >= %{glib2_version} @@ -326,6 +328,9 @@ gtk-query-immodules-3.0-%{__isa_bits} --update-cache &>/dev/null || : %{_datadir}/installed-tests/ %changelog +* Fri Apr 03 2020 Kalev Lember - 3.24.16-2 +- Backport upstream fixes for an imwayland crash + * Fri Mar 27 2020 Kalev Lember - 3.24.16-1 - Update to 3.24.16 -- cgit