From 212710db2267a25e7ddef3a314ea551e835430b6 Mon Sep 17 00:00:00 2001 From: dgp Date: Mon, 23 Apr 2007 20:11:09 +0000 Subject: * generic/tclVar.c (UnsetVarStruct): Make sure the TCL_INTERP_DESTROYED flags gets passed to unset trace routines so they can respond appropriately. [Bug 1705778, leak #9] --- ChangeLog | 6 ++++++ generic/tclVar.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index b2498af..b1a98b0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2007-04-23 Don Porter + + * generic/tclVar.c (UnsetVarStruct): Make sure the + TCL_INTERP_DESTROYED flags gets passed to unset trace routines + so they can respond appropriately. [Bug 1705778, leak #9] + 2007-04-23 Miguel Sofer * generic/tclCompile.c (TclFreeCompileEnv): Tip 280's new field diff --git a/generic/tclVar.c b/generic/tclVar.c index 05c3b4e..b4fffb1 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.131 2007/04/23 00:50:10 msofer Exp $ + * RCS: @(#) $Id: tclVar.c,v 1.132 2007/04/23 20:11:10 dgp Exp $ */ #include "tclInt.h" @@ -2117,7 +2117,7 @@ UnsetVarStruct( || ((arrayPtr != NULL) && (arrayPtr->tracePtr != NULL))) { dummyVar.flags &= ~VAR_TRACE_ACTIVE; TclCallVarTraces(iPtr, arrayPtr, &dummyVar, part1, part2, - (flags & (TCL_GLOBAL_ONLY|TCL_NAMESPACE_ONLY)) + (flags & (TCL_GLOBAL_ONLY|TCL_NAMESPACE_ONLY|TCL_INTERP_DESTROYED)) | TCL_TRACE_UNSETS, /* leaveErrMsg */ 0); while (dummyVar.tracePtr != NULL) { VarTrace *tracePtr = dummyVar.tracePtr; -- cgit v0.12