Hello all,
I know this original post was from a year ago...but this problem still exists in PD in Win XP (and likely other Windows versions). Has anybody discovered a sensible 'fix'?
Regards, Dave Sabine.
<original message> awsome, thanks for all your help everyone, i'm really impressed at how much i can do with pd.
on the flip side, i can reliably crash pd on my win2k machine here by clicking a few times on the open message box so that i have a few duplicate x.pd windows open, then hitting the close message box. is this a known issue? here are my two patches:
test.pd:
#N canvas 453 249 452 302 10; #X msg 43 82 ; pd-x.pd menuclose; #X msg 45 35 ; pd open x.pd c:/pd/joschi/;
x.pd:
#N canvas 0 0 454 304 12; #X obj 115 100 foobar;
-Josh
On Wed, 19 Dec 2001, Miller Puckette wrote:
An easier way than self-modifying patches migth be to open a top-level patch by message passing. For instance if you have a patch, /tmp/x.pd, here's a patch to open and close it:
#N canvas 453 249 450 300 10; #X msg 43 82 ; pd-x.pd menuclose; #X msg 45 35 ; pd open x.pd /tmp;
cheers Miller
</original message>
hi David (and the devs),
sure this issue is well known...
...I mean, this is the same ``dangling pointers'' horror discussed on several occasions, like selfmod crashes, settable receive, etc. For a clear example, try the attached patch.
I think the main headache over how to deal with this might be that there are so many different ways, each having its weaknesses -- using t_pdsmart* instead of t_pd* (just a joke); locking (or deferring any modification to) `bindlisted' data; or simply terminating bindlist traversal after any bind/unbind action, i.e. if 'dirty' flag is set ('inuse' flag would be needed too).
Who is going to decide?
Krzysztof
David Sabine wrote: ...
on the flip side, i can reliably crash pd on my win2k machine here by clicking a few times on the open message box so that i have a few duplicate x.pd windows open, then hitting the close message box. is this a known issue? here are my two patches:
...
#X msg 43 82 ; pd-x.pd menuclose; #X msg 45 35 ; pd open x.pd c:/pd/joschi/;
#N canvas 224 125 561 331 12; #N canvas 0 0 450 300 graph1 0; #X array t 100 float 0; #X coords 0 1 99 -1 200 140 1; #X restore 51 28 graph; #N canvas 0 0 450 300 graph1 0; #X array t 100 float 0; #X coords 0 1 99 -1 200 140 1; #X restore 292 28 graph; #X msg 56 240 ; t rename catch-me-if-you-can;