diff options
-rw-r--r-- | ChangeLog | 8 | ||||
-rw-r--r-- | lib/egg/egg-menu-merge.c | 21 |
2 files changed, 29 insertions, 0 deletions
@@ -1,5 +1,13 @@ 2003-04-28 Marco Pesenti Gritti <marco@it.gnome.org> + * 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 <marco@it.gnome.org> + * src/bookmarks/ephy-bookmark-action.c: (sync_bookmark_properties), (bookmarks_child_changed_cb), (ephy_bookmark_action_init), (ephy_bookmark_action_new): 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); |