Update of /cvsroot/pure-data/pd/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27527
Modified Files: Tag: devel_0_39 desire.c Log Message: fixed rtext_free crash. fixed canvas_restoreconnections crash.
Index: desire.c =================================================================== RCS file: /cvsroot/pure-data/pd/src/Attic/desire.c,v retrieving revision 1.1.2.129 retrieving revision 1.1.2.130 diff -C2 -d -r1.1.2.129 -r1.1.2.130 *** desire.c 1 Sep 2006 18:42:45 -0000 1.1.2.129 --- desire.c 1 Sep 2006 21:36:33 -0000 1.1.2.130 *************** *** 755,759 **** glist_each(y,x) { ob = pd_checkobject(&y->g_pd); ! if (ob) rtext_free(glist_findrtext(x, ob)); } editor_free(x->gl_editor, x); --- 755,762 ---- glist_each(y,x) { ob = pd_checkobject(&y->g_pd); ! if (ob) { ! t_rtext *r = glist_findrtext(x, ob); ! if (r) rtext_free(r); ! } } editor_free(x->gl_editor, x); *************** *** 1758,1766 **** --- 1761,1772 ---- }
+ /* can someone please figure out what this and canvas_stowconnections are for? */ void canvas_restoreconnections(t_canvas *x) { + /* pd_bind(&x->gl_pd, gensym("#X")); binbuf_eval(x->gl_editor->e_connectbuf, 0, 0, 0); pd_unbind(&x->gl_pd, gensym("#X")); + */ }
*************** *** 10598,10608 ****
void rtext_free(t_rtext *x) { ! if (x->x_glist->gl_editor->e_textedfor == x) ! x->x_glist->gl_editor->e_textedfor = 0; ! if (x->x_glist->gl_editor->e_rtext == x) ! x->x_glist->gl_editor->e_rtext = x->x_next; else { t_rtext *e2; ! for (e2 = x->x_glist->gl_editor->e_rtext; e2; e2 = e2->x_next) if (e2->x_next == x) { e2->x_next = x->x_next; break; --- 10604,10613 ----
void rtext_free(t_rtext *x) { ! t_editor *e = x->x_glist->gl_editor; ! if (e->e_textedfor == x) e->e_textedfor = 0; ! if (e->e_rtext == x) e->e_rtext = x->x_next; else { t_rtext *e2; ! for (e2 = e->e_rtext; e2; e2 = e2->x_next) if (e2->x_next == x) { e2->x_next = x->x_next; break;