emblemedicon: add g_emblemed_icon_clear_emblems()
authorCosimo Cecchi <cosimoc@gnome.org>
Thu, 9 Dec 2010 17:16:17 +0000 (18:16 +0100)
committerCosimo Cecchi <cosimoc@gnome.org>
Wed, 15 Dec 2010 10:45:20 +0000 (11:45 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=637171

gio/gemblemedicon.c
gio/gemblemedicon.h

index 0364cba..331f35d 100644 (file)
@@ -160,6 +160,18 @@ g_emblemed_icon_get_emblems (GEmblemedIcon *emblemed)
   return emblemed->emblems;
 }
 
+void
+g_emblemed_icon_clear_emblems (GEmblemedIcon *emblemed)
+{
+  g_return_if_fail (G_IS_EMBLEMED_ICON (emblemed));
+
+  if (emblemed->emblems == NULL)
+    return;
+
+  g_list_free_full (emblemed->emblems, g_object_unref);
+  emblemed->emblems = NULL;
+}
+
 static gint
 g_emblem_comp (GEmblem *a,
                GEmblem *b)
index 7a5dc4d..7eb99f0 100644 (file)
@@ -56,6 +56,7 @@ GIcon *g_emblemed_icon_get_icon    (GEmblemedIcon *emblemed);
 GList *g_emblemed_icon_get_emblems (GEmblemedIcon *emblemed);
 void   g_emblemed_icon_add_emblem  (GEmblemedIcon *emblemed,
                                     GEmblem       *emblem);
+void   g_emblemed_icon_clear_emblems  (GEmblemedIcon *emblemed);
 
 G_END_DECLS