TCL9: Tk_ConfigureWidget() function signature change

This commit is contained in:
Darryl L. Miles 2024-10-21 09:10:00 +01:00 committed by Tim Edwards
parent e81ead5ad2
commit db7a1fe20a
1 changed files with 17 additions and 6 deletions

View File

@ -888,19 +888,30 @@ ImgLayerConfigureMaster(masterPtr, objc, objv, flags)
LayerInstance *instancePtr; LayerInstance *instancePtr;
int dummy1; int dummy1;
char **argv = (char **) Tcl_Alloc((objc+1) * sizeof(char *)); #if TCL_MAJOR_VERSION < 9
char **tmp_argv = (char **) Tcl_Alloc((objc+1) * sizeof(char *));
for (dummy1 = 0; dummy1 < objc; dummy1++) { for (dummy1 = 0; dummy1 < objc; dummy1++) {
argv[dummy1]=Tcl_GetString(objv[dummy1]); tmp_argv[dummy1]=Tcl_GetString(objv[dummy1]);
} }
argv[objc] = NULL; tmp_argv[objc] = NULL;
int argc = objc;
const char **argv = (const char **)tmp_argv;
#else
Tcl_Size argc = objc;
Tcl_Obj *const *argv = (Tcl_Obj *const *)objv;
#endif
if (Tk_ConfigureWidget(masterPtr->interp, Tk_MainWindow(masterPtr->interp), if (Tk_ConfigureWidget(masterPtr->interp, Tk_MainWindow(masterPtr->interp),
configSpecs, objc, (const char **)argv, (char *) masterPtr, flags) configSpecs, argc, argv, (char *) masterPtr, flags)
!= TCL_OK) { != TCL_OK) {
Tcl_Free((char *) argv); #if TCL_MAJOR_VERSION < 9
Tcl_Free((char *) tmp_argv);
#endif
return TCL_ERROR; return TCL_ERROR;
} }
Tcl_Free((char *) argv); #if TCL_MAJOR_VERSION < 9
Tcl_Free((char *) tmp_argv);
#endif
/* /*
* Cycle through all of the instances of this image, regenerating * Cycle through all of the instances of this image, regenerating