aboutsummaryrefslogtreecommitdiffstats
path: root/shell/e-activity-handler.c
diff options
context:
space:
mode:
Diffstat (limited to 'shell/e-activity-handler.c')
-rw-r--r--shell/e-activity-handler.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/shell/e-activity-handler.c b/shell/e-activity-handler.c
index e0002af2df..aab5216e69 100644
--- a/shell/e-activity-handler.c
+++ b/shell/e-activity-handler.c
@@ -327,7 +327,7 @@ task_bar_destroy_callback (GtkObject *task_bar_object,
/* GObject methods. */
static void
-impl_finalize (GObject *object)
+impl_dispose (GObject *object)
{
EActivityHandler *handler;
EActivityHandlerPrivate *priv;
@@ -343,8 +343,22 @@ impl_finalize (GObject *object)
activity_info_free (info);
}
+ g_list_free (priv->activity_infos);
+ priv->activity_infos = NULL;
+
+ (* G_OBJECT_CLASS (parent_class)->dispose) (object);
+}
+
+static void
+impl_finalize (GObject *object)
+{
+ EActivityHandler *handler;
+ EActivityHandlerPrivate *priv;
+
+ handler = E_ACTIVITY_HANDLER (object);
+ priv = handler->priv;
+
g_free (priv);
- handler->priv = NULL;
(* G_OBJECT_CLASS (parent_class)->finalize) (object);
}
@@ -516,6 +530,7 @@ class_init (GObjectClass *object_class)
parent_class = gtk_type_class (PARENT_TYPE);
+ object_class->dispose = impl_dispose;
object_class->finalize = impl_finalize;
handler_class = E_ACTIVITY_HANDLER_CLASS (object_class);