Fix for Bug #2001303, "segfault with local gschemrc". Protects the
scheme menu_items in structure st_menu for the time the C code use
them.
---
libgeda/src/s_menu.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/libgeda/src/s_menu.c b/libgeda/src/s_menu.c
index 3bc3974..f0f316f 100644
--- a/libgeda/src/s_menu.c
+++ b/libgeda/src/s_menu.c
@@ -97,6 +97,7 @@ int s_menu_add_entry(char *new_menu, SCM menu_items)
}
menu[menu_index].menu_name = g_strdup (new_menu);
+ scm_gc_protect_object (menu_items);
menu[menu_index].menu_items = menu_items;
menu_index++;
@@ -132,6 +133,7 @@ void s_menu_free()
if (menu[i].menu_name) {
g_free(menu[i].menu_name);
menu[i].menu_name = NULL;
+ scm_gc_unprotect_object (menu[i].menu_items);
}
}
--
1.5.6
_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev