aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--lib/egg/egg-menu-merge.c21
2 files changed, 29 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index e7e56c79d..ef8a2bc69 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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);