summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2014-09-08 21:22:05 (GMT)
committerdgp <dgp@users.sourceforge.net>2014-09-08 21:22:05 (GMT)
commit62004c9fb4615797aed60a748235f07e37bb9802 (patch)
tree10d14e9df06165aa168a49772eb74720f9640539 /generic
parenta3b501f125586ba5ecf07e4805f2e965cd5a6b9c (diff)
downloadtcl-62004c9fb4615797aed60a748235f07e37bb9802.zip
tcl-62004c9fb4615797aed60a748235f07e37bb9802.tar.gz
tcl-62004c9fb4615797aed60a748235f07e37bb9802.tar.bz2
Exceptional handling of oo::class has to be consistent throughout.
Diffstat (limited to 'generic')
-rw-r--r--generic/tclOO.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/generic/tclOO.c b/generic/tclOO.c
index ace47fe..77e668b 100644
--- a/generic/tclOO.c
+++ b/generic/tclOO.c
@@ -1287,7 +1287,9 @@ TclOORemoveFromInstances(
removeInstance:
if (Deleted(clsPtr->thisPtr)) {
- DelRef(clsPtr->instances.list[i]);
+ if (!IsRootClass(clsPtr)) {
+ DelRef(clsPtr->instances.list[i]);
+ }
clsPtr->instances.list[i] = NULL;
} else {
clsPtr->instances.num--;