[empathy/mc5] Implement dispose



commit f9cbc778a336d3a891d67914d289841222fb679b
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Thu Aug 6 19:19:49 2009 +0200

    Implement dispose

 src/empathy-account-assistant.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)
---
diff --git a/src/empathy-account-assistant.c b/src/empathy-account-assistant.c
index dc83330..5bcd602 100644
--- a/src/empathy-account-assistant.c
+++ b/src/empathy-account-assistant.c
@@ -68,6 +68,8 @@ typedef struct {
   EmpathyAccountSettings *settings;
 
   GtkWindow *parent_window;
+
+  gboolean dispose_run;
 } EmpathyAccountAssistantPriv;
 
 static GtkWidget *
@@ -625,6 +627,26 @@ do_constructed (GObject *object)
 }
 
 static void
+do_dispose (GObject *obj)
+{
+  EmpathyAccountAssistantPriv *priv = GET_PRIV (obj);
+
+  if (priv->dispose_run)
+    return;
+
+  priv->dispose_run = TRUE;
+
+  if (priv->settings != NULL)
+    {
+      g_object_unref (priv->settings);
+      priv->settings = NULL;
+    }
+
+  if (G_OBJECT_CLASS (empathy_account_assistant_parent_class)->dispose != NULL)
+    G_OBJECT_CLASS (empathy_account_assistant_parent_class)->dispose (obj);
+}
+
+static void
 empathy_account_assistant_class_init (EmpathyAccountAssistantClass *klass)
 {
   GObjectClass *oclass = G_OBJECT_CLASS (klass);
@@ -633,6 +655,7 @@ empathy_account_assistant_class_init (EmpathyAccountAssistantClass *klass)
   oclass->get_property = do_get_property;
   oclass->set_property = do_set_property;
   oclass->constructed = do_constructed;
+  oclass->dispose = do_dispose;
 
   param_spec = g_param_spec_object ("parent-window",
       "parent-window", "The parent window",



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