From 0a7d1084a5917815eef34cf9a0bc2d140fcaa190 Mon Sep 17 00:00:00 2001 From: Olivier Brunel Date: Tue, 8 Oct 2013 16:11:44 +0200 Subject: [PATCH] gthemedicon: Fallback to non-symbolic icons When doing fallback for symbolic icons, we first shorten the name at dashes while preserving the -symbolic suffix. But after exhausting that, we should also try stripping the suffix. See https://bugzilla.gnome.org/show_bug.cgi?id=708163 Signed-off-by: Olivier Brunel https://bugzilla.gnome.org/show_bug.cgi?id=710254 --- gio/gthemedicon.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/gio/gthemedicon.c b/gio/gthemedicon.c index 1c3d41814..ba658fabc 100644 --- a/gio/gthemedicon.c +++ b/gio/gthemedicon.c @@ -187,12 +187,15 @@ g_themed_icon_constructed (GObject *object) if (is_symbolic) { - themed->names = g_new (char *, dashes + 1 + 1); + themed->names = g_new (char *, 2 * dashes + 3); for (i = 0; names[i] != NULL; i++) - themed->names[i] = g_strconcat (names[i], "-symbolic", NULL); + { + themed->names[i] = g_strconcat (names[i], "-symbolic", NULL); + themed->names[dashes + 1 + i] = names[i]; + } - themed->names[i] = NULL; - g_strfreev (names); + themed->names[dashes + 1 + i] = NULL; + g_free (names); } else {