From def4c8ce29b135940f12eb623a5bebb5bafd67fa Mon Sep 17 00:00:00 2001 From: dgp Date: Mon, 14 Nov 2016 17:01:37 +0000 Subject: See Itcl Bug [1b28657c0e]. The methodNameType fails to honor the Tcl_ObjType contract. Need dkf review on suitability of this fix. --- generic/tclOOCall.c | 1 + 1 file changed, 1 insertion(+) diff --git a/generic/tclOOCall.c b/generic/tclOOCall.c index 1797760..814fb0b 100644 --- a/generic/tclOOCall.c +++ b/generic/tclOOCall.c @@ -179,6 +179,7 @@ StashCallChain( CallChain *callPtr) { callPtr->refCount++; + Tcl_GetString(objPtr); TclFreeIntRep(objPtr); objPtr->typePtr = &methodNameType; objPtr->internalRep.twoPtrValue.ptr1 = callPtr; -- cgit v0.12 From 47302d8e0457f8f002223bf6c5536f9226fbd59c Mon Sep 17 00:00:00 2001 From: dkf Date: Tue, 15 Nov 2016 13:31:02 +0000 Subject: Slightly more efficient version as this is Hot Path code. --- generic/tclOOCall.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/generic/tclOOCall.c b/generic/tclOOCall.c index 814fb0b..8003345 100644 --- a/generic/tclOOCall.c +++ b/generic/tclOOCall.c @@ -179,7 +179,7 @@ StashCallChain( CallChain *callPtr) { callPtr->refCount++; - Tcl_GetString(objPtr); + TclGetString(objPtr); TclFreeIntRep(objPtr); objPtr->typePtr = &methodNameType; objPtr->internalRep.twoPtrValue.ptr1 = callPtr; -- cgit v0.12