[frogr] Don't use g_clear_pointer() yet (since Glib 2.34)



commit 5e4921343a621c27e86dfdc89ee744cfc5601105
Author: Mario Sanchez Prada <msanchez gnome org>
Date:   Wed Dec 26 00:54:00 2012 +0100

    Don't use g_clear_pointer() yet (since Glib 2.34)
    
    We don't want to depend on GLIB >= 2.34 yet, just on 2.32.

 src/frogr-file-loader.c |    2 +-
 src/frogr-group.c       |    4 ++--
 src/frogr-model.c       |   37 +++++++++++++++++++++++++++++--------
 src/frogr-photoset.c    |   10 +++++-----
 src/frogr-picture.c     |   20 +++++++++++---------
 5 files changed, 48 insertions(+), 25 deletions(-)
---
diff --git a/src/frogr-file-loader.c b/src/frogr-file-loader.c
index de7a3f6..8241faa 100644
--- a/src/frogr-file-loader.c
+++ b/src/frogr-file-loader.c
@@ -773,7 +773,7 @@ _frogr_file_loader_finalize (GObject* object)
 
   /* Free */
   g_slist_foreach (priv->file_uris, (GFunc)g_free, NULL);
-  g_clear_pointer (&priv->file_uris, g_slist_free);
+  g_slist_free (priv->file_uris);
 
   G_OBJECT_CLASS (frogr_file_loader_parent_class)->finalize(object);
 }
diff --git a/src/frogr-group.c b/src/frogr-group.c
index 97dc40e..64bef5b 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_clear_pointer (&priv->id, g_free);
-  g_clear_pointer (&priv->name, g_free);
+  g_free (priv->id);
+  g_free (priv->name);
 
   /* 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 91705ae..891a81a 100644
--- a/src/frogr-model.c
+++ b/src/frogr-model.c
@@ -153,7 +153,8 @@ _remove_pictures (FrogrModel *self)
       g_object_unref (picture);
     }
 
-  g_clear_pointer (&priv->pictures, g_slist_free);
+  g_slist_free (priv->pictures);
+  priv->pictures = NULL;
 
   g_signal_emit (self, signals[MODEL_CHANGED], 0);
 }
@@ -166,7 +167,11 @@ _remove_all_photosets (FrogrModel *self)
   g_return_if_fail(FROGR_IS_MODEL (self));
 
   priv = FROGR_MODEL_GET_PRIVATE (self);
-  g_clear_pointer (&priv->all_sets, g_slist_free);
+  if (priv->all_sets)
+    {
+      g_slist_free (priv->all_sets);
+      priv->all_sets = NULL;
+    }
 
   _remove_remote_photosets (self);
   _remove_local_photosets (self);
@@ -186,7 +191,8 @@ _remove_groups (FrogrModel *self)
   if (priv->groups)
     {
       g_slist_foreach (priv->groups, (GFunc)g_object_unref, NULL);
-      g_clear_pointer (&priv->groups, g_slist_free);
+      g_slist_free (priv->groups);
+      priv->groups = NULL;
     }
 
   if (priv->groups_table)
@@ -205,7 +211,8 @@ _remove_remote_tags (FrogrModel *self)
     return;
 
   g_slist_foreach (priv->remote_tags, (GFunc)g_free, NULL);
-  g_clear_pointer (&priv->remote_tags, g_slist_free);
+  g_slist_free (priv->remote_tags);
+  priv->remote_tags = NULL;
 }
 
 static void
@@ -220,7 +227,8 @@ _remove_local_tags (FrogrModel *self)
     return;
 
   g_slist_foreach (priv->local_tags, (GFunc)g_free, NULL);
-  g_clear_pointer (&priv->local_tags, g_slist_free);
+  g_slist_free (priv->local_tags);
+  priv->local_tags = NULL;
 }
 
 static void
@@ -231,7 +239,11 @@ _remove_all_tags (FrogrModel *self)
   g_return_if_fail(FROGR_IS_MODEL (self));
 
   priv = FROGR_MODEL_GET_PRIVATE (self);
-  g_clear_pointer (&priv->all_tags, g_slist_free);
+  if (priv->all_tags)
+    {
+      g_slist_free (priv->all_tags);
+      priv->all_tags = NULL;
+    }
 
   _remove_remote_tags (self);
   _remove_local_tags (self);
@@ -328,8 +340,17 @@ _frogr_model_dispose (GObject* object)
   _remove_groups (self);
   _remove_all_tags (self);
 
-  g_clear_pointer (&priv->sets_table, g_hash_table_destroy);
-  g_clear_pointer (&priv->groups_table, g_hash_table_destroy);
+  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_OBJECT_CLASS (frogr_model_parent_class)->dispose (object);
 }
diff --git a/src/frogr-photoset.c b/src/frogr-photoset.c
index ee10511..122a36a 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_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);
+  g_free (priv->title);
+  g_free (priv->description);
+  g_free (priv->id);
+  g_free (priv->local_id);
+  g_free (priv->primary_photo_id);
 
   /* 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 f70e87c..ffbb66f 100644
--- a/src/frogr-picture.c
+++ b/src/frogr-picture.c
@@ -560,13 +560,15 @@ _frogr_picture_dispose (GObject* object)
   if (priv->photosets)
     {
       g_slist_foreach (priv->photosets, (GFunc) g_object_unref, NULL);
-      g_clear_pointer (&priv->photosets, g_slist_free);
+      g_slist_free (priv->photosets);
+      priv->photosets = NULL;
     }
 
   if (priv->groups)
     {
       g_slist_foreach (priv->groups, (GFunc) g_object_unref, NULL);
-      g_clear_pointer (&priv->groups, g_slist_free);
+      g_slist_free (priv->groups);
+      priv->groups = NULL;
     }
 
   /* call super class */
@@ -579,16 +581,16 @@ _frogr_picture_finalize (GObject* object)
   FrogrPicturePrivate *priv = FROGR_PICTURE_GET_PRIVATE (object);
 
   /* free strings */
-  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);
+  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);
 
   /* free GSList of tags */
   g_slist_foreach (priv->tags_list, (GFunc) g_free, NULL);
-  g_clear_pointer (&priv->tags_list, g_slist_free);
+  g_slist_free (priv->tags_list);
 
   /* 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]