diff options
author | Miguel Sofer <miguel.sofer@gmail.com> | 2009-04-30 23:25:32 (GMT) |
---|---|---|
committer | Miguel Sofer <miguel.sofer@gmail.com> | 2009-04-30 23:25:32 (GMT) |
commit | 7b070a7c3c4ebcf234242d7a3dc3d6e84fad44a9 (patch) | |
tree | 6b2a0d8bb0cbcba467f0786cc2c085e2430fa513 /generic | |
parent | fc14cb7392349efcc99e221cefa6f328f0c9de2a (diff) | |
download | tcl-7b070a7c3c4ebcf234242d7a3dc3d6e84fad44a9.zip tcl-7b070a7c3c4ebcf234242d7a3dc3d6e84fad44a9.tar.gz tcl-7b070a7c3c4ebcf234242d7a3dc3d6e84fad44a9.tar.bz2 |
* generic/tclBasic.c (TclObjInvoke): Make sure that a null objProc
is not used, use Tcl_NRCallObjProc instead [Bug 2486550].
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclBasic.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/generic/tclBasic.c b/generic/tclBasic.c index 919a031..d5aad5d 100644 --- a/generic/tclBasic.c +++ b/generic/tclBasic.c @@ -16,7 +16,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclBasic.c,v 1.391 2009/03/22 14:46:28 msofer Exp $ + * RCS: @(#) $Id: tclBasic.c,v 1.392 2009/04/30 23:25:32 msofer Exp $ */ #include "tclInt.h" @@ -6421,7 +6421,12 @@ TclObjInvoke( */ iPtr->cmdCount++; - result = cmdPtr->objProc(cmdPtr->objClientData, interp, objc, objv); + if (cmdPtr->objProc != NULL) { + result = cmdPtr->objProc(cmdPtr->objClientData, interp, objc, objv); + } else { + result = Tcl_NRCallObjProc(interp, cmdPtr->nreProc, + cmdPtr->objClientData, objc, objv); + } /* * If an error occurred, record information about what was being executed |