aboutsummaryrefslogtreecommitdiffstats
path: root/lib/egg/egg-menu-merge.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/egg/egg-menu-merge.c')
-rw-r--r--lib/egg/egg-menu-merge.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/lib/egg/egg-menu-merge.c b/lib/egg/egg-menu-merge.c
index 733cec47b..71c7fb8e0 100644
--- a/lib/egg/egg-menu-merge.c
+++ b/lib/egg/egg-menu-merge.c
@@ -72,9 +72,30 @@ egg_menu_merge_get_type (void)
return type;
}
+static GObjectClass *parent_class = NULL;
+
+static void
+egg_menu_merge_finalize (GObject *object)
+{
+ EggMenuMerge *merge;
+
+ merge = EGG_MENU_MERGE (object);
+ if (merge->update_tag != 0)
+ {
+ g_source_remove(merge->update_tag);
+ }
+}
+
static void
egg_menu_merge_class_init (EggMenuMergeClass *class)
{
+ GObjectClass *object_class;
+
+ parent_class = g_type_class_peek_parent (class);
+ object_class = G_OBJECT_CLASS(class);
+
+ object_class->finalize = egg_menu_merge_finalize;
+
if (!merge_node_chunk)
merge_node_chunk = g_mem_chunk_create(EggMenuMergeNode, 64,
G_ALLOC_AND_FREE);