Hi folks, One more patch picked from 'glist_dev' for application after the other GList patches have been committed (Ales, you've already got it -- I'm posting it to the list so everyone know what's happening).
09dc8f9fd9c77c9e058facb9c2e0b56f461755a2 more-glist-fixes.patch Cheers, Peter -- Fisher Society committee http://tinyurl.com/o39w2 CUSBC novices, match and league secretary http://tinyurl.com/mwrc9 CU Spaceflight http://tinyurl.com/ognu2 v3sw6YChw7$ln3pr6$ck3ma8u7+Lw3+2m0l7Ci6e4+8t4Gb8en6g6Pa2Xs5Mr4p4 hackerkey.com peter-b.co.uk
pgp7eMbH3ZZda.pgp
Description: PGP signature
* src/o_delete.c: Changed a check to use glib debugging functions. Don't free objects at the end of o_delete, but free only the list.
* src/o_misc.c: Added a sanity check.
---
commit b238607dd1f8385ee6df95bd9941f2898e125c2e
tree d0159661d844495dc012ad618cd108ecabb70017
parent 767a3d5b2c5d5df41c0ab0b1b599ad4411f747eb
author cnieves <cnieves> Sun, 22 Oct 2006 17:27:57 +0000
committer Peter TB Brett <[EMAIL PROTECTED]> Sat, 16 Dec 2006 00:27:00 +0000
gschem/ChangeLog | 7 ++++++-
gschem/src/o_delete.c | 12 +++++-------
gschem/src/o_misc.c | 2 ++
3 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/gschem/ChangeLog b/gschem/ChangeLog
index 36af219..552764b 100644
--- a/gschem/ChangeLog
+++ b/gschem/ChangeLog
@@ -210,7 +210,12 @@
in the o_text_draw function added on 2006-10-21.
2006-10-22 Carlos Nieves Onega <[EMAIL PROTECTED]>
-
+
+ * src/o_delete.c: Changed a check to use glib debugging functions.
+ Don't free objects at the end of o_delete, but free only the list.
+
+ * src/o_misc.c: Added a sanity check.
+
* src/o_basic.c: Don't free objects in the complex place list. It is
only a reference to the objects in the page.
diff --git a/gschem/src/o_delete.c b/gschem/src/o_delete.c
index 33e0e8a..97e69e0 100644
--- a/gschem/src/o_delete.c
+++ b/gschem/src/o_delete.c
@@ -250,11 +250,7 @@ void o_delete(TOPLEVEL *w_current)
while(s_current != NULL) {
object = (OBJECT *) s_current->data;
- if (object == NULL) {
- fprintf(stderr,
- _("ERROR: NULL object in o_delete_end!\n"));
- exit(-1);
- }
+ g_assert (object != NULL);
switch(object->type) {
case(OBJ_LINE):
@@ -303,8 +299,10 @@ void o_delete(TOPLEVEL *w_current)
w_current->inside_action = 0;
- o_selection_unselect_list (w_current,
- &(w_current->page_current->selection_list));
+ /* Objects have been deleted. Free the list, without freeing again
+ the objects */
+ g_list_free(w_current->page_current->selection_list);
+ w_current->page_current->selection_list = NULL;
w_current->page_current->CHANGED=1;
/* no longer needed */
diff --git a/gschem/src/o_misc.c b/gschem/src/o_misc.c
index a21102b..753539f 100644
--- a/gschem/src/o_misc.c
+++ b/gschem/src/o_misc.c
@@ -1185,6 +1185,8 @@ void o_update_component(TOPLEVEL *w_current, OBJECT *o_current)
gboolean is_embedded;
gchar *basename, *clib;
+ g_return_if_fail (o_current != NULL);
+
is_embedded = o_complex_is_embedded (o_current);
/* identify symbol name */
!-------------------------------------------------------------flip-
_______________________________________________ geda-dev mailing list [email protected] http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev
