From f9cbc778a336d3a891d67914d289841222fb679b Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Thu, 6 Aug 2009 19:19:49 +0200 Subject: Implement dispose --- src/empathy-account-assistant.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/empathy-account-assistant.c') diff --git a/src/empathy-account-assistant.c b/src/empathy-account-assistant.c index dc83330a0..5bcd602e7 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 * @@ -624,6 +626,26 @@ do_constructed (GObject *object) gtk_window_set_type_hint (GTK_WINDOW (object), GDK_WINDOW_TYPE_HINT_DIALOG); } +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) { @@ -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", -- cgit v1.2.3