summaryrefslogtreecommitdiffstats
path: root/generic/tkWindow.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-09-10 20:07:48 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-09-10 20:07:48 (GMT)
commitb36b210f178758f2307614bb1fb995a0eb0ecc7f (patch)
treef7796defcff3a261bbf2ff91c0eaa27e22951150 /generic/tkWindow.c
parenta13399f7db29bed541534521abf685915f58a566 (diff)
downloadtk-b36b210f178758f2307614bb1fb995a0eb0ecc7f.zip
tk-b36b210f178758f2307614bb1fb995a0eb0ecc7f.tar.gz
tk-b36b210f178758f2307614bb1fb995a0eb0ecc7f.tar.bz2
If beneficial (read: TIP #626) use Tcl_CreateObjCommand2() to create the tk::build-info command
Diffstat (limited to 'generic/tkWindow.c')
-rw-r--r--generic/tkWindow.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/generic/tkWindow.c b/generic/tkWindow.c
index 1a961e1..c1d55d7 100644
--- a/generic/tkWindow.c
+++ b/generic/tkWindow.c
@@ -961,9 +961,7 @@ TkCreateMainWindow(
}
}
if (Tcl_GetCommandInfo(interp, "::tcl::build-info", &info)) {
- Tcl_CreateObjCommand(interp, "::tk::build-info",
- info.objProc, (void *)
- (TK_PATCH_LEVEL "+" STRINGIFY(TK_VERSION_UUID)
+ static const char version[] = TK_PATCH_LEVEL "+" STRINGIFY(TK_VERSION_UUID)
#if defined(MAC_OSX_TK)
".aqua"
#endif
@@ -1032,7 +1030,18 @@ TkCreateMainWindow(
".no-xft"
#endif
#endif
- ), NULL);
+ ;
+#if TCL_MAJOR_VERSION > 8
+ if (info.isNativeObjectProc == 2) {
+ Tcl_CreateObjCommand2(interp, "::tk::build-info",
+ info.objProc2, (void *)
+ version, NULL);
+
+ } else
+#endif
+ Tcl_CreateObjCommand(interp, "::tk::build-info",
+ info.objProc, (void *)
+ version, NULL);
}
/*