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