[giggle] libgiggle: Use g_list_free_full() convenience function



commit af51127e0b35a2bf5280bbb0de1c13e916b42475
Author: Javier JardÃn <jjardon gnome org>
Date:   Mon Jan 2 03:43:23 2012 +0100

    libgiggle: Use g_list_free_full() convenience function

 libgiggle/giggle-remote.c   |    4 ++--
 libgiggle/giggle-revision.c |   28 ++++++++++++++++------------
 2 files changed, 18 insertions(+), 14 deletions(-)
---
diff --git a/libgiggle/giggle-remote.c b/libgiggle/giggle-remote.c
index c45294e..383744b 100644
--- a/libgiggle/giggle-remote.c
+++ b/libgiggle/giggle-remote.c
@@ -352,9 +352,9 @@ giggle_remote_remove_branches (GiggleRemote *self)
 
 	priv = GET_PRIV (self);
 
-	g_list_foreach (priv->branches, (GFunc)g_object_unref, NULL);
-	g_list_free (priv->branches);
+	g_list_free_full (priv->branches, g_object_unref);
 	priv->branches = NULL;
+
 	g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_BRANCHES]);
 }
 
diff --git a/libgiggle/giggle-revision.c b/libgiggle/giggle-revision.c
index 91c514f..26366b4 100644
--- a/libgiggle/giggle-revision.c
+++ b/libgiggle/giggle-revision.c
@@ -130,6 +130,22 @@ revision_get_property (GObject    *object,
 }
 
 static void
+revision_dispose (GObject *object)
+{
+	GiggleRevision *revision = GIGGLE_REVISON (object);
+	GiggleRevisionPriv *priv = revision->priv;
+
+	g_clear_object (&priv->author);
+	g_clear_object (&priv->committer);
+
+	g_list_free_full (priv->branch_heads, g_object_unref);
+	g_list_free_full (priv->tags, g_object_unref);
+	g_list_free_full (priv->remotes, g_object_unref);
+
+	G_OBJECT_CLASS (giggle_revision_parent_class)->dispose (object);
+}
+
+static void
 revision_finalize (GObject *object)
 {
 	GiggleRevisionPriv *priv;
@@ -139,23 +155,11 @@ revision_finalize (GObject *object)
 	g_free (priv->sha);
 	g_free (priv->short_log);
 
-	g_clear_object (&priv->author);
-	g_clear_object (&priv->committer);
 	if (priv->date)
 		g_free (priv->date);
 
 	g_list_free (priv->parents);
 	g_list_free (priv->children);
-
-	g_list_foreach (priv->branch_heads, (GFunc) g_object_unref, NULL);
-	g_list_free (priv->branch_heads);
-
-	g_list_foreach (priv->tags, (GFunc) g_object_unref, NULL);
-	g_list_free (priv->tags);
-
-	g_list_foreach (priv->remotes, (GFunc) g_object_unref, NULL);
-	g_list_free (priv->remotes);
-
 	g_list_free (priv->descendent_branches);
 
 	G_OBJECT_CLASS (giggle_revision_parent_class)->finalize (object);



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