On Feb 7, 2012, at 3:37 PM, Mathieu Bouchard wrote:

> Le 2012-01-23 à 14:00:00, Hans-Christoph Steiner a écrit :
> 
>>   if {[string index $cmd_from_pd end] eq "\\"} {
>>       ::pd_connect::pd_readsocket $cmd_from_pd
>>   }
>>   if {[catch {uplevel #0 $cmd_from_pd} errorname]} {
> 
> This is very wrong, because pd_readsocket calls itself recursively N times, 
> then doesn't return, which causes eval (uplevel) to be run N+1 times on the 
> same chunk of statements.
> 
> This may cause «canvas create» to create very many duplicates of canvas 
> items, and such.
> 
> Is that right ?

This code has totally changed, check master in pd-extended.git for the current 
code.  The new code fixed this bug, and seems faster than the old code to boot.

.hc






----------------------------------------------------------------------------

"It is convenient to imagine a power beyond us because that means we don't have 
to examine our own lives.", from "The Idols of Environmentalism", by Curtis 
White





_______________________________________________
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev

Reply via email to