aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormescalinum <mescalinum@users.sourceforge.net>2011-11-16 11:06:26 +0000
committermescalinum <mescalinum@users.sourceforge.net>2011-11-16 11:06:26 +0000
commit8e465cd366902ca70ad10aad3428c37501f6f772 (patch)
tree24285330b2fd387569c79dce0f17312a6b52895c
parentbb3429c7e76130165328180dd65451c64e7df9a1 (diff)
remove obj-inst -> class-name mapping in tclpd_free
svn path=/trunk/externals/loaders/tclpd/; revision=15755
-rw-r--r--tcl_class.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/tcl_class.c b/tcl_class.c
index 0ce39d2..085334a 100644
--- a/tcl_class.c
+++ b/tcl_class.c
@@ -208,6 +208,11 @@ void tclpd_free(t_tcl *x) {
Tcl_DecrRefCount(av[1]);
Tcl_DecrRefCount(av[2]);
+ // remove obj instance -> classname mapping
+ char delmapcmd[256];
+ snprintf(delmapcmd, 256, "unset ::pd::classname(%s)", Tcl_GetStringFromObj(x->self, NULL));
+ Tcl_Eval(tclpd_interp, delmapcmd);
+
// here ends the lifetime of x->classname and x->self
Tcl_DecrRefCount(x->self);
Tcl_DecrRefCount(x->classname);