[frogr] Use g_clear_pointer() and g_clear_object()



commit c7ae9723535db9515695b63adeb74698dd2b2e8e
Author: Mario Sanchez Prada <msanchez gnome org>
Date:   Sat Dec 22 19:14:31 2012 +0100

    Use g_clear_pointer() and g_clear_object()

 src/frogr-controller.c  |   34 +++++-----------------------------
 src/frogr-file-loader.c |   15 +++------------
 src/frogr-group.c       |    4 ++--
 src/frogr-model.c       |   37 ++++++++-----------------------------
 src/frogr-photoset.c    |   10 +++++-----
 src/frogr-picture.c     |   33 +++++++++++----------------------
 6 files changed, 34 insertions(+), 99 deletions(-)
---
diff --git a/src/frogr-controller.c b/src/frogr-controller.c
index 689e786..4b9d02f 100644
--- a/src/frogr-controller.c
+++ b/src/frogr-controller.c
@@ -2326,35 +2326,11 @@ _frogr_controller_dispose (GObject* object)
 {
   FrogrControllerPrivate *priv = FROGR_CONTROLLER_GET_PRIVATE (object);
 
-  if (priv->mainview)
-    {
-      g_object_unref (priv->mainview);
-      priv->mainview = NULL;
-    }
-
-  if (priv->config)
-    {
-      g_object_unref (priv->config);
-      priv->config = NULL;
-    }
-
-  if (priv->account)
-    {
-      g_object_unref (priv->account);
-      priv->account = NULL;
-    }
-
-  if (priv->session)
-    {
-      g_object_unref (priv->session);
-      priv->session = NULL;
-    }
-
-  if (priv->cancellable)
-    {
-      g_object_unref (priv->cancellable);
-      priv->cancellable = NULL;
-    }
+  g_clear_object (&priv->mainview);
+  g_clear_object (&priv->config);
+  g_clear_object (&priv->account);
+  g_clear_object (&priv->session);
+  g_clear_object (&priv->cancellable);
 
   G_OBJECT_CLASS (frogr_controller_parent_class)->dispose (object);
 }
diff --git a/src/frogr-file-loader.c b/src/frogr-file-loader.c
index 4f94b04..de7a3f6 100644
--- a/src/frogr-file-loader.c
+++ b/src/frogr-file-loader.c
@@ -759,17 +759,8 @@ _frogr_file_loader_dispose (GObject* object)
   FrogrFileLoaderPrivate *priv =
     FROGR_FILE_LOADER_GET_PRIVATE (object);
 
-  if (priv->mainview)
-    {
-      g_object_unref (priv->mainview);
-      priv->mainview = NULL;
-    }
-
-  if (priv->controller)
-    {
-      g_object_unref (priv->controller);
-      priv->controller = NULL;
-    }
+  g_clear_object (&priv->mainview);
+  g_clear_object (&priv->controller);
 
   G_OBJECT_CLASS (frogr_file_loader_parent_class)->dispose(object);
 }
@@ -782,7 +773,7 @@ _frogr_file_loader_finalize (GObject* object)
 
   /* Free */
   g_slist_foreach (priv->file_uris, (GFunc)g_free, NULL);
-  g_slist_free (priv->file_uris);
+  g_clear_pointer (&priv->file_uris, g_slist_free);
 
   G_OBJECT_CLASS (frogr_file_loader_parent_class)->finalize(object);
 }
diff --git a/src/frogr-group.c b/src/frogr-group.c
index 64bef5b..97dc40e 100644
--- a/src/frogr-group.c
+++ b/src/frogr-group.c
@@ -113,8 +113,8 @@ _frogr_group_finalize (GObject* object)
   FrogrGroupPrivate *priv = FROGR_GROUP_GET_PRIVATE (object);
 
   /* free strings */
-  g_free (priv->id);
-  g_free (priv->name);
+  g_clear_pointer (&priv->id, g_free);
+  g_clear_pointer (&priv->name, g_free);
 
   /* call super class */
   G_OBJECT_CLASS (frogr_group_parent_class)->finalize(object);
diff --git a/src/frogr-model.c b/src/frogr-model.c
index 891a81a..91705ae 100644
--- a/src/frogr-model.c
+++ b/src/frogr-model.c
@@ -153,8 +153,7 @@ _remove_pictures (FrogrModel *self)
       g_object_unref (picture);
     }
 
-  g_slist_free (priv->pictures);
-  priv->pictures = NULL;
+  g_clear_pointer (&priv->pictures, g_slist_free);
 
   g_signal_emit (self, signals[MODEL_CHANGED], 0);
 }
@@ -167,11 +166,7 @@ _remove_all_photosets (FrogrModel *self)
   g_return_if_fail(FROGR_IS_MODEL (self));
 
   priv = FROGR_MODEL_GET_PRIVATE (self);
-  if (priv->all_sets)
-    {
-      g_slist_free (priv->all_sets);
-      priv->all_sets = NULL;
-    }
+  g_clear_pointer (&priv->all_sets, g_slist_free);
 
   _remove_remote_photosets (self);
   _remove_local_photosets (self);
@@ -191,8 +186,7 @@ _remove_groups (FrogrModel *self)
   if (priv->groups)
     {
       g_slist_foreach (priv->groups, (GFunc)g_object_unref, NULL);
-      g_slist_free (priv->groups);
-      priv->groups = NULL;
+      g_clear_pointer (&priv->groups, g_slist_free);
     }
 
   if (priv->groups_table)
@@ -211,8 +205,7 @@ _remove_remote_tags (FrogrModel *self)
     return;
 
   g_slist_foreach (priv->remote_tags, (GFunc)g_free, NULL);
-  g_slist_free (priv->remote_tags);
-  priv->remote_tags = NULL;
+  g_clear_pointer (&priv->remote_tags, g_slist_free);
 }
 
 static void
@@ -227,8 +220,7 @@ _remove_local_tags (FrogrModel *self)
     return;
 
   g_slist_foreach (priv->local_tags, (GFunc)g_free, NULL);
-  g_slist_free (priv->local_tags);
-  priv->local_tags = NULL;
+  g_clear_pointer (&priv->local_tags, g_slist_free);
 }
 
 static void
@@ -239,11 +231,7 @@ _remove_all_tags (FrogrModel *self)
   g_return_if_fail(FROGR_IS_MODEL (self));
 
   priv = FROGR_MODEL_GET_PRIVATE (self);
-  if (priv->all_tags)
-    {
-      g_slist_free (priv->all_tags);
-      priv->all_tags = NULL;
-    }
+  g_clear_pointer (&priv->all_tags, g_slist_free);
 
   _remove_remote_tags (self);
   _remove_local_tags (self);
@@ -340,17 +328,8 @@ _frogr_model_dispose (GObject* object)
   _remove_groups (self);
   _remove_all_tags (self);
 
-  if (priv->sets_table)
-    {
-      g_hash_table_destroy (priv->sets_table);
-      priv->sets_table = NULL;
-    }
-
-  if (priv->groups_table)
-    {
-      g_hash_table_destroy (priv->groups_table);
-      priv->groups_table = NULL;
-    }
+  g_clear_pointer (&priv->sets_table, g_hash_table_destroy);
+  g_clear_pointer (&priv->groups_table, g_hash_table_destroy);
 
   G_OBJECT_CLASS (frogr_model_parent_class)->dispose (object);
 }
diff --git a/src/frogr-photoset.c b/src/frogr-photoset.c
index 122a36a..ee10511 100644
--- a/src/frogr-photoset.c
+++ b/src/frogr-photoset.c
@@ -191,11 +191,11 @@ _frogr_photoset_finalize (GObject* object)
   FrogrPhotoSetPrivate *priv = FROGR_PHOTOSET_GET_PRIVATE (object);
 
   /* free strings */
-  g_free (priv->title);
-  g_free (priv->description);
-  g_free (priv->id);
-  g_free (priv->local_id);
-  g_free (priv->primary_photo_id);
+  g_clear_pointer (&priv->title, g_free);
+  g_clear_pointer (&priv->description, g_free);
+  g_clear_pointer (&priv->id, g_free);
+  g_clear_pointer (&priv->local_id, g_free);
+  g_clear_pointer (&priv->primary_photo_id, g_free);
 
   /* call super class */
   G_OBJECT_CLASS (frogr_photoset_parent_class)->finalize(object);
diff --git a/src/frogr-picture.c b/src/frogr-picture.c
index d3b91df..f70e87c 100644
--- a/src/frogr-picture.c
+++ b/src/frogr-picture.c
@@ -554,30 +554,19 @@ _frogr_picture_dispose (GObject* object)
 {
   FrogrPicturePrivate *priv = FROGR_PICTURE_GET_PRIVATE (object);
 
-  if (priv->pixbuf)
-    {
-      g_object_unref (priv->pixbuf);
-      priv->pixbuf = NULL;
-    }
-
-  if (priv->location)
-    {
-      g_object_unref (priv->location);
-      priv->location = NULL;
-    }
+  g_clear_object (&priv->pixbuf);
+  g_clear_object (&priv->location);
 
   if (priv->photosets)
     {
       g_slist_foreach (priv->photosets, (GFunc) g_object_unref, NULL);
-      g_slist_free (priv->photosets);
-      priv->photosets = NULL;
+      g_clear_pointer (&priv->photosets, g_slist_free);
     }
 
   if (priv->groups)
     {
       g_slist_foreach (priv->groups, (GFunc) g_object_unref, NULL);
-      g_slist_free (priv->groups);
-      priv->groups = NULL;
+      g_clear_pointer (&priv->groups, g_slist_free);
     }
 
   /* call super class */
@@ -590,16 +579,16 @@ _frogr_picture_finalize (GObject* object)
   FrogrPicturePrivate *priv = FROGR_PICTURE_GET_PRIVATE (object);
 
   /* free strings */
-  g_free (priv->id);
-  g_free (priv->fileuri);
-  g_free (priv->title);
-  g_free (priv->description);
-  g_free (priv->tags_string);
-  g_free (priv->datetime);
+  g_clear_pointer (&priv->id, g_free);
+  g_clear_pointer (&priv->fileuri, g_free);
+  g_clear_pointer (&priv->title, g_free);
+  g_clear_pointer (&priv->description, g_free);
+  g_clear_pointer (&priv->tags_string, g_free);
+  g_clear_pointer (&priv->datetime, g_free);
 
   /* free GSList of tags */
   g_slist_foreach (priv->tags_list, (GFunc) g_free, NULL);
-  g_slist_free (priv->tags_list);
+  g_clear_pointer (&priv->tags_list, g_slist_free);
 
   /* call super class */
   G_OBJECT_CLASS (frogr_picture_parent_class)->finalize(object);



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