From 87df5c2a8c41c2574f63131d97fee96615dc495c Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Mon, 28 Apr 2003 12:11:52 +0000 Subject: Reapply one of our MenuMerge patches. Fixes crashes on window close. 2003-04-28 Marco Pesenti Gritti * lib/egg/egg-menu-merge.c: (egg_menu_merge_finalize), (egg_menu_merge_class_init): Reapply one of our MenuMerge patches. Fixes crashes on window close. --- ChangeLog | 8 ++++++++ lib/egg/egg-menu-merge.c | 21 +++++++++++++++++++++ 2 files changed, 29 insertions(+) diff --git a/ChangeLog b/ChangeLog index e7e56c79d..ef8a2bc69 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2003-04-28 Marco Pesenti Gritti + + * lib/egg/egg-menu-merge.c: (egg_menu_merge_finalize), + (egg_menu_merge_class_init): + + Reapply one of our MenuMerge patches. Fixes crashes on + window close. + 2003-04-28 Marco Pesenti Gritti * src/bookmarks/ephy-bookmark-action.c: (sync_bookmark_properties), 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); -- cgit v1.2.3