[giggle] libgiggle: Use g_list_free_full() convenience function
- From: Javier JardÃn <jjardon src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [giggle] libgiggle: Use g_list_free_full() convenience function
- Date: Mon, 2 Jan 2012 03:06:27 +0000 (UTC)
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]