Hello community, here is the log from the commit of package irssi for openSUSE:Factory checked in at 2020-04-28 22:33:30 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/irssi (Old) and /work/SRC/openSUSE:Factory/.irssi.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "irssi" Tue Apr 28 22:33:30 2020 rev:57 rq:798724 version:1.2.2 Changes: -------- --- /work/SRC/openSUSE:Factory/irssi/irssi.changes 2019-08-30 14:41:52.993418009 +0200 +++ /work/SRC/openSUSE:Factory/.irssi.new.2738/irssi.changes 2020-04-28 22:33:57.769932033 +0200 @@ -1,0 +2,7 @@ +Tue Apr 28 16:33:09 UTC 2020 - Ailin Nemui <[email protected]> + +- added glib-2-63.patch: + - Backport a fix that froze Irssi on GLib >2.62 when typing + Ctrl+Space (#1180, #1183) + +------------------------------------------------------------------- New: ---- glib-2-63.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ irssi.spec ++++++ --- /var/tmp/diff_new_pack.neljAJ/_old 2020-04-28 22:33:58.817933987 +0200 +++ /var/tmp/diff_new_pack.neljAJ/_new 2020-04-28 22:33:58.817933987 +0200 @@ -31,6 +31,7 @@ # https://sks-keyservers.net/pks/lookup?op=get&search=0x00CCB587DDBEF0E1 Source4: %{name}.keyring Source99: irssi-rpmlintrc +Patch0: https://github.com/ailin-nemui/irssi/commit/glib-2-63.patch # PATCH-FIX-OPENSUSE irssi-0.8.16_missing_prototype_warnings.patch Patch1: irssi-0.8.16_missing_prototype_warnings.patch BuildRequires: glib2-devel @@ -78,6 +79,7 @@ %prep %setup -q +%patch0 -p1 %patch1 %build ++++++ glib-2-63.patch ++++++ >From a0544571a80196e5b7705f56e6e2cbcdf7b4d80e Mon Sep 17 00:00:00 2001 From: ailin-nemui <[email protected]> Date: Thu, 23 Apr 2020 21:45:15 +0200 Subject: [PATCH] manually handle NUL unicode in g_utf8_get_next_char_validated A change in GLib 2.63 broke some assumptions in Irssi that the null-byte NUL / U+0000 is a valid Unicode character. This would occur when the user types Ctrl+Space. As a result, the input loop never manages to process the NUL-byte (and any other user input that follows, ever). This patch adds a manual check that properly advances the input loop if GLib returns -2 (incomplete character) despite the length being positive and a NUL is in first position. Fixes #1180 https://gitlab.gnome.org/GNOME/glib/-/merge_requests/967 https://gitlab.gnome.org/GNOME/glib/-/issues/2093 --- src/fe-text/term-terminfo.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/fe-text/term-terminfo.c b/src/fe-text/term-terminfo.c index 5235f72d2..78496a64f 100644 --- a/src/fe-text/term-terminfo.c +++ b/src/fe-text/term-terminfo.c @@ -672,7 +672,11 @@ void term_stop(void) static int input_utf8(const unsigned char *buffer, int size, unichar *result) { - unichar c = g_utf8_get_char_validated((char *)buffer, size); + unichar c = g_utf8_get_char_validated((char *) buffer, size); + + /* GLib >= 2.63 do not accept Unicode NUL anymore */ + if (c == (unichar) -2 && *buffer == 0 && size > 0) + c = 0; switch (c) { case (unichar)-1:
