From: Matthias Clasen Date: Fri, 18 Nov 2022 04:52:35 +0000 (-0500) Subject: stringsorter: Fix one case of collation handling X-Git-Tag: archive/raspbian/4.12.3+ds-1+rpi1~1^2^2^2~22^2~9^2~92^2 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=9cbfbbdf39f002aa483e18abde0a762839202aa0;p=gtk4.git stringsorter: Fix one case of collation handling When not ignoring case, and not collating, we were returning sort keys that were already freed. Oops. Pointed out by clang. --- diff --git a/gtk/gtkstringsorter.c b/gtk/gtkstringsorter.c index 507adca17c..ed2a0ac34c 100644 --- a/gtk/gtkstringsorter.c +++ b/gtk/gtkstringsorter.c @@ -86,14 +86,20 @@ gtk_string_sorter_get_key (GtkExpression *expression, switch (collation) { case GTK_COLLATION_NONE: - key = s; + if (ignore_case) + key = g_steal_pointer (&s); + else + key = g_strdup (s); break; + case GTK_COLLATION_UNICODE: key = g_utf8_collate_key (s, -1); break; + case GTK_COLLATION_FILENAME: key = g_utf8_collate_key_for_filename (s, -1); break; + default: g_assert_not_reached (); break;