summaryrefslogtreecommitdiffstats
path: root/generic/tclOO.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2008-08-06 21:23:13 (GMT)
committerdgp <dgp@users.sourceforge.net>2008-08-06 21:23:13 (GMT)
commit4c3c492b67b48506cdf77c1f146af9f4318f24c1 (patch)
treeeefbacdbe1583148a2d4d277d7a3e547aab3a2e8 /generic/tclOO.c
parent3f16aab4812d1bbe558e14c8d0ab3dfb692cece9 (diff)
downloadtcl-4c3c492b67b48506cdf77c1f146af9f4318f24c1.zip
tcl-4c3c492b67b48506cdf77c1f146af9f4318f24c1.tar.gz
tcl-4c3c492b67b48506cdf77c1f146af9f4318f24c1.tar.bz2
* generic/tclOO.c: Revised TclOO's check for an interp
being deleted during handling of object command deletion. The old code was relying on documented features of command delete traces that do not in fact work. [Bug 2039178]. * tests/oo.test (oo-26.*): Added tests that demonstrate failure of TclOO to check for various kinds of invalid bytecode during method dispatch. [Bug 2037727].
Diffstat (limited to 'generic/tclOO.c')
-rw-r--r--generic/tclOO.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/generic/tclOO.c b/generic/tclOO.c
index 6f078e4..4db39c3 100644
--- a/generic/tclOO.c
+++ b/generic/tclOO.c
@@ -8,7 +8,7 @@
* See the file "license.terms" for information on usage and redistribution of
* this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * RCS: @(#) $Id: tclOO.c,v 1.13 2008/07/18 23:29:44 msofer Exp $
+ * RCS: @(#) $Id: tclOO.c,v 1.14 2008/08/06 21:23:14 dgp Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -562,7 +562,7 @@ ObjectRenamedTrace(
AddRef(oPtr);
oPtr->flags |= OBJECT_DELETED;
- if (!(flags & TCL_INTERP_DESTROYED)) {
+ if (!Tcl_InterpDeleted(interp)) {
CallContext *contextPtr = TclOOGetCallContext(oPtr, NULL, DESTRUCTOR);
if (contextPtr != NULL) {