diff options
author | dgp <dgp@users.sourceforge.net> | 2002-09-05 20:21:05 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2002-09-05 20:21:05 (GMT) |
commit | 97f74cddc8704cd7c70a4f0e34dfaed1f1ddbfed (patch) | |
tree | 7a231617de77df87fce95cb221e7b055e387b4b1 /generic/tclVar.c | |
parent | c3cc9f4c14bd37ca383d4db3187bfee07797bed4 (diff) | |
download | tcl-97f74cddc8704cd7c70a4f0e34dfaed1f1ddbfed.zip tcl-97f74cddc8704cd7c70a4f0e34dfaed1f1ddbfed.tar.gz tcl-97f74cddc8704cd7c70a4f0e34dfaed1f1ddbfed.tar.bz2 |
* generic/tclVar.c (TclDeleteVars): Corrected logic for setting the
TCL_INTERP_DESTROYED flag when calling variable traces. [Tk Bug 605121]
Diffstat (limited to 'generic/tclVar.c')
-rw-r--r-- | generic/tclVar.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/generic/tclVar.c b/generic/tclVar.c index 9854161..0143b2f 100644 --- a/generic/tclVar.c +++ b/generic/tclVar.c @@ -15,7 +15,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclVar.c,v 1.66 2002/09/04 15:18:53 msofer Exp $ + * RCS: @(#) $Id: tclVar.c,v 1.67 2002/09/05 20:21:06 dgp Exp $ */ #include "tclInt.h" @@ -4506,10 +4506,13 @@ TclDeleteVars(iPtr, tablePtr) flags = TCL_TRACE_UNSETS; if (tablePtr == &iPtr->globalNsPtr->varTable) { - flags |= (TCL_INTERP_DESTROYED | TCL_GLOBAL_ONLY); + flags |= TCL_GLOBAL_ONLY; } else if (tablePtr == &currNsPtr->varTable) { flags |= TCL_NAMESPACE_ONLY; } + if (Tcl_InterpDeleted(interp)) { + flags |= TCL_INTERP_DESTROYED; + } for (hPtr = Tcl_FirstHashEntry(tablePtr, &search); hPtr != NULL; hPtr = Tcl_NextHashEntry(&search)) { |