Patches item #2913280, was opened at 2009-12-12 09:08 Message generated for change (Comment added) made by eighthave You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478072&aid=2913280...
Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update.
Category: None Group: None
Status: Open
Resolution: Fixed
Priority: 8 Private: No Submitted By: Cyrille Henry (nusmuk) Assigned to: Miller Puckette (millerpuckette) Summary: GOP abstraction can crash pd if content is reloaded
Initial Comment: if abs1 is an abstraction (maybe empty) if abs2 is a GOP abstraction that use abs1 opening an other instance of abs1 and saving it will crash pd. see attachement.
----------------------------------------------------------------------
Comment By: Hans-Christoph Steiner (eighthave)
Date: 2010-07-12 23:41
Message: The bug is that canvas_doclear() wasn't checking whether x->gl_editor exists before using it. Here's a patch to fix it, committed to Pd-extended in svn commit #13707:
Index: g_editor.c =================================================================== --- g_editor.c (revision 13704) +++ g_editor.c (working copy) @@ -2212,7 +2212,7 @@ int dspstate;
dspstate = canvas_suspend_dsp(); - if (x->gl_editor->e_selectedline) + if (x->gl_editor && x->gl_editor->e_selectedline) { canvas_disconnect(x, x->gl_editor->e_selectline_index1, x->gl_editor->e_selectline_outno, @@ -2229,7 +2229,7 @@ /* if text is selected, deselecting it might remake the object. So we deselect it and hunt for a "new" object on the glist to reselect. */ - if (x->gl_editor->e_textedfor) + if (x->gl_editor && x->gl_editor->e_textedfor) { newest = 0; glist_noselect(x);
----------------------------------------------------------------------
Comment By: Hans-Christoph Steiner (eighthave) Date: 2010-06-14 15:37
Message: Confirmed on Mac OS X/10.5.8 Intel using Pd-extended 0.42.5-rc2.
----------------------------------------------------------------------
Comment By: IOhannes m zmlnig (zmoelnig) Date: 2009-12-12 09:49
Message: confirmed (linux; Pd-vanilla-0.42.5)
it does _not_ crash on 0.41-4 on the same machine.
a quick backtrace shows that the crash appears in canvas_doclear() because the gl_editor of the argument x is NULL.
----------------------------------------------------------------------
Comment By: Cyrille Henry (nusmuk) Date: 2009-12-12 09:09
Message: i forget to say that this is on linux, pd vanilla 0.42
----------------------------------------------------------------------
You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=478072&aid=2913280...