Attachment "diff.out" to
ticket [1842588fff]
added by
wiede
2007-12-02 17:04:02.
Index: tclOO.c
===================================================================
RCS file: /cvsroot/tcl/oocore/generic/tclOO.c,v
retrieving revision 1.26
diff -d -u -r1.26 tclOO.c
--- tclOO.c 12 Oct 2007 15:21:09 -0000 1.26
+++ tclOO.c 2 Dec 2007 09:49:25 -0000
@@ -1766,7 +1766,7 @@
methodNamePtr = objv[1];
if (oPtr->mapMethodNameProc != NULL) {
methodNamePtr = Tcl_DuplicateObj(methodNamePtr);
- result = oPtr->mapMethodNameProc(interp, oPtr, startCls,
+ result = oPtr->mapMethodNameProc(interp, oPtr, &startCls,
methodNamePtr);
if (result != TCL_OK) {
Tcl_DecrRefCount(methodNamePtr);
@@ -3011,6 +3011,14 @@
{
return (Tcl_Object) ((Class *)clazz)->thisPtr;
}
+void
+Tcl_ObjectSetMapMethodNameProc(
+ Tcl_Object oPtr,
+ TclOO_MapMethodNameProc mapMethodNameProc)
+{
+ ((Object *)oPtr)->mapMethodNameProc = mapMethodNameProc;
+}
+
/*
* Local Variables:
Index: tclOOInt.h
===================================================================
RCS file: /cvsroot/tcl/oocore/generic/tclOOInt.h,v
retrieving revision 1.13
diff -d -u -r1.13 tclOOInt.h
--- tclOOInt.h 12 Oct 2007 15:21:09 -0000 1.13
+++ tclOOInt.h 2 Dec 2007 09:49:30 -0000
@@ -58,7 +58,7 @@
typedef void (*TclOO_PmCDDeleteProc)(ClientData clientData);
typedef ClientData (*TclOO_PmCDCloneProc)(ClientData clientData);
typedef int (*TclOO_MapMethodNameProc)(Tcl_Interp *interp, struct Object *oPtr,
- struct Class *startClsPtr, Tcl_Obj *methodObj);
+ struct Class **startClsPtrPtr, Tcl_Obj *methodObj);
/*
* Procedure-like methods have the following extra information. It is a