summaryrefslogtreecommitdiffstats
path: root/generic/tclOOMethod.c
diff options
context:
space:
mode:
authordkf <donal.k.fellows@manchester.ac.uk>2008-09-01 00:35:40 (GMT)
committerdkf <donal.k.fellows@manchester.ac.uk>2008-09-01 00:35:40 (GMT)
commit95660b09be94d6eb4b0482d33c78d8880e0c14cb (patch)
tree2579a1e6cb4beb302aec6d4a4b47951bd41033cb /generic/tclOOMethod.c
parent4c5d518f5499a0a9f50e08bba0484cb6650b816a (diff)
downloadtcl-95660b09be94d6eb4b0482d33c78d8880e0c14cb.zip
tcl-95660b09be94d6eb4b0482d33c78d8880e0c14cb.tar.gz
tcl-95660b09be94d6eb4b0482d33c78d8880e0c14cb.tar.bz2
Improve the semantics of C-implemented destructors slightly.
Diffstat (limited to 'generic/tclOOMethod.c')
-rw-r--r--generic/tclOOMethod.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/generic/tclOOMethod.c b/generic/tclOOMethod.c
index 75aef73..5371719 100644
--- a/generic/tclOOMethod.c
+++ b/generic/tclOOMethod.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: tclOOMethod.c,v 1.17 2008/08/23 18:53:12 msofer Exp $
+ * RCS: @(#) $Id: tclOOMethod.c,v 1.18 2008/09/01 00:35:42 dkf Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -643,6 +643,16 @@ InvokeProcedureMethod(
* call frame's lifetime). */
/*
+ * If the interpreter was deleted, we just skip to the next thing in the
+ * chain.
+ */
+
+ if (Tcl_InterpDeleted(interp)) {
+ return TclNRObjectContextInvokeNext(interp, context, objc, objv,
+ Tcl_ObjectContextSkippedArgs(context));
+ }
+
+ /*
* Allocate the special frame data.
*/