From 20b1d940a407c4e8184e0aff73fa76ce0dafcb2b Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 26 Jul 2002 09:54:47 -0400 Subject: BUG: Generated call to Tcl_CreateCommand for vtkCommand should cast pointer to extern "C" version. --- Source/cmVTKWrapTclCommand.cxx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Source/cmVTKWrapTclCommand.cxx b/Source/cmVTKWrapTclCommand.cxx index 5a707db7..172e032 100644 --- a/Source/cmVTKWrapTclCommand.cxx +++ b/Source/cmVTKWrapTclCommand.cxx @@ -229,6 +229,13 @@ bool cmVTKWrapTclCommand::WriteInit(const char *kitName, fprintf(fout,"#include \"vtkTclUtil.h\"\n"); + fprintf(fout, + "extern \"C\"\n" + "{\n" + " typedef int (*vtkTclCommandType)(ClientData, Tcl_Interp *,int, char *[]);\n" + "}\n" + "\n"); + for (i = 0; i < classes.size(); i++) { fprintf(fout,"int %sCommand(ClientData cd, Tcl_Interp *interp,\n int argc, char *argv[]);\n",classes[i].c_str()); @@ -300,7 +307,9 @@ bool cmVTKWrapTclCommand::WriteInit(const char *kitName, " Tcl_CreateExitHandler(vtkCommonDeleteAssocData,(ClientData *)info);\n"); /* create special vtkCommand command */ - fprintf(fout," Tcl_CreateCommand(interp,(char *) \"vtkCommand\",vtkCommand,\n (ClientData *)NULL, NULL);\n\n"); + fprintf(fout," Tcl_CreateCommand(interp,(char *) \"vtkCommand\",\n" + " reinterpret_cast(vtkCommand),\n" + " (ClientData *)NULL, NULL);\n\n"); } for (i = 0; i < m_Commands.size(); i++) -- cgit v0.12