[PD-dev] deadly leak
Mathieu Bouchard
matju at artengine.ca
Wed Dec 14 19:34:46 CET 2011
Le 2011-12-14 à 12:49:00, Ivica Ico Bukvic a écrit :
> So what part of the code specifically binds keyboard and mouse actions
> to a canvas?
Look for the name as it appears in Tcl commands going to Pd. From what it
looks like in commands to/from Tcl, you can see that it is a ".x%lx"
format-string. You can find that this exact format string is used in
editor_new (whereas all other cases use longer format strings intended
directly for sys_vgui).
This string is used as an argument to guiconnect_new, which calls pd_bind.
Also, editor_free calls guiconnect_notarget which schedules
guiconnect_free which calls pd_unbind.
> I thought this was never explicitly bound but is rather a result of
> tcl/tk simply reporting events within a specific canvas whose name was
> given to it by its memory allocation.
Implicit binding is a DesireData-only feature, in which binbuf_eval
handles a « no such object » error by reparsing the receive-symbol as a
t_pd*, after checking that it exists (object_table->exists(target)) and
that it's a non-zombie (object_table->get(target)). This allows for
deleting the whole guiconnect business, including deleting the bug that
we're talking about.
______________________________________________________________________
| Mathieu BOUCHARD ----- téléphone : +1.514.383.3801 ----- Montréal, QC
More information about the Pd-dev
mailing list