diff options
Diffstat (limited to 'Master/tlpkg/tltcl/lib/tk8.6/tkAppInit.c')
-rw-r--r-- | Master/tlpkg/tltcl/lib/tk8.6/tkAppInit.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/Master/tlpkg/tltcl/lib/tk8.6/tkAppInit.c b/Master/tlpkg/tltcl/lib/tk8.6/tkAppInit.c index 13bcdde2eb6..6cf3d42b3ee 100644 --- a/Master/tlpkg/tltcl/lib/tk8.6/tkAppInit.c +++ b/Master/tlpkg/tltcl/lib/tk8.6/tkAppInit.c @@ -15,9 +15,16 @@ #undef BUILD_tk #undef STATIC_BUILD #include "tk.h" +#include "tkPort.h" #ifdef TK_TEST +#ifdef __cplusplus +extern "C" { +#endif extern Tcl_PackageInitProc Tktest_Init; +#ifdef __cplusplus +} +#endif #endif /* TK_TEST */ /* @@ -30,7 +37,11 @@ extern Tcl_PackageInitProc Tktest_Init; #define TK_LOCAL_APPINIT Tcl_AppInit #endif #ifndef MODULE_SCOPE -# define MODULE_SCOPE extern +# ifdef __cplusplus +# define MODULE_SCOPE extern "C" +# else +# define MODULE_SCOPE extern +# endif #endif MODULE_SCOPE int TK_LOCAL_APPINIT(Tcl_Interp *); MODULE_SCOPE int main(int, char **); @@ -111,6 +122,13 @@ Tcl_AppInit( } Tcl_StaticPackage(interp, "Tk", Tk_Init, Tk_SafeInit); +#if defined(USE_CUSTOM_EXIT_PROC) + if (TkpWantsExitProc()) { + /* The cast below avoids warnings from old gcc compilers. */ + Tcl_SetExitProc((void *)TkpExitProc); + } +#endif + #ifdef TK_TEST if (Tktest_Init(interp) == TCL_ERROR) { return TCL_ERROR; |