[glib: 3/8] gio: do not add an icon name already in the list.



commit 5fb6d788a51466a884d36a607c7cf7716b5dccc7
Author: Jehan <jehan girinstud io>
Date:   Thu Jun 7 16:16:02 2018 +0200

    gio: do not add an icon name already in the list.
    
    This may happen when creating an icon with several icon name whereas one
    is already a variant of a previous one.

 gio/gthemedicon.c | 6 ++++++
 1 file changed, 6 insertions(+)
---
diff --git a/gio/gthemedicon.c b/gio/gthemedicon.c
index da371b22d..9c0ff9e3e 100644
--- a/gio/gthemedicon.c
+++ b/gio/gthemedicon.c
@@ -156,6 +156,12 @@ g_themed_icon_constructed (GObject *object)
       gchar    *name;
       gboolean  is_symbolic;
 
+      if (g_list_find_custom (names, themed->names[i], (GCompareFunc) g_strcmp0) ||
+          g_list_find_custom (variants, themed->names[i], (GCompareFunc) g_strcmp0))
+        /* The icon name was already added and is higher in priority.
+         * There is no need to re-add it. */
+        continue;
+
       is_symbolic = g_str_has_suffix (themed->names[i], "-symbolic");
       if (is_symbolic)
         {


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