[glib] gthemedicon: Fallback to non-symbolic icons



commit 0a7d1084a5917815eef34cf9a0bc2d140fcaa190
Author: Olivier Brunel <jjk jjacky com>
Date:   Tue Oct 8 16:11:44 2013 +0200

    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 <jjk jjacky com>
    
    https://bugzilla.gnome.org/show_bug.cgi?id=710254

 gio/gthemedicon.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/gio/gthemedicon.c b/gio/gthemedicon.c
index 1c3d418..ba658fa 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
         {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]