summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2012-06-08 15:51:00 (GMT)
committerdgp <dgp@users.sourceforge.net>2012-06-08 15:51:00 (GMT)
commitf3f5448b0aa89dfc3c913d3f2e43e34e1c0c106c (patch)
tree5766e5ea4a16d70c9458baf32001825441183f00
parent7e302d3ca75cd9eb6998e895cf344665b1d08e5e (diff)
downloadtcl-f3f5448b0aa89dfc3c913d3f2e43e34e1c0c106c.zip
tcl-f3f5448b0aa89dfc3c913d3f2e43e34e1c0c106c.tar.gz
tcl-f3f5448b0aa89dfc3c913d3f2e43e34e1c0c106c.tar.bz2
Work in progress fixing 3532959
-rw-r--r--generic/tclBasic.c3
-rw-r--r--generic/tclProc.c2
2 files changed, 3 insertions, 2 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c
index 954b2b3..1d289f2 100644
--- a/generic/tclBasic.c
+++ b/generic/tclBasic.c
@@ -1388,7 +1388,8 @@ DeleteInterpProc(
hPtr != NULL;
hPtr = Tcl_NextHashEntry(&hSearch)) {
CmdFrame *cfPtr = Tcl_GetHashValue(hPtr);
-
+ Proc *procPtr = (Proc *) Tcl_GetHashKey(iPtr->linePBodyPtr, hPtr);
+ procPtr->iPtr = NULL;
if (cfPtr->type == TCL_LOCATION_SOURCE) {
Tcl_DecrRefCount(cfPtr->data.eval.path);
}
diff --git a/generic/tclProc.c b/generic/tclProc.c
index 43e88c6..325506b 100644
--- a/generic/tclProc.c
+++ b/generic/tclProc.c
@@ -2198,7 +2198,7 @@ TclProcCleanupProc(
* the same ProcPtr is overwritten with a new CmdFrame.
*/
- if (!iPtr) {
+ if (iPtr == NULL || iPtr->linePBodyPtr == NULL) {
return;
}