[gnome-control-center] online-accounts: Small cleanup about resource releasing



commit 397181e5d22040d8dc6593c234aae58d503b6921
Author: Emanuele Aina <emanuele aina collabora com>
Date:   Thu Mar 14 19:48:53 2013 +0100

    online-accounts: Small cleanup about resource releasing
    
    Use g_clear_object() as a NULL-safe g_object_unref() and
    g_list_free_full() instead of explicitly iterating the list contents.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=695877

 .../cc-online-accounts-add-account-dialog.c        |    3 +--
 panels/online-accounts/cc-online-accounts-panel.c  |   15 +++++----------
 2 files changed, 6 insertions(+), 12 deletions(-)
---
diff --git a/panels/online-accounts/cc-online-accounts-add-account-dialog.c 
b/panels/online-accounts/cc-online-accounts-add-account-dialog.c
index c278bc5..5c2e9c8 100644
--- a/panels/online-accounts/cc-online-accounts-add-account-dialog.c
+++ b/panels/online-accounts/cc-online-accounts-add-account-dialog.c
@@ -250,8 +250,7 @@ goa_panel_add_account_dialog_finalize (GObject *object)
   GoaPanelAddAccountDialog *add_account = GOA_PANEL_ADD_ACCOUNT_DIALOG (object);
   GoaPanelAddAccountDialogPrivate *priv = add_account->priv;
 
-  if (priv->error != NULL)
-    g_error_free (priv->error);
+  g_clear_error (&priv->error);
 
   G_OBJECT_CLASS (goa_panel_add_account_dialog_parent_class)->finalize (object);
 }
diff --git a/panels/online-accounts/cc-online-accounts-panel.c 
b/panels/online-accounts/cc-online-accounts-panel.c
index 5d569a6..3afb808 100644
--- a/panels/online-accounts/cc-online-accounts-panel.c
+++ b/panels/online-accounts/cc-online-accounts-panel.c
@@ -122,12 +122,9 @@ cc_goa_panel_finalize (GObject *object)
 {
   CcGoaPanel *panel = CC_GOA_PANEL (object);
 
-  if (panel->accounts_model != NULL)
-    g_clear_object (&panel->accounts_model);
-
-  if (panel->client != NULL)
-    g_object_unref (panel->client);
-  g_object_unref (panel->builder);
+  g_clear_object (&panel->accounts_model);
+  g_clear_object (&panel->client);
+  g_clear_object (&panel->builder);
 
   G_OBJECT_CLASS (cc_goa_panel_parent_class)->finalize (object);
 }
@@ -476,8 +473,7 @@ show_page_account (CcGoaPanel  *panel,
 
   gtk_widget_show_all (panel->accounts_vbox);
 
-  if (provider != NULL)
-    g_object_unref (provider);
+  g_clear_object (&provider);
 }
 
 /* ---------------------------------------------------------------------------------------------------- */
@@ -693,8 +689,7 @@ add_account (CcGoaPanel *panel)
     }
 
  out:
-  g_list_foreach (providers, (GFunc) g_object_unref, NULL);
-  g_list_free (providers);
+  g_list_free_full (providers, g_object_unref);
 }
 
 /* ---------------------------------------------------------------------------------------------------- */


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