summaryrefslogtreecommitdiffstats
path: root/generic
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2024-06-30 17:07:58 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2024-06-30 17:07:58 (GMT)
commitb1b5c61a7458041a11b7a5920b22689566345256 (patch)
tree24244422ce05e0adb9528fa7d76f3c95ff398341 /generic
parent81291da33b1e6f1cab8020cb72dd43a974a0a20e (diff)
parent247c0ea91f30dcb6e0897e0598ddbaff82525184 (diff)
downloadtk-b1b5c61a7458041a11b7a5920b22689566345256.zip
tk-b1b5c61a7458041a11b7a5920b22689566345256.tar.gz
tk-b1b5c61a7458041a11b7a5920b22689566345256.tar.bz2
Merge 9.0. Streamline some indenting
Diffstat (limited to 'generic')
-rw-r--r--generic/tk.h12
-rw-r--r--generic/tkCanvas.c2
-rw-r--r--generic/tkConfig.c254
-rw-r--r--generic/tkEntry.c2
-rw-r--r--generic/tkFont.c3
-rw-r--r--generic/tkFrame.c6
-rw-r--r--generic/tkImgBmap.c4
-rw-r--r--generic/tkImgGIF.c12
-rw-r--r--generic/tkImgPNG.c9
-rw-r--r--generic/tkImgPPM.c5
-rw-r--r--generic/tkImgPhoto.c13
-rw-r--r--generic/tkListbox.c116
-rw-r--r--generic/tkMenu.c120
-rw-r--r--generic/tkObj.c12
-rw-r--r--generic/tkOldConfig.c26
-rw-r--r--generic/tkOption.c10
-rw-r--r--generic/tkPack.c8
-rw-r--r--generic/tkPanedWindow.c130
-rw-r--r--generic/tkPlace.c100
-rw-r--r--generic/tkScrollbar.c10
-rw-r--r--generic/tkSelect.c8
-rw-r--r--generic/tkTextDisp.c2
-rw-r--r--generic/tkTextWind.c8
-rw-r--r--generic/tkWindow.c4
24 files changed, 440 insertions, 436 deletions
diff --git a/generic/tk.h b/generic/tk.h
index 7d7f2fe..016ea26 100644
--- a/generic/tk.h
+++ b/generic/tk.h
@@ -227,8 +227,12 @@ typedef struct Tk_OptionSpec {
* Tk_ConfigSpec structures, so be sure to coordinate any changes carefully.
*/
-#define TK_OPTION_NULL_OK (1 << 0)
#define TK_OPTION_DONT_SET_DEFAULT (1 << 3)
+#if TCL_MAJOR_VERSION > 8
+# define TK_OPTION_NULL_OK TCL_NULL_OK
+#else
+# define TK_OPTION_NULL_OK (1 << 0)
+#endif
#define TK_OPTION_VAR(type) ((sizeof(type) < 2 * sizeof(int)) ? ((int)(sizeof(type)&(sizeof(int)-1))<<6) : (3<<6))
#define TK_OPTION_ENUM_VAR TK_OPTION_VAR(Tk_OptionType)
@@ -409,10 +413,14 @@ typedef enum {
* (internal-use-only flags are defined there).
*/
-#define TK_CONFIG_NULL_OK (1 << 0)
#define TK_CONFIG_COLOR_ONLY (1 << 1)
#define TK_CONFIG_MONO_ONLY (1 << 2)
#define TK_CONFIG_DONT_SET_DEFAULT (1 << 3)
+#if TCL_MAJOR_VERSION > 8
+# define TK_CONFIG_NULL_OK TCL_NULL_OK
+#else
+# define TK_CONFIG_NULL_OK (1 << 0)
+#endif
#define TK_CONFIG_USER_BIT 0x100
#endif /* __NO_OLD_CONFIG */
diff --git a/generic/tkCanvas.c b/generic/tkCanvas.c
index aa3fca3..879cf27 100644
--- a/generic/tkCanvas.c
+++ b/generic/tkCanvas.c
@@ -3196,7 +3196,7 @@ DisplayCanvas(
Tk_Height(tkwin) - 2*canvasPtr->highlightWidth,
canvasPtr->borderWidth, canvasPtr->relief);
}
- if (canvasPtr->highlightWidth != 0) {
+ if (canvasPtr->highlightWidth > 0) {
GC fgGC, bgGC;
bgGC = Tk_GCForColor(canvasPtr->highlightBgColorPtr,
diff --git a/generic/tkConfig.c b/generic/tkConfig.c
index 7362831..3336467 100644
--- a/generic/tkConfig.c
+++ b/generic/tkConfig.c
@@ -215,7 +215,7 @@ Tk_CreateOptionTable(
* reuse the existing table.
*/
- hashEntryPtr = Tcl_CreateHashEntry(&tsdPtr->hashTable, (char *) templatePtr,
+ hashEntryPtr = Tcl_CreateHashEntry(&tsdPtr->hashTable, (char *)templatePtr,
&newEntry);
if (!newEntry) {
tablePtr = (OptionTable *)Tcl_GetHashValue(hashEntryPtr);
@@ -262,7 +262,7 @@ Tk_CreateOptionTable(
Tcl_Panic("Tk_CreateOptionTable couldn't find synonym");
}
if (strcmp(specPtr2->optionName,
- (char *) specPtr->clientData) == 0) {
+ (char *)specPtr->clientData) == 0) {
optionPtr->extra.synonymPtr = tablePtr->options + i;
break;
}
@@ -621,11 +621,11 @@ DoObjConfig(
if (savedOptionPtr != NULL) {
savedOptionPtr->optionPtr = optionPtr;
savedOptionPtr->valuePtr = oldPtr;
- oldInternalPtr = (char *) &savedOptionPtr->internalForm;
+ oldInternalPtr = (char *)&savedOptionPtr->internalForm;
} else {
- oldInternalPtr = (char *) &internal.internalForm;
+ oldInternalPtr = (char *)&internal.internalForm;
}
- nullOK = (optionPtr->specPtr->flags & (TK_OPTION_NULL_OK|TCL_NULL_OK));
+ nullOK = (optionPtr->specPtr->flags & (TK_OPTION_NULL_OK|TCL_NULL_OK|1));
switch (optionPtr->specPtr->type) {
case TK_OPTION_BOOLEAN: {
int newBool;
@@ -643,17 +643,17 @@ DoObjConfig(
if (internalPtr != NULL) {
if (optionPtr->specPtr->flags & TYPE_MASK) {
if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(char)) {
- *((char *) oldInternalPtr) = *((char *) internalPtr);
- *((char *) internalPtr) = (char)newBool;
+ *((char *)oldInternalPtr) = *((char *)internalPtr);
+ *((char *)internalPtr) = (char)newBool;
} else if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(short)) {
- *((short *) oldInternalPtr) = *((short *) internalPtr);
- *((short *) internalPtr) = (short)newBool;
+ *((short *)oldInternalPtr) = *((short *)internalPtr);
+ *((short *)internalPtr) = (short)newBool;
} else {
Tcl_Panic("Invalid flags for %s", "TK_OPTION_BOOLEAN");
}
} else {
- *((int *) oldInternalPtr) = *((int *) internalPtr);
- *((int *) internalPtr) = newBool;
+ *((int *)oldInternalPtr) = *((int *)internalPtr);
+ *((int *)internalPtr) = newBool;
}
}
break;
@@ -670,13 +670,13 @@ DoObjConfig(
if (nullOK && interp) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"expected integer or \"\" but got \"%.50s\"", Tcl_GetString(valuePtr)));
- Tcl_SetErrorCode(interp, "TCL", "VALUE", "NUMBER", NULL);
+ Tcl_SetErrorCode(interp, "TCL", "VALUE", "NUMBER", (char *)NULL);
}
return TCL_ERROR;
}
if (internalPtr != NULL) {
- *((int *) oldInternalPtr) = *((int *) internalPtr);
- *((int *) internalPtr) = newInt;
+ *((int *)oldInternalPtr) = *((int *)internalPtr);
+ *((int *)internalPtr) = newInt;
}
} else if ((optionPtr->specPtr->flags & TYPE_MASK) == TYPE_MASK) {
Tcl_WideInt newWideInt;
@@ -688,11 +688,11 @@ DoObjConfig(
}
if (internalPtr != NULL) {
if (sizeof(long) > sizeof(int)) {
- *((long *) oldInternalPtr) = *((long *) internalPtr);
- *((long *) internalPtr) = (long)newWideInt;
+ *((long *)oldInternalPtr) = *((long *)internalPtr);
+ *((long *)internalPtr) = (long)newWideInt;
} else {
- *((long long *) oldInternalPtr) = *((long long *) internalPtr);
- *((long long *) internalPtr) = (long long)newWideInt;
+ *((long long *)oldInternalPtr) = *((long long *)internalPtr);
+ *((long long *)internalPtr) = (long long)newWideInt;
}
}
} else {
@@ -716,8 +716,8 @@ DoObjConfig(
newIndex = INT_MAX;
}
if (internalPtr != NULL) {
- *((int *) oldInternalPtr) = *((int *) internalPtr);
- *((int *) internalPtr) = (int)newIndex;
+ *((int *)oldInternalPtr) = *((int *)internalPtr);
+ *((int *)internalPtr) = (int)newIndex;
}
break;
}
@@ -739,15 +739,15 @@ DoObjConfig(
Tcl_AppendLimitedToObj(msg, Tcl_GetString(valuePtr), TCL_INDEX_NONE, 50, "");
Tcl_AppendToObj(msg, "\"", TCL_INDEX_NONE);
Tcl_SetObjResult(interp, msg);
- Tcl_SetErrorCode(interp, "TCL", "VALUE", "NUMBER", NULL);
+ Tcl_SetErrorCode(interp, "TCL", "VALUE", "NUMBER", (char *)NULL);
}
return TCL_ERROR;
}
}
if (internalPtr != NULL) {
- *((double *) oldInternalPtr) = *((double *) internalPtr);
- *((double *) internalPtr) = newDbl;
+ *((double *)oldInternalPtr) = *((double *)internalPtr);
+ *((double *)internalPtr) = newDbl;
}
break;
}
@@ -767,8 +767,8 @@ DoObjConfig(
} else {
newStr = NULL;
}
- *((char **) oldInternalPtr) = *((char **) internalPtr);
- *((char **) internalPtr) = newStr;
+ *((char **)oldInternalPtr) = *((char **)internalPtr);
+ *((char **)internalPtr) = newStr;
}
break;
}
@@ -792,17 +792,17 @@ DoObjConfig(
if (internalPtr != NULL) {
if (optionPtr->specPtr->flags & TYPE_MASK) {
if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(char)) {
- *((char *) oldInternalPtr) = *((char *) internalPtr);
- *((char *) internalPtr) = (char)newValue;
+ *((char *)oldInternalPtr) = *((char *)internalPtr);
+ *((char *)internalPtr) = (char)newValue;
} else if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(short)) {
- *((short *) oldInternalPtr) = *((short *) internalPtr);
- *((short *) internalPtr) = (short)newValue;
+ *((short *)oldInternalPtr) = *((short *)internalPtr);
+ *((short *)internalPtr) = (short)newValue;
} else {
Tcl_Panic("Invalid flags for %s", "TK_OPTION_STRING_TABLE");
}
} else {
- *((int *) oldInternalPtr) = *((int *) internalPtr);
- *((int *) internalPtr) = newValue;
+ *((int *)oldInternalPtr) = *((int *)internalPtr);
+ *((int *)internalPtr) = newValue;
}
}
break;
@@ -820,8 +820,8 @@ DoObjConfig(
}
}
if (internalPtr != NULL) {
- *((XColor **) oldInternalPtr) = *((XColor **) internalPtr);
- *((XColor **) internalPtr) = newPtr;
+ *((XColor **)oldInternalPtr) = *((XColor **)internalPtr);
+ *((XColor **)internalPtr) = newPtr;
}
break;
}
@@ -838,8 +838,8 @@ DoObjConfig(
}
}
if (internalPtr != NULL) {
- *((Tk_Font *) oldInternalPtr) = *((Tk_Font *) internalPtr);
- *((Tk_Font *) internalPtr) = newFont;
+ *((Tk_Font *)oldInternalPtr) = *((Tk_Font *)internalPtr);
+ *((Tk_Font *)internalPtr) = newFont;
}
break;
}
@@ -856,8 +856,8 @@ DoObjConfig(
}
}
if (internalPtr != NULL) {
- *((Tk_Style *) oldInternalPtr) = *((Tk_Style *) internalPtr);
- *((Tk_Style *) internalPtr) = newStyle;
+ *((Tk_Style *)oldInternalPtr) = *((Tk_Style *)internalPtr);
+ *((Tk_Style *)internalPtr) = newStyle;
}
break;
}
@@ -874,8 +874,8 @@ DoObjConfig(
}
}
if (internalPtr != NULL) {
- *((Pixmap *) oldInternalPtr) = *((Pixmap *) internalPtr);
- *((Pixmap *) internalPtr) = newBitmap;
+ *((Pixmap *)oldInternalPtr) = *((Pixmap *)internalPtr);
+ *((Pixmap *)internalPtr) = newBitmap;
}
break;
}
@@ -892,8 +892,8 @@ DoObjConfig(
}
}
if (internalPtr != NULL) {
- *((Tk_3DBorder *) oldInternalPtr) = *((Tk_3DBorder *) internalPtr);
- *((Tk_3DBorder *) internalPtr) = newBorder;
+ *((Tk_3DBorder *)oldInternalPtr) = *((Tk_3DBorder *)internalPtr);
+ *((Tk_3DBorder *)internalPtr) = newBorder;
}
break;
}
@@ -910,17 +910,17 @@ DoObjConfig(
if (internalPtr != NULL) {
if (optionPtr->specPtr->flags & TYPE_MASK) {
if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(char)) {
- *((char *) oldInternalPtr) = *((char *) internalPtr);
- *((char *) internalPtr) = (char)newRelief;
+ *((char *)oldInternalPtr) = *((char *)internalPtr);
+ *((char *)internalPtr) = (char)newRelief;
} else if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(short)) {
- *((short *) oldInternalPtr) = *((short *) internalPtr);
- *((short *) internalPtr) = (short)newRelief;
+ *((short *)oldInternalPtr) = *((short *)internalPtr);
+ *((short *)internalPtr) = (short)newRelief;
} else {
Tcl_Panic("Invalid flags for %s", "TK_OPTION_RELIEF");
}
} else {
- *((int *) oldInternalPtr) = *((int *) internalPtr);
- *((int *) internalPtr) = newRelief;
+ *((int *)oldInternalPtr) = *((int *)internalPtr);
+ *((int *)internalPtr) = newRelief;
}
}
if (slotPtrPtr != NULL && valuePtr != NULL) {
@@ -961,17 +961,17 @@ DoObjConfig(
if (internalPtr != NULL) {
if (optionPtr->specPtr->flags & TYPE_MASK) {
if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(char)) {
- *((char *) oldInternalPtr) = *((char *) internalPtr);
- *((char *) internalPtr) = (char)newJustify;
+ *((char *)oldInternalPtr) = *((char *)internalPtr);
+ *((char *)internalPtr) = (char)newJustify;
} else if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(short)) {
- *((short *) oldInternalPtr) = *((short *) internalPtr);
- *((short *) internalPtr) = (short)newJustify;
+ *((short *)oldInternalPtr) = *((short *)internalPtr);
+ *((short *)internalPtr) = (short)newJustify;
} else {
Tcl_Panic("Invalid flags for %s", "TK_OPTION_JUSTIFY");
}
} else {
- *((int *) oldInternalPtr) = *((int *) internalPtr);
- *((int *) internalPtr) = newJustify;
+ *((int *)oldInternalPtr) = *((int *)internalPtr);
+ *((int *)internalPtr) = newJustify;
}
}
if (slotPtrPtr != NULL && valuePtr != NULL) {
@@ -993,17 +993,17 @@ DoObjConfig(
if (internalPtr != NULL) {
if (optionPtr->specPtr->flags & TYPE_MASK) {
if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(char)) {
- *((char *) oldInternalPtr) = *((char *) internalPtr);
- *((char *) internalPtr) = (char)newAnchor;
+ *((char *)oldInternalPtr) = *((char *)internalPtr);
+ *((char *)internalPtr) = (char)newAnchor;
} else if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(short)) {
- *((short *) oldInternalPtr) = *((short *) internalPtr);
- *((short *) internalPtr) = (short)newAnchor;
+ *((short *)oldInternalPtr) = *((short *)internalPtr);
+ *((short *)internalPtr) = (short)newAnchor;
} else {
Tcl_Panic("Invalid flags for %s", "TK_OPTION_JUSTIFY");
}
} else {
- *((int *) oldInternalPtr) = *((int *) internalPtr);
- *((int *) internalPtr) = newAnchor;
+ *((int *)oldInternalPtr) = *((int *)internalPtr);
+ *((int *)internalPtr) = newAnchor;
}
}
if (slotPtrPtr != NULL && valuePtr != NULL) {
@@ -1020,16 +1020,16 @@ DoObjConfig(
newPixels = INT_MIN;
} else if (Tk_GetPixelsFromObj(nullOK ? NULL : interp, tkwin, valuePtr,
&newPixels) != TCL_OK) {
- if (nullOK && interp) {
+ if (nullOK) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"expected screen distance or \"\" but got \"%.50s\"", Tcl_GetString(valuePtr)));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "PIXELS", NULL);
+ Tcl_SetErrorCode(interp, "TK", "VALUE", "PIXELS", (char *)NULL);
}
return TCL_ERROR;
}
if (internalPtr != NULL) {
- *((int *) oldInternalPtr) = *((int *) internalPtr);
- *((int *) internalPtr) = newPixels;
+ *((int *)oldInternalPtr) = *((int *)internalPtr);
+ *((int *)internalPtr) = newPixels;
}
break;
}
@@ -1044,8 +1044,8 @@ DoObjConfig(
return TCL_ERROR;
}
if (internalPtr != NULL) {
- *((Tk_Window *) oldInternalPtr) = *((Tk_Window *) internalPtr);
- *((Tk_Window *) internalPtr) = newWin;
+ *((Tk_Window *)oldInternalPtr) = *((Tk_Window *)internalPtr);
+ *((Tk_Window *)internalPtr) = newWin;
}
break;
}
@@ -1064,7 +1064,7 @@ DoObjConfig(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"bad config table: unknown type %d",
optionPtr->specPtr->type));
- Tcl_SetErrorCode(interp, "TK", "BAD_CONFIG", NULL);
+ Tcl_SetErrorCode(interp, "TK", "BAD_CONFIG", (char *)NULL);
return TCL_ERROR;
}
@@ -1271,7 +1271,7 @@ GetOptionFromObj(
if (interp != NULL) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"unknown option \"%s\"", name));
- Tcl_SetErrorCode(interp, "TK", "LOOKUP", "OPTION", name, NULL);
+ Tcl_SetErrorCode(interp, "TK", "LOOKUP", "OPTION", name, (char *)NULL);
}
return NULL;
}
@@ -1447,7 +1447,7 @@ Tk_SetOptions(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"value for \"%s\" missing",
Tcl_GetString(*objv)));
- Tcl_SetErrorCode(interp, "TK", "VALUE_MISSING", NULL);
+ Tcl_SetErrorCode(interp, "TK", "VALUE_MISSING", (char *)NULL);
goto error;
}
}
@@ -1570,86 +1570,86 @@ Tk_RestoreSavedOptions(
= savePtr->items[i].valuePtr;
}
if (specPtr->internalOffset != TCL_INDEX_NONE) {
- char *ptr = (char *) &savePtr->items[i].internalForm;
+ char *ptr = (char *)&savePtr->items[i].internalForm;
CLANG_ASSERT(internalPtr);
switch (specPtr->type) {
case TK_OPTION_BOOLEAN:
if (optionPtr->specPtr->flags & TYPE_MASK) {
if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(char)) {
- *((char *) internalPtr) = *((char *) ptr);
+ *((char *)internalPtr) = *((char *)ptr);
} else if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(short)) {
- *((short *) internalPtr) = *((short *) ptr);
+ *((short *)internalPtr) = *((short *)ptr);
} else {
Tcl_Panic("Invalid flags for %s", "TK_OPTION_BOOLEAN");
}
} else {
- *((int *) internalPtr) = *((int *) ptr);
+ *((int *)internalPtr) = *((int *)ptr);
}
break;
case TK_OPTION_INT:
if (optionPtr->specPtr->flags & TYPE_MASK) {
if ((optionPtr->specPtr->flags & TYPE_MASK) == TYPE_MASK) {
if (sizeof(long) > sizeof(int)) {
- *((long *) internalPtr) = *((long *) ptr);
+ *((long *)internalPtr) = *((long *)ptr);
} else {
- *((long long *) internalPtr) = *((long long *) ptr);
+ *((long long *)internalPtr) = *((long long *)ptr);
}
} else {
Tcl_Panic("Invalid flags for %s", "TK_OPTION_INT");
}
} else {
- *((int *) internalPtr) = *((int *) ptr);
+ *((int *)internalPtr) = *((int *)ptr);
}
break;
case TK_OPTION_INDEX:
- *((int *) internalPtr) = *((int *) ptr);
+ *((int *)internalPtr) = *((int *)ptr);
break;
case TK_OPTION_DOUBLE:
- *((double *) internalPtr) = *((double *) ptr);
+ *((double *)internalPtr) = *((double *)ptr);
break;
case TK_OPTION_STRING:
- *((char **) internalPtr) = *((char **) ptr);
+ *((char **)internalPtr) = *((char **)ptr);
break;
case TK_OPTION_STRING_TABLE:
if (optionPtr->specPtr->flags & TYPE_MASK) {
if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(char)) {
- *((char *) internalPtr) = *((char *) ptr);
+ *((char *)internalPtr) = *((char *)ptr);
} else if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(short)) {
- *((short *) internalPtr) = *((short *) ptr);
+ *((short *)internalPtr) = *((short *)ptr);
} else {
Tcl_Panic("Invalid flags for %s", "TK_OPTION_STRING_TABLE");
}
} else {
- *((int *) internalPtr) = *((int *) ptr);
+ *((int *)internalPtr) = *((int *)ptr);
}
break;
case TK_OPTION_COLOR:
- *((XColor **) internalPtr) = *((XColor **) ptr);
+ *((XColor **)internalPtr) = *((XColor **)ptr);
break;
case TK_OPTION_FONT:
- *((Tk_Font *) internalPtr) = *((Tk_Font *) ptr);
+ *((Tk_Font *)internalPtr) = *((Tk_Font *)ptr);
break;
case TK_OPTION_STYLE:
- *((Tk_Style *) internalPtr) = *((Tk_Style *) ptr);
+ *((Tk_Style *)internalPtr) = *((Tk_Style *)ptr);
break;
case TK_OPTION_BITMAP:
- *((Pixmap *) internalPtr) = *((Pixmap *) ptr);
+ *((Pixmap *)internalPtr) = *((Pixmap *)ptr);
break;
case TK_OPTION_BORDER:
- *((Tk_3DBorder *) internalPtr) = *((Tk_3DBorder *) ptr);
+ *((Tk_3DBorder *)internalPtr) = *((Tk_3DBorder *)ptr);
break;
case TK_OPTION_RELIEF:
if (optionPtr->specPtr->flags & TYPE_MASK) {
if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(char)) {
- *((char *) internalPtr) = *((char *) ptr);
+ *((char *)internalPtr) = *((char *)ptr);
} else if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(short)) {
- *((short *) internalPtr) = *((short *) ptr);
+ *((short *)internalPtr) = *((short *)ptr);
} else {
Tcl_Panic("Invalid flags for %s", "TK_OPTION_RELIEF");
}
} else {
- *((int *) internalPtr) = *((int *) ptr);
+ *((int *)internalPtr) = *((int *)ptr);
}
break;
case TK_OPTION_CURSOR:
@@ -1659,34 +1659,34 @@ Tk_RestoreSavedOptions(
case TK_OPTION_JUSTIFY:
if (optionPtr->specPtr->flags & TYPE_MASK) {
if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(char)) {
- *((char *) internalPtr) = *((char *) ptr);
+ *((char *)internalPtr) = *((char *)ptr);
} else if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(short)) {
- *((short *) internalPtr) = *((short *) ptr);
+ *((short *)internalPtr) = *((short *)ptr);
} else {
Tcl_Panic("Invalid flags for %s", "TK_OPTION_JUSTIFY");
}
} else {
- *((int *) internalPtr) = *((int *) ptr);
+ *((int *)internalPtr) = *((int *)ptr);
}
break;
case TK_OPTION_ANCHOR:
if (optionPtr->specPtr->flags & TYPE_MASK) {
if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(char)) {
- *((char *) internalPtr) = *((char *) ptr);
+ *((char *)internalPtr) = *((char *)ptr);
} else if ((optionPtr->specPtr->flags & TYPE_MASK) == TK_OPTION_VAR(short)) {
- *((short *) internalPtr) = *((short *) ptr);
+ *((short *)internalPtr) = *((short *)ptr);
} else {
Tcl_Panic("Invalid flags for %s", "TK_OPTION_ANCHOR");
}
} else {
- *((int *) internalPtr) = *((int *) ptr);
+ *((int *)internalPtr) = *((int *)ptr);
}
break;
case TK_OPTION_PIXELS:
- *((int *) internalPtr) = *((int *) ptr);
+ *((int *)internalPtr) = *((int *)ptr);
break;
case TK_OPTION_WINDOW:
- *((Tk_Window *) internalPtr) = *((Tk_Window *) ptr);
+ *((Tk_Window *)internalPtr) = *((Tk_Window *)ptr);
break;
case TK_OPTION_CUSTOM: {
const Tk_ObjCustomOption *custom = optionPtr->extra.custom;
@@ -1738,7 +1738,7 @@ Tk_FreeSavedOptions(
savedOptionPtr = &savePtr->items[count-1];
if (savedOptionPtr->optionPtr->flags & OPTION_NEEDS_FREEING) {
FreeResources(savedOptionPtr->optionPtr, savedOptionPtr->valuePtr,
- (char *) &savedOptionPtr->internalForm, savePtr->tkwin);
+ (char *)&savedOptionPtr->internalForm, savePtr->tkwin);
}
if (savedOptionPtr->valuePtr != NULL) {
Tcl_DecrRefCount(savedOptionPtr->valuePtr);
@@ -1849,17 +1849,17 @@ FreeResources(
switch (optionPtr->specPtr->type) {
case TK_OPTION_STRING:
if (internalFormExists) {
- if (*((char **) internalPtr) != NULL) {
- ckfree(*((char **) internalPtr));
- *((char **) internalPtr) = NULL;
+ if (*((char **)internalPtr) != NULL) {
+ ckfree(*((char **)internalPtr));
+ *((char **)internalPtr) = NULL;
}
}
break;
case TK_OPTION_COLOR:
if (internalFormExists) {
- if (*((XColor **) internalPtr) != NULL) {
- Tk_FreeColor(*((XColor **) internalPtr));
- *((XColor **) internalPtr) = NULL;
+ if (*((XColor **)internalPtr) != NULL) {
+ Tk_FreeColor(*((XColor **)internalPtr));
+ *((XColor **)internalPtr) = NULL;
}
} else if (objPtr != NULL) {
Tk_FreeColorFromObj(tkwin, objPtr);
@@ -1867,23 +1867,23 @@ FreeResources(
break;
case TK_OPTION_FONT:
if (internalFormExists) {
- Tk_FreeFont(*((Tk_Font *) internalPtr));
- *((Tk_Font *) internalPtr) = NULL;
+ Tk_FreeFont(*((Tk_Font *)internalPtr));
+ *((Tk_Font *)internalPtr) = NULL;
} else if (objPtr != NULL) {
Tk_FreeFontFromObj(tkwin, objPtr);
}
break;
case TK_OPTION_STYLE:
if (internalFormExists) {
- Tk_FreeStyle(*((Tk_Style *) internalPtr));
- *((Tk_Style *) internalPtr) = NULL;
+ Tk_FreeStyle(*((Tk_Style *)internalPtr));
+ *((Tk_Style *)internalPtr) = NULL;
}
break;
case TK_OPTION_BITMAP:
if (internalFormExists) {
- if (*((Pixmap *) internalPtr) != None) {
- Tk_FreeBitmap(Tk_Display(tkwin), *((Pixmap *) internalPtr));
- *((Pixmap *) internalPtr) = None;
+ if (*((Pixmap *)internalPtr) != None) {
+ Tk_FreeBitmap(Tk_Display(tkwin), *((Pixmap *)internalPtr));
+ *((Pixmap *)internalPtr) = None;
}
} else if (objPtr != NULL) {
Tk_FreeBitmapFromObj(tkwin, objPtr);
@@ -1891,9 +1891,9 @@ FreeResources(
break;
case TK_OPTION_BORDER:
if (internalFormExists) {
- if (*((Tk_3DBorder *) internalPtr) != NULL) {
- Tk_Free3DBorder(*((Tk_3DBorder *) internalPtr));
- *((Tk_3DBorder *) internalPtr) = NULL;
+ if (*((Tk_3DBorder *)internalPtr) != NULL) {
+ Tk_Free3DBorder(*((Tk_3DBorder *)internalPtr));
+ *((Tk_3DBorder *)internalPtr) = NULL;
}
} else if (objPtr != NULL) {
Tk_Free3DBorderFromObj(tkwin, objPtr);
@@ -2130,7 +2130,7 @@ GetObjectForOption(
}
case TK_OPTION_INT: {
Tcl_WideInt value;
- int nullOK = (optionPtr->specPtr->flags & (TK_OPTION_NULL_OK|TCL_NULL_OK));
+ int nullOK = (optionPtr->specPtr->flags & (TK_OPTION_NULL_OK|TCL_NULL_OK|1));
if (optionPtr->specPtr->flags & TYPE_MASK) {
if ((optionPtr->specPtr->flags & TYPE_MASK) == TYPE_MASK) {
if (sizeof(long) > sizeof(int)) {
@@ -2151,25 +2151,25 @@ GetObjectForOption(
break;
}
case TK_OPTION_INDEX:
- if (!(optionPtr->specPtr->flags & (TK_OPTION_NULL_OK|TCL_NULL_OK)) || *((int *) internalPtr) != INT_MIN) {
- if (*((int *) internalPtr) == INT_MIN) {
+ if (!(optionPtr->specPtr->flags & (TK_OPTION_NULL_OK|TCL_NULL_OK|1)) || *((int *)internalPtr) != INT_MIN) {
+ if (*((int *)internalPtr) == INT_MIN) {
objPtr = TkNewIndexObj(TCL_INDEX_NONE);
- } else if (*((int *) internalPtr) == INT_MAX) {
+ } else if (*((int *)internalPtr) == INT_MAX) {
objPtr = Tcl_NewStringObj("end+1", TCL_INDEX_NONE);
- } else if (*((int *) internalPtr) == -1) {
+ } else if (*((int *)internalPtr) == -1) {
objPtr = Tcl_NewStringObj("end", TCL_INDEX_NONE);
- } else if (*((int *) internalPtr) < 0) {
+ } else if (*((int *)internalPtr) < 0) {
char buf[32];
- snprintf(buf, 32, "end%d", 1 + *((int *) internalPtr));
+ snprintf(buf, 32, "end%d", 1 + *((int *)internalPtr));
objPtr = Tcl_NewStringObj(buf, TCL_INDEX_NONE);
} else {
- objPtr = Tcl_NewWideIntObj(*((int *) internalPtr));
+ objPtr = Tcl_NewWideIntObj(*((int *)internalPtr));
}
}
break;
case TK_OPTION_DOUBLE:
- if (!(optionPtr->specPtr->flags & (TK_OPTION_NULL_OK|TCL_NULL_OK)) || !isnan(*((double *) internalPtr))) {
- objPtr = Tcl_NewDoubleObj(*((double *) internalPtr));
+ if (!(optionPtr->specPtr->flags & (TK_OPTION_NULL_OK|TCL_NULL_OK|1)) || !isnan(*((double *)internalPtr))) {
+ objPtr = Tcl_NewDoubleObj(*((double *)internalPtr));
}
break;
case TK_OPTION_STRING:
@@ -2189,7 +2189,7 @@ GetObjectForOption(
value = *((int *)internalPtr);
}
if (value >= 0) {
- objPtr = Tcl_NewStringObj(((char **) optionPtr->specPtr->clientData)[
+ objPtr = Tcl_NewStringObj(((char **)optionPtr->specPtr->clientData)[
value], TCL_INDEX_NONE);
}
break;
@@ -2299,12 +2299,12 @@ GetObjectForOption(
break;
}
case TK_OPTION_PIXELS:
- if (!(optionPtr->specPtr->flags & (TK_OPTION_NULL_OK|TCL_NULL_OK)) || *((int *) internalPtr) != INT_MIN) {
+ if (!(optionPtr->specPtr->flags & (TK_OPTION_NULL_OK|TCL_NULL_OK|1)) || *((int *)internalPtr) != INT_MIN) {
objPtr = Tcl_NewWideIntObj(*((int *)internalPtr));
}
break;
case TK_OPTION_WINDOW: {
- tkwin = *((Tk_Window *) internalPtr);
+ tkwin = *((Tk_Window *)internalPtr);
if (tkwin != NULL) {
objPtr = Tcl_NewStringObj(Tk_PathName(tkwin), TCL_INDEX_NONE);
diff --git a/generic/tkEntry.c b/generic/tkEntry.c
index d1514d1..3b9b00f 100644
--- a/generic/tkEntry.c
+++ b/generic/tkEntry.c
@@ -1316,7 +1316,7 @@ ConfigureEntry(
Tk_SetInternalBorder(entryPtr->tkwin,
entryPtr->borderWidth + entryPtr->highlightWidth);
- if (entryPtr->highlightWidth <= 0) {
+ if (entryPtr->highlightWidth < 0) {
entryPtr->highlightWidth = 0;
}
entryPtr->inset = entryPtr->highlightWidth
diff --git a/generic/tkFont.c b/generic/tkFont.c
index 6f566d2..6a90add 100644
--- a/generic/tkFont.c
+++ b/generic/tkFont.c
@@ -1318,7 +1318,6 @@ Tk_GetFontFromObj(
FreeFontObj(objPtr);
fontPtr = NULL;
} else if (Tk_Screen(tkwin) == fontPtr->screen) {
- fontPtr->resourceRefCount++;
return (Tk_Font) fontPtr;
}
}
@@ -4296,7 +4295,7 @@ Tcl_Obj *
TkDebugFont(
Tk_Window tkwin, /* The window in which the font will be used
* (not currently used). */
- const char *name) /* Name of the desired color. */
+ const char *name) /* Name of the desired font. */
{
TkFont *fontPtr;
Tcl_HashEntry *hashPtr;
diff --git a/generic/tkFrame.c b/generic/tkFrame.c
index c0d45e8..d49292b 100644
--- a/generic/tkFrame.c
+++ b/generic/tkFrame.c
@@ -1468,10 +1468,14 @@ DisplayFrame(
* off-screen memory, then copies it back on-screen in a single operation.
* This means there's no point in time where the on-screen image has been
* cleared.
+ * Also, ensure that the pixmap size is at least 1x1 pixels to prevent
+ * crashes, see [610aa08858].
*/
pixmap = Tk_GetPixmap(framePtr->display, Tk_WindowId(tkwin),
- Tk_Width(tkwin), Tk_Height(tkwin), Tk_Depth(tkwin));
+ (Tk_Width(tkwin) > 0 ? Tk_Width(tkwin) : 1),
+ (Tk_Height(tkwin) > 0 ? Tk_Height(tkwin) : 1),
+ Tk_Depth(tkwin));
#else
pixmap = Tk_WindowId(tkwin);
Tk_ClipDrawableToRect(Tk_Display(tkwin), pixmap, 0, 0,
diff --git a/generic/tkImgBmap.c b/generic/tkImgBmap.c
index 2fad264..116ef41 100644
--- a/generic/tkImgBmap.c
+++ b/generic/tkImgBmap.c
@@ -513,10 +513,6 @@ TkGetBitmapData(
!= TCL_OK) {
return NULL;
}
- if (Tcl_SetChannelOption(interp, pi.chan, "-encoding", "binary")
- != TCL_OK) {
- return NULL;
- }
} else {
pi.chan = NULL;
}
diff --git a/generic/tkImgGIF.c b/generic/tkImgGIF.c
index 6368972..32b01e4 100644
--- a/generic/tkImgGIF.c
+++ b/generic/tkImgGIF.c
@@ -498,7 +498,13 @@ FileReadGIF(
*/
if (Fread(gifConfPtr, buf, 1, 3, chan) != 3) {
- return TCL_OK;
+ /*
+ * Bug [865af0148c]: 3 bytes should be there, but data ended before
+ */
+ Tcl_SetObjResult(interp, Tcl_NewStringObj(
+ "GIF file truncated", -1));
+ Tcl_SetErrorCode(interp, "TK", "IMAGE", "GIF", "TRUNCATED", NULL);
+ return TCL_ERROR;
}
bitPixel = 2 << (buf[0] & 0x07);
@@ -1922,8 +1928,8 @@ FileWriteGIF(
if (!chan) {
return TCL_ERROR;
}
- if (Tcl_SetChannelOption(interp, chan, "-translation",
- "binary") != TCL_OK) {
+ if (Tcl_SetChannelOption(interp, chan, "-translation", "binary")
+ != TCL_OK) {
Tcl_Close(NULL, chan);
return TCL_ERROR;
}
diff --git a/generic/tkImgPNG.c b/generic/tkImgPNG.c
index 2879ae2..a49ed15 100644
--- a/generic/tkImgPNG.c
+++ b/generic/tkImgPNG.c
@@ -3765,13 +3765,8 @@ FileWritePNG(
goto cleanup;
}
- /*
- * Set the translation mode to binary so that CR and LF are not to the
- * platform's EOL sequence.
- */
-
- if (Tcl_SetChannelOption(interp, chan, "-translation",
- "binary") != TCL_OK) {
+ if (Tcl_SetChannelOption(interp, chan, "-translation", "binary")
+ != TCL_OK) {
goto cleanup;
}
diff --git a/generic/tkImgPPM.c b/generic/tkImgPPM.c
index 50d37d7..a9d0391 100644
--- a/generic/tkImgPPM.c
+++ b/generic/tkImgPPM.c
@@ -305,11 +305,6 @@ FileWritePPM(
Tcl_Close(NULL, chan);
return TCL_ERROR;
}
- if (Tcl_SetChannelOption(interp, chan, "-encoding", "binary")
- != TCL_OK) {
- Tcl_Close(NULL, chan);
- return TCL_ERROR;
- }
snprintf(header, sizeof(header), "P6\n%d %d\n255\n", blockPtr->width, blockPtr->height);
Tcl_Write(chan, header, TCL_INDEX_NONE);
diff --git a/generic/tkImgPhoto.c b/generic/tkImgPhoto.c
index 0c38cc4..27ffbed 100644
--- a/generic/tkImgPhoto.c
+++ b/generic/tkImgPhoto.c
@@ -1053,11 +1053,6 @@ ImgPhotoCmd(
Tcl_Close(NULL, chan);
return TCL_ERROR;
}
- if (Tcl_SetChannelOption(interp, chan, "-encoding", "binary")
- != TCL_OK) {
- Tcl_Close(NULL, chan);
- return TCL_ERROR;
- }
if (MatchFileFormat(interp, chan,
Tcl_GetString(options.name), options.format,
@@ -2092,12 +2087,8 @@ ImgPhotoConfigureModel(
metadataOutObj = Tcl_NewDictObj();
Tcl_IncrRefCount(metadataOutObj);
- /*
- * -translation binary also sets -encoding binary
- */
-
- if ((Tcl_SetChannelOption(interp, chan,
- "-translation", "binary") != TCL_OK) ||
+ if ((Tcl_SetChannelOption(interp, chan, "-translation", "binary")
+ != TCL_OK) ||
(MatchFileFormat(interp, chan, modelPtr->fileString,
modelPtr->format, modelPtr->metadata, metadataOutObj,
&imageFormat, &imageFormatVersion3,
diff --git a/generic/tkListbox.c b/generic/tkListbox.c
index 4a2ea5f..4e4fa23 100644
--- a/generic/tkListbox.c
+++ b/generic/tkListbox.c
@@ -115,7 +115,7 @@ typedef struct {
* is offset to the left by this many pixels
* (0 means no offset, positive means there is
* an offset). This is x scrolling information
- * is not linked to justification. */
+ * is not linked to justification. */
/*
* Information about what's selected or active, if any.
@@ -874,7 +874,7 @@ ListboxWidgetObjCmd(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"item number \"%s\" out of range",
Tcl_GetString(objv[2])));
- Tcl_SetErrorCode(interp, "TK", "LISTBOX", "ITEM_INDEX", NULL);
+ Tcl_SetErrorCode(interp, "TK", "LISTBOX", "ITEM_INDEX", (char *)NULL);
result = TCL_ERROR;
break;
}
@@ -911,7 +911,7 @@ ListboxWidgetObjCmd(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"item number \"%s\" out of range",
Tcl_GetString(objv[2])));
- Tcl_SetErrorCode(interp, "TK", "LISTBOX", "ITEM_INDEX", NULL);
+ Tcl_SetErrorCode(interp, "TK", "LISTBOX", "ITEM_INDEX", (char *)NULL);
result = TCL_ERROR;
break;
}
@@ -1111,15 +1111,15 @@ ListboxBboxSubCmd(
Tk_GetFontMetrics(listPtr->tkfont, &fm);
pixelWidth = Tk_TextWidth(listPtr->tkfont, stringRep, stringLen);
- if (listPtr->justify == TK_JUSTIFY_LEFT) {
- x = (listPtr->inset + listPtr->selBorderWidth) - listPtr->xOffset;
- } else if (listPtr->justify == TK_JUSTIFY_RIGHT) {
- x = Tk_Width(tkwin) - (listPtr->inset + listPtr->selBorderWidth)
- - pixelWidth - listPtr->xOffset + GetMaxOffset(listPtr);
- } else {
- x = (Tk_Width(tkwin) - pixelWidth)/2
- - listPtr->xOffset + GetMaxOffset(listPtr)/2;
- }
+ if (listPtr->justify == TK_JUSTIFY_LEFT) {
+ x = (listPtr->inset + listPtr->selBorderWidth) - listPtr->xOffset;
+ } else if (listPtr->justify == TK_JUSTIFY_RIGHT) {
+ x = Tk_Width(tkwin) - (listPtr->inset + listPtr->selBorderWidth)
+ - pixelWidth - listPtr->xOffset + GetMaxOffset(listPtr);
+ } else {
+ x = (Tk_Width(tkwin) - pixelWidth)/2
+ - listPtr->xOffset + GetMaxOffset(listPtr)/2;
+ }
y = ((index - listPtr->topIndex)*listPtr->lineHeight)
+ listPtr->inset + listPtr->selBorderWidth;
results[0] = Tcl_NewWideIntObj(x);
@@ -2072,24 +2072,24 @@ DisplayListbox(
* Draw the actual text of this item.
*/
- Tcl_ListObjIndex(listPtr->interp, listPtr->listObj, i, &curElement);
- stringRep = Tcl_GetStringFromObj(curElement, &stringLen);
- textWidth = Tk_TextWidth(listPtr->tkfont, stringRep, stringLen);
+ Tcl_ListObjIndex(listPtr->interp, listPtr->listObj, i, &curElement);
+ stringRep = Tcl_GetStringFromObj(curElement, &stringLen);
+ textWidth = Tk_TextWidth(listPtr->tkfont, stringRep, stringLen);
Tk_GetFontMetrics(listPtr->tkfont, &fm);
y += fm.ascent + listPtr->selBorderWidth;
- if (listPtr->justify == TK_JUSTIFY_LEFT) {
- x = (listPtr->inset + listPtr->selBorderWidth) - listPtr->xOffset;
- } else if (listPtr->justify == TK_JUSTIFY_RIGHT) {
- x = Tk_Width(tkwin) - (listPtr->inset + listPtr->selBorderWidth)
- - textWidth - listPtr->xOffset + GetMaxOffset(listPtr);
- } else {
- x = (Tk_Width(tkwin) - textWidth)/2
- - listPtr->xOffset + GetMaxOffset(listPtr)/2;
- }
-
- Tk_DrawChars(listPtr->display, pixmap, gc, listPtr->tkfont,
+ if (listPtr->justify == TK_JUSTIFY_LEFT) {
+ x = (listPtr->inset + listPtr->selBorderWidth) - listPtr->xOffset;
+ } else if (listPtr->justify == TK_JUSTIFY_RIGHT) {
+ x = Tk_Width(tkwin) - (listPtr->inset + listPtr->selBorderWidth)
+ - textWidth - listPtr->xOffset + GetMaxOffset(listPtr);
+ } else {
+ x = (Tk_Width(tkwin) - textWidth)/2
+ - listPtr->xOffset + GetMaxOffset(listPtr)/2;
+ }
+
+ Tk_DrawChars(listPtr->display, pixmap, gc, listPtr->tkfont,
stringRep, stringLen, x, y);
/*
@@ -2769,9 +2769,9 @@ GetListboxIndex(
stringRep = Tcl_GetString(indexObj);
if (stringRep[0] == '@') {
- /*
- * @x,y index
- */
+ /*
+ * @x,y index
+ */
int y;
char *start;
@@ -2804,7 +2804,7 @@ GetListboxIndex(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"bad listbox index \"%s\": must be active, anchor, end, @x,y,"
" or an index", Tcl_GetString(indexObj)));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "LISTBOX_INDEX", NULL);
+ Tcl_SetErrorCode(interp, "TK", "VALUE", "LISTBOX_INDEX", (char *)NULL);
return TCL_ERROR;
}
@@ -3203,7 +3203,7 @@ ListboxLostSelection(
if ((listPtr->exportSelection) && (!Tcl_IsSafe(listPtr->interp))
&& (listPtr->nElements > 0)) {
ListboxSelect(listPtr, 0, listPtr->nElements-1, 0);
- GenerateListboxSelectEvent(listPtr);
+ GenerateListboxSelectEvent(listPtr);
}
}
@@ -3448,27 +3448,27 @@ ListboxListVarProc(
if (flags & TCL_TRACE_UNSETS) {
- if (!Tcl_InterpDeleted(interp) && listPtr->listVarName) {
- void *probe = NULL;
-
- do {
- probe = Tcl_VarTraceInfo(interp,
- listPtr->listVarName,
- TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS,
- ListboxListVarProc, probe);
- if (probe == (void *)listPtr) {
- break;
- }
- } while (probe);
- if (probe) {
- /*
- * We were able to fetch the unset trace for our
- * listVarName, which means it is not unset and not
- * the cause of this unset trace. Instead some outdated
- * former variable must be, and we should ignore it.
- */
- return NULL;
- }
+ if (!Tcl_InterpDeleted(interp) && listPtr->listVarName) {
+ void *probe = NULL;
+
+ do {
+ probe = Tcl_VarTraceInfo(interp,
+ listPtr->listVarName,
+ TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS,
+ ListboxListVarProc, probe);
+ if (probe == (void *)listPtr) {
+ break;
+ }
+ } while (probe);
+ if (probe) {
+ /*
+ * We were able to fetch the unset trace for our
+ * listVarName, which means it is not unset and not
+ * the cause of this unset trace. Instead some outdated
+ * former variable must be, and we should ignore it.
+ */
+ return NULL;
+ }
Tcl_SetVar2Ex(interp, listPtr->listVarName, NULL,
listPtr->listObj, TCL_GLOBAL_ONLY);
Tcl_TraceVar2(interp, listPtr->listVarName,
@@ -3650,15 +3650,15 @@ static int GetMaxOffset(
int maxOffset;
maxOffset = listPtr->maxWidth -
- (Tk_Width(listPtr->tkwin) - 2*listPtr->inset -
- 2*listPtr->selBorderWidth) + listPtr->xScrollUnit - 1;
+ (Tk_Width(listPtr->tkwin) - 2*listPtr->inset -
+ 2*listPtr->selBorderWidth) + listPtr->xScrollUnit - 1;
if (maxOffset < 0) {
- /*
- * Listbox is larger in width than its largest width item.
- */
+ /*
+ * Listbox is larger in width than its largest width item.
+ */
- maxOffset = 0;
+ maxOffset = 0;
}
maxOffset -= maxOffset % listPtr->xScrollUnit;
diff --git a/generic/tkMenu.c b/generic/tkMenu.c
index a0cee25..be60f2a 100644
--- a/generic/tkMenu.c
+++ b/generic/tkMenu.c
@@ -900,9 +900,9 @@ MenuWidgetObjCmd(
goto error;
}
if (objc == 5) {
- if (GetMenuIndex(interp, menuPtr, objv[4], 0, &index) != TCL_OK) {
- goto error;
- }
+ if (GetMenuIndex(interp, menuPtr, objv[4], 0, &index) != TCL_OK) {
+ goto error;
+ }
}
/*
@@ -914,9 +914,9 @@ MenuWidgetObjCmd(
*/
if (menuPtr->menuType == MENUBAR) {
- Tcl_AppendResult(interp, "a menubar menu cannot be posted", NULL);
- return TCL_ERROR;
- } else if (menuPtr->menuType != TEAROFF_MENU) {
+ Tcl_AppendResult(interp, "a menubar menu cannot be posted", NULL);
+ return TCL_ERROR;
+ } else if (menuPtr->menuType != TEAROFF_MENU) {
result = TkpPostMenu(interp, menuPtr, x, y, index);
} else {
result = TkpPostTearoffMenu(interp, menuPtr, x, y, index);
@@ -1197,16 +1197,16 @@ DestroyMenuInstance(
*/
for (i = menuPtr->numEntries; --i >= 0; ) {
- /*
- * Clean up the hash entry for the menu item ID.
- * This cannot be postponed until the entry is eventually freed,
- * because the hash table may already have been deleted by then.
- */
+ /*
+ * Clean up the hash entry for the menu item ID.
+ * This cannot be postponed until the entry is eventually freed,
+ * because the hash table may already have been deleted by then.
+ */
- if (menuPtr->entries[i]->entryPtr) {
- Tcl_DeleteHashEntry(menuPtr->entries[i]->entryPtr);
- menuPtr->entries[i]->entryPtr = NULL;
- }
+ if (menuPtr->entries[i]->entryPtr) {
+ Tcl_DeleteHashEntry(menuPtr->entries[i]->entryPtr);
+ menuPtr->entries[i]->entryPtr = NULL;
+ }
/*
* As each menu entry is deleted from the end of the array of entries,
@@ -1495,8 +1495,8 @@ DestroyMenuEntry(
MenuVarProc, mePtr);
}
if (mePtr->entryPtr) {
- Tcl_DeleteHashEntry(mePtr->entryPtr);
- mePtr->entryPtr = NULL;
+ Tcl_DeleteHashEntry(mePtr->entryPtr);
+ mePtr->entryPtr = NULL;
}
TkpDestroyMenuEntry(mePtr);
TkMenuEntryFreeDrawOptions(mePtr);
@@ -2199,9 +2199,9 @@ GetMenuIndex(
entryPtr = Tcl_FindHashEntry(&menuPtr->items, string);
if (entryPtr) {
- TkMenuEntry *mePtr = (TkMenuEntry *)Tcl_GetHashValue(entryPtr);
- *indexPtr = mePtr->index;
- return TCL_OK;
+ TkMenuEntry *mePtr = (TkMenuEntry *)Tcl_GetHashValue(entryPtr);
+ *indexPtr = mePtr->index;
+ return TCL_OK;
}
for (i = 0; i < menuPtr->numEntries; i++) {
@@ -2216,7 +2216,7 @@ GetMenuIndex(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"bad menu entry index \"%s\"", string));
- Tcl_SetErrorCode(interp, "TK", "MENU", "INDEX", NULL);
+ Tcl_SetErrorCode(interp, "TK", "MENU", "INDEX", (char *)NULL);
return TCL_ERROR;
}
@@ -2407,7 +2407,7 @@ MenuAddOrInsert(
if (index < 0) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"bad menu entry index \"%s\"", Tcl_GetString(indexPtr)));
- Tcl_SetErrorCode(interp, "TK", "MENU", "INDEX", NULL);
+ Tcl_SetErrorCode(interp, "TK", "MENU", "INDEX", (char *)NULL);
return TCL_ERROR;
}
if (menuPtr->tearoff && (index == 0)) {
@@ -2429,14 +2429,14 @@ MenuAddOrInsert(
*/
if (objc % 2 == 0) {
- idPtr = objv[offs];
- if (Tcl_FindHashEntry(&menuPtr->items, Tcl_GetString(idPtr))) {
- Tcl_SetObjResult(interp, Tcl_ObjPrintf(
+ idPtr = objv[offs];
+ if (Tcl_FindHashEntry(&menuPtr->items, Tcl_GetString(idPtr))) {
+ Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"entry \"%s\" already exists", Tcl_GetString(idPtr)));
- Tcl_SetErrorCode(interp, "TK", "MENU", "ENTRY_EXISTS", NULL);
- return TCL_ERROR;
- }
- offs++;
+ Tcl_SetErrorCode(interp, "TK", "MENU", "ENTRY_EXISTS", (char *)NULL);
+ return TCL_ERROR;
+ }
+ offs++;
}
/*
@@ -2473,22 +2473,22 @@ MenuAddOrInsert(
return TCL_ERROR;
}
- if (idPtr == NULL) {
- char idbuf[16];
- /* Generate an id for the new entry on the main menu */
- do {
- snprintf(idbuf, sizeof(idbuf), "e%03X", ++menuPtr->serial);
- entryPtr = Tcl_CreateHashEntry(
+ if (idPtr == NULL) {
+ char idbuf[16];
+ /* Generate an id for the new entry on the main menu */
+ do {
+ snprintf(idbuf, sizeof(idbuf), "e%03X", ++menuPtr->serial);
+ entryPtr = Tcl_CreateHashEntry(
&menuListPtr->items, idbuf, &isNew);
- } while (!isNew);
- idPtr = Tcl_NewStringObj(idbuf, TCL_INDEX_NONE);
- } else {
- /* Reuse the specified or previously generated id on all clones */
- entryPtr = Tcl_CreateHashEntry(
+ } while (!isNew);
+ idPtr = Tcl_NewStringObj(idbuf, TCL_INDEX_NONE);
+ } else {
+ /* Reuse the specified or previously generated id on all clones */
+ entryPtr = Tcl_CreateHashEntry(
&menuListPtr->items, Tcl_GetString(idPtr), &isNew);
- }
- Tcl_SetHashValue(entryPtr, mePtr);
- mePtr->entryPtr = entryPtr;
+ }
+ Tcl_SetHashValue(entryPtr, mePtr);
+ mePtr->entryPtr = entryPtr;
/*
* If a menu has cascades, then every instance of the menu has to have
@@ -2593,26 +2593,26 @@ MenuVarProc(
*/
if (flags & TCL_TRACE_UNSETS) {
- void *probe = NULL;
+ void *probe = NULL;
mePtr->entryFlags &= ~ENTRY_SELECTED;
- do {
- probe = Tcl_VarTraceInfo(interp, name,
- TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS,
- MenuVarProc, probe);
- if (probe == (void *)mePtr) {
- break;
- }
- } while (probe);
- if (probe) {
- /*
- * We were able to fetch the unset trace for our
- * namePtr, which means it is not unset and not
- * the cause of this unset trace. Instead some outdated
- * former variable must be, and we should ignore it.
- */
+ do {
+ probe = Tcl_VarTraceInfo(interp, name,
+ TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS,
+ MenuVarProc, probe);
+ if (probe == (void *)mePtr) {
+ break;
+ }
+ } while (probe);
+ if (probe) {
+ /*
+ * We were able to fetch the unset trace for our
+ * namePtr, which means it is not unset and not
+ * the cause of this unset trace. Instead some outdated
+ * former variable must be, and we should ignore it.
+ */
return NULL;
- }
+ }
Tcl_TraceVar2(interp, name, NULL,
TCL_GLOBAL_ONLY|TCL_TRACE_WRITES|TCL_TRACE_UNSETS,
MenuVarProc, clientData);
diff --git a/generic/tkObj.c b/generic/tkObj.c
index afcf7c8..cdea2ed 100644
--- a/generic/tkObj.c
+++ b/generic/tkObj.c
@@ -518,7 +518,7 @@ SetPixelFromAny(
if (interp != NULL) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"expected screen distance but got \"%.50s\"", string));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "PIXELS", NULL);
+ Tcl_SetErrorCode(interp, "TK", "VALUE", "PIXELS", (char *)NULL);
}
return TCL_ERROR;
}
@@ -802,7 +802,7 @@ SetMMFromAny(
error:
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"expected screen distance but got \"%.50s\"", string));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "PIXELS", NULL);
+ Tcl_SetErrorCode(interp, "TK", "VALUE", "PIXELS", (char *)NULL);
return TCL_ERROR;
}
switch (*rest) {
@@ -1103,7 +1103,7 @@ TkParsePadAmount(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"bad pad value \"%s\": must be positive screen distance",
Tcl_GetString(specObj)));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "PADDING", "DIST", NULL);
+ Tcl_SetErrorCode(interp, "TK", "VALUE", "PADDING", "DIST", (char *)NULL);
return TCL_ERROR;
}
secondInt = firstInt;
@@ -1121,7 +1121,7 @@ TkParsePadAmount(
if (objc != 1 && objc != 2) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"wrong number of parts to pad specification", TCL_INDEX_NONE));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "PADDING", "PARTS", NULL);
+ Tcl_SetErrorCode(interp, "TK", "VALUE", "PADDING", "PARTS", (char *)NULL);
return TCL_ERROR;
}
@@ -1134,7 +1134,7 @@ TkParsePadAmount(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"bad pad value \"%s\": must be positive screen distance",
Tcl_GetString(objv[0])));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "PADDING", "DIST", NULL);
+ Tcl_SetErrorCode(interp, "TK", "VALUE", "PADDING", "DIST", (char *)NULL);
return TCL_ERROR;
}
@@ -1150,7 +1150,7 @@ TkParsePadAmount(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"bad 2nd pad value \"%s\": must be positive screen distance",
Tcl_GetString(objv[1])));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "PADDING", "DIST", NULL);
+ Tcl_SetErrorCode(interp, "TK", "VALUE", "PADDING", "DIST", (char *)NULL);
return TCL_ERROR;
}
diff --git a/generic/tkOldConfig.c b/generic/tkOldConfig.c
index 9ca5a7a..0f22e3b 100644
--- a/generic/tkOldConfig.c
+++ b/generic/tkOldConfig.c
@@ -343,7 +343,7 @@ DoConfig(
int nullValue;
nullValue = 0;
- if ((*value == 0) && (specPtr->specFlags & (TK_CONFIG_NULL_OK|TCL_NULL_OK))) {
+ if ((*value == 0) && (specPtr->specFlags & (TK_CONFIG_NULL_OK|TCL_NULL_OK|1))) {
nullValue = 1;
}
@@ -354,17 +354,17 @@ DoConfig(
ptr = (char *)widgRec + specPtr->offset;
switch (specPtr->type) {
case TK_CONFIG_BOOLEAN:
- if (Tcl_GetBoolean(interp, value, (int *) ptr) != TCL_OK) {
+ if (Tcl_GetBoolean(interp, value, (int *)ptr) != TCL_OK) {
return TCL_ERROR;
}
break;
case TK_CONFIG_INT:
- if (Tcl_GetInt(interp, value, (int *) ptr) != TCL_OK) {
+ if (Tcl_GetInt(interp, value, (int *)ptr) != TCL_OK) {
return TCL_ERROR;
}
break;
case TK_CONFIG_DOUBLE:
- if (Tcl_GetDouble(interp, value, (double *) ptr) != TCL_OK) {
+ if (Tcl_GetDouble(interp, value, (double *)ptr) != TCL_OK) {
return TCL_ERROR;
}
break;
@@ -466,7 +466,7 @@ DoConfig(
}
case TK_CONFIG_RELIEF:
uid = valueIsUid ? (Tk_Uid) value : Tk_GetUid(value);
- if (Tk_GetRelief(interp, uid, (int *) ptr) != TCL_OK) {
+ if (Tk_GetRelief(interp, uid, (int *)ptr) != TCL_OK) {
return TCL_ERROR;
}
break;
@@ -507,24 +507,26 @@ DoConfig(
break;
case TK_CONFIG_CAP_STYLE:
uid = valueIsUid ? (Tk_Uid) value : Tk_GetUid(value);
- if (Tk_GetCapStyle(interp, uid, (int *) ptr) != TCL_OK) {
+ if (Tk_GetCapStyle(interp, uid, (int *)ptr) != TCL_OK) {
return TCL_ERROR;
}
break;
case TK_CONFIG_JOIN_STYLE:
uid = valueIsUid ? (Tk_Uid) value : Tk_GetUid(value);
- if (Tk_GetJoinStyle(interp, uid, (int *) ptr) != TCL_OK) {
+ if (Tk_GetJoinStyle(interp, uid, (int *)ptr) != TCL_OK) {
return TCL_ERROR;
}
break;
case TK_CONFIG_PIXELS:
- if (Tk_GetPixels(interp, tkwin, value, (int *) ptr)
+ if (nullValue) {
+ *(int *)ptr = INT_MIN;
+ } else if (Tk_GetPixels(interp, tkwin, value, (int *)ptr)
!= TCL_OK) {
return TCL_ERROR;
}
break;
case TK_CONFIG_MM:
- if (Tk_GetScreenMM(interp, tkwin, value, (double*)ptr) != TCL_OK) {
+ if (Tk_GetScreenMM(interp, tkwin, value, (double *)ptr) != TCL_OK) {
return TCL_ERROR;
}
break;
@@ -857,8 +859,10 @@ FormatConfigValue(
result = Tk_NameOfJoinStyle(*((int *)ptr));
break;
case TK_CONFIG_PIXELS:
- snprintf(buffer, 200, "%d", *((int *)ptr));
- result = buffer;
+ if ((*(int *)ptr != INT_MIN) || !(specPtr->specFlags & (TK_CONFIG_NULL_OK|TCL_NULL_OK|1))) {
+ snprintf(buffer, 200, "%d", *((int *)ptr));
+ result = buffer;
+ }
break;
case TK_CONFIG_MM:
Tcl_PrintDouble(interp, *((double *)ptr), buffer);
diff --git a/generic/tkOption.c b/generic/tkOption.c
index e626930..f6976bd 100644
--- a/generic/tkOption.c
+++ b/generic/tkOption.c
@@ -881,7 +881,7 @@ ParsePriority(
"bad priority level \"%s\": must be "
"widgetDefault, startupFile, userDefault, "
"interactive, or a number between 0 and 100", string));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "PRIORITY", NULL);
+ Tcl_SetErrorCode(interp, "TK", "VALUE", "PRIORITY", (char *)NULL);
return -1;
}
}
@@ -965,7 +965,7 @@ AddFromString(
if ((*src == '\0') || (*src == '\n')) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"missing colon on line %d", lineNum));
- Tcl_SetErrorCode(interp, "TK", "OPTIONDB", "COLON", NULL);
+ Tcl_SetErrorCode(interp, "TK", "OPTIONDB", "COLON", (char *)NULL);
return TCL_ERROR;
}
if ((src[0] == '\\') && (src[1] == '\n')) {
@@ -1002,7 +1002,7 @@ AddFromString(
if (*src == '\0') {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"missing value on line %d", lineNum));
- Tcl_SetErrorCode(interp, "TK", "OPTIONDB", "VALUE", NULL);
+ Tcl_SetErrorCode(interp, "TK", "OPTIONDB", "VALUE", (char *)NULL);
return TCL_ERROR;
}
@@ -1016,7 +1016,7 @@ AddFromString(
if (*src == '\0') {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"missing newline on line %d", lineNum));
- Tcl_SetErrorCode(interp, "TK", "OPTIONDB", "NEWLINE", NULL);
+ Tcl_SetErrorCode(interp, "TK", "OPTIONDB", "NEWLINE", (char *)NULL);
return TCL_ERROR;
}
if (*src == '\\'){
@@ -1096,7 +1096,7 @@ ReadOptionFile(
if (Tcl_IsSafe(interp)) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"can't read options from a file in a safe interpreter", TCL_INDEX_NONE));
- Tcl_SetErrorCode(interp, "TK", "SAFE", "OPTION_FILE", NULL);
+ Tcl_SetErrorCode(interp, "TK", "SAFE", "OPTION_FILE", (char *)NULL);
return TCL_ERROR;
}
diff --git a/generic/tkPack.c b/generic/tkPack.c
index baf2a70..3ad8cae 100644
--- a/generic/tkPack.c
+++ b/generic/tkPack.c
@@ -1108,7 +1108,7 @@ PackStructureProc(
Tcl_DoWhenIdle(ArrangePacking, packPtr);
}
if ((packPtr->containerPtr != NULL)
- && (packPtr->doubleBw != 2*Tk_Changes(packPtr->tkwin)->border_width)) {
+ && (packPtr->doubleBw != 2*Tk_Changes(packPtr->tkwin)->border_width)) {
if (!(packPtr->containerPtr->flags & REQUESTED_REPACK)) {
packPtr->doubleBw = 2*Tk_Changes(packPtr->tkwin)->border_width;
packPtr->containerPtr->flags |= REQUESTED_REPACK;
@@ -1133,7 +1133,7 @@ PackStructureProc(
if (packPtr->tkwin != NULL) {
TkDisplay *dispPtr = ((TkWindow *) packPtr->tkwin)->dispPtr;
- Tcl_DeleteHashEntry(Tcl_FindHashEntry(&dispPtr->packerHashTable,
+ Tcl_DeleteHashEntry(Tcl_FindHashEntry(&dispPtr->packerHashTable,
packPtr->tkwin));
}
@@ -1485,8 +1485,8 @@ ConfigureContent(
container = (TkWindow *)TkGetContainer(container)) {
if (container == (TkWindow *)content) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't put \"%s\" inside \"%s\": would cause management loop",
- Tcl_GetString(objv[j]), Tk_PathName(containerPtr->tkwin)));
+ "can't put \"%s\" inside \"%s\": would cause management loop",
+ Tcl_GetString(objv[j]), Tk_PathName(containerPtr->tkwin)));
Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "LOOP", NULL);
return TCL_ERROR;
}
diff --git a/generic/tkPanedWindow.c b/generic/tkPanedWindow.c
index d7f2d45..b244c9a 100644
--- a/generic/tkPanedWindow.c
+++ b/generic/tkPanedWindow.c
@@ -86,7 +86,7 @@ typedef struct Pane {
* the x dimension. */
int pady; /* Additional padding requested for pane, in
* the y dimension. */
- Tcl_Obj *widthPtr, *heightPtr;
+ Tcl_Obj *widthObj, *heightObj;
/* Tcl_Obj rep's of pane width/height, to
* allow for null values. */
int width; /* Pane width. */
@@ -125,8 +125,8 @@ typedef struct PanedWindow {
Tk_3DBorder background; /* Background color. */
int borderWidth; /* Value of -borderwidth option. */
int relief; /* 3D border effect (TK_RELIEF_RAISED, etc) */
- Tcl_Obj *widthPtr; /* Tcl_Obj rep for width. */
- Tcl_Obj *heightPtr; /* Tcl_Obj rep for height. */
+ Tcl_Obj *widthObj; /* Tcl_Obj rep for width. */
+ Tcl_Obj *heightObj; /* Tcl_Obj rep for height. */
int width, height; /* Width and height of the widget. */
enum orient orient; /* Orientation of the widget. */
Tk_Cursor cursor; /* Current cursor for window, or None. */
@@ -291,7 +291,7 @@ static const Tk_OptionSpec optionSpecs[] = {
DEF_PANEDWINDOW_HANDLESIZE, offsetof(PanedWindow, handleSizePtr),
offsetof(PanedWindow, handleSize), 0, 0, GEOMETRY},
{TK_OPTION_PIXELS, "-height", "height", "Height",
- DEF_PANEDWINDOW_HEIGHT, offsetof(PanedWindow, heightPtr),
+ DEF_PANEDWINDOW_HEIGHT, offsetof(PanedWindow, heightObj),
offsetof(PanedWindow, height), TK_OPTION_NULL_OK, 0, GEOMETRY},
{TK_OPTION_BOOLEAN, "-opaqueresize", "opaqueResize", "OpaqueResize",
DEF_PANEDWINDOW_OPAQUERESIZE, TCL_INDEX_NONE,
@@ -326,7 +326,7 @@ static const Tk_OptionSpec optionSpecs[] = {
DEF_PANEDWINDOW_SHOWHANDLE, TCL_INDEX_NONE, offsetof(PanedWindow, showHandle),
0, 0, GEOMETRY},
{TK_OPTION_PIXELS, "-width", "width", "Width",
- DEF_PANEDWINDOW_WIDTH, offsetof(PanedWindow, widthPtr),
+ DEF_PANEDWINDOW_WIDTH, offsetof(PanedWindow, widthObj),
offsetof(PanedWindow, width), TK_OPTION_NULL_OK, 0, GEOMETRY},
{TK_OPTION_END, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0}
};
@@ -339,7 +339,7 @@ static const Tk_OptionSpec paneOptionSpecs[] = {
DEF_PANEDWINDOW_PANE_BEFORE, TCL_INDEX_NONE, offsetof(Pane, before),
TK_OPTION_NULL_OK, 0, 0},
{TK_OPTION_PIXELS, "-height", NULL, NULL,
- DEF_PANEDWINDOW_PANE_HEIGHT, offsetof(Pane, heightPtr),
+ DEF_PANEDWINDOW_PANE_HEIGHT, offsetof(Pane, heightObj),
offsetof(Pane, height), TK_OPTION_NULL_OK, 0, 0},
{TK_OPTION_BOOLEAN, "-hide", "hide", "Hide",
DEF_PANEDWINDOW_PANE_HIDE, TCL_INDEX_NONE, offsetof(Pane, hide), 0,0,GEOMETRY},
@@ -356,7 +356,7 @@ static const Tk_OptionSpec paneOptionSpecs[] = {
DEF_PANEDWINDOW_PANE_STRETCH, TCL_INDEX_NONE, offsetof(Pane, stretch),
TK_OPTION_ENUM_VAR, stretchStrings, 0},
{TK_OPTION_PIXELS, "-width", NULL, NULL,
- DEF_PANEDWINDOW_PANE_WIDTH, offsetof(Pane, widthPtr),
+ DEF_PANEDWINDOW_PANE_WIDTH, offsetof(Pane, widthObj),
offsetof(Pane, width), TK_OPTION_NULL_OK, 0, 0},
{TK_OPTION_END, NULL, NULL, NULL, NULL, 0, 0, 0, 0, 0}
};
@@ -674,7 +674,7 @@ PanedWindowWidgetObjCmd(
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"not managed by this window", TCL_INDEX_NONE));
Tcl_SetErrorCode(interp, "TK", "PANEDWINDOW", "UNMANAGED",
- NULL);
+ (char *)NULL);
}
result = TCL_ERROR;
} else {
@@ -693,15 +693,15 @@ PanedWindowWidgetObjCmd(
if (objc <= 4) {
tkwin = Tk_NameToWindow(interp, Tcl_GetString(objv[2]),
pwPtr->tkwin);
- if (tkwin == NULL) {
- /*
- * Just a plain old bad window; Tk_NameToWindow filled in an
- * error message for us.
- */
-
- result = TCL_ERROR;
- break;
- }
+ if (tkwin == NULL) {
+ /*
+ * Just a plain old bad window; Tk_NameToWindow filled in an
+ * error message for us.
+ */
+
+ result = TCL_ERROR;
+ break;
+ }
for (i = 0; i < pwPtr->numPanes; i++) {
if (pwPtr->panes[i]->tkwin == tkwin) {
resultObj = Tk_GetOptionInfo(interp,
@@ -799,7 +799,7 @@ ConfigurePanes(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"can't add %s to itself", arg));
- Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "SELF", NULL);
+ Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "SELF", (char *)NULL);
return TCL_ERROR;
} else if (Tk_IsTopLevel(tkwin)) {
/*
@@ -809,7 +809,7 @@ ConfigurePanes(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"can't add toplevel %s to %s", arg,
Tk_PathName(pwPtr->tkwin)));
- Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "TOPLEVEL", NULL);
+ Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "TOPLEVEL", (char *)NULL);
return TCL_ERROR;
} else {
/*
@@ -827,7 +827,7 @@ ConfigurePanes(
"can't add %s to %s", arg,
Tk_PathName(pwPtr->tkwin)));
Tcl_SetErrorCode(interp, "TK", "GEOMETRY",
- "HIERARCHY", NULL);
+ "HIERARCHY", (char *)NULL);
return TCL_ERROR;
}
}
@@ -887,7 +887,7 @@ ConfigurePanes(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"window \"%s\" is not managed by %s",
Tk_PathName(tkwin), Tk_PathName(pwPtr->tkwin)));
- Tcl_SetErrorCode(interp, "TK", "PANEDWINDOW", "UNMANAGED", NULL);
+ Tcl_SetErrorCode(interp, "TK", "PANEDWINDOW", "UNMANAGED", (char *)NULL);
Tk_FreeConfigOptions(&options, pwPtr->paneOpts,
pwPtr->tkwin);
return TCL_ERROR;
@@ -1127,7 +1127,7 @@ PanedWindowSashCommand(
if (!ValidSashIndex(pwPtr, sash)) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"invalid sash index", TCL_INDEX_NONE));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "SASH_INDEX", NULL);
+ Tcl_SetErrorCode(interp, "TK", "VALUE", "SASH_INDEX", (char *)NULL);
return TCL_ERROR;
}
panePtr = pwPtr->panes[sash];
@@ -1150,7 +1150,7 @@ PanedWindowSashCommand(
if (!ValidSashIndex(pwPtr, sash)) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"invalid sash index", TCL_INDEX_NONE));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "SASH_INDEX", NULL);
+ Tcl_SetErrorCode(interp, "TK", "VALUE", "SASH_INDEX", (char *)NULL);
return TCL_ERROR;
}
@@ -1186,7 +1186,7 @@ PanedWindowSashCommand(
if (!ValidSashIndex(pwPtr, sash)) {
Tcl_SetObjResult(interp, Tcl_NewStringObj(
"invalid sash index", TCL_INDEX_NONE));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "SASH_INDEX", NULL);
+ Tcl_SetErrorCode(interp, "TK", "VALUE", "SASH_INDEX", (char *)NULL);
return TCL_ERROR;
}
@@ -1369,17 +1369,17 @@ PanedWindowEventProc(
} else if (eventPtr->type == DestroyNotify) {
DestroyPanedWindow(pwPtr);
} else if (eventPtr->type == UnmapNotify) {
- for (i = 0; i < pwPtr->numPanes; i++) {
- if (!pwPtr->panes[i]->hide) {
- Tk_UnmapWindow(pwPtr->panes[i]->tkwin);
- }
- }
+ for (i = 0; i < pwPtr->numPanes; i++) {
+ if (!pwPtr->panes[i]->hide) {
+ Tk_UnmapWindow(pwPtr->panes[i]->tkwin);
+ }
+ }
} else if (eventPtr->type == MapNotify) {
- for (i = 0; i < pwPtr->numPanes; i++) {
- if (!pwPtr->panes[i]->hide) {
- Tk_MapWindow(pwPtr->panes[i]->tkwin);
- }
- }
+ for (i = 0; i < pwPtr->numPanes; i++) {
+ if (!pwPtr->panes[i]->hide) {
+ Tk_MapWindow(pwPtr->panes[i]->tkwin);
+ }
+ }
}
}
@@ -1789,18 +1789,18 @@ ArrangePanes(
*/
if (horizontal) {
- if (panePtr->width > 0) {
- paneSize = panePtr->width;
- } else {
- paneSize = panePtr->paneWidth;
- }
+ if (panePtr->width > 0) {
+ paneSize = panePtr->width;
+ } else {
+ paneSize = panePtr->paneWidth;
+ }
stretchReserve -= paneSize + (2 * panePtr->padx);
} else {
- if (panePtr->height > 0) {
- paneSize = panePtr->height;
- } else {
- paneSize = panePtr->paneHeight;
- }
+ if (panePtr->height > 0) {
+ paneSize = panePtr->height;
+ } else {
+ paneSize = panePtr->paneHeight;
+ }
stretchReserve -= paneSize + (2 * panePtr->pady);
}
if (IsStretchable(panePtr->stretch,i,first,last)
@@ -1850,18 +1850,18 @@ ArrangePanes(
*/
if (horizontal) {
- if (panePtr->width > 0) {
- paneSize = panePtr->width;
- } else {
- paneSize = panePtr->paneWidth;
- }
+ if (panePtr->width > 0) {
+ paneSize = panePtr->width;
+ } else {
+ paneSize = panePtr->paneWidth;
+ }
pwSize = pwWidth;
} else {
- if (panePtr->height > 0) {
- paneSize = panePtr->height;
- } else {
- paneSize = panePtr->paneHeight;
- }
+ if (panePtr->height > 0) {
+ paneSize = panePtr->height;
+ } else {
+ paneSize = panePtr->paneHeight;
+ }
pwSize = pwHeight;
}
if (IsStretchable(panePtr->stretch, i, first, last)) {
@@ -2491,7 +2491,7 @@ SetSticky(
"bad stickyness value \"%s\": must be a string"
" containing zero or more of n, e, s, and w",
Tcl_GetString(*value)));
- Tcl_SetErrorCode(interp, "TK", "VALUE", "STICKY", NULL);
+ Tcl_SetErrorCode(interp, "TK", "VALUE", "STICKY", (char *)NULL);
return TCL_ERROR;
}
}
@@ -2907,16 +2907,16 @@ PanedWindowProxyCommand(
return TCL_ERROR;
}
- internalBW = Tk_InternalBorderLeft(pwPtr->tkwin);
+ internalBW = Tk_InternalBorderLeft(pwPtr->tkwin);
if (pwPtr->orient == ORIENT_HORIZONTAL) {
if (x < 0) {
x = 0;
}
- pwWidth = Tk_Width(pwPtr->tkwin) - (2 * internalBW);
- if (x > pwWidth) {
- x = pwWidth;
- }
- y = Tk_InternalBorderLeft(pwPtr->tkwin);
+ pwWidth = Tk_Width(pwPtr->tkwin) - (2 * internalBW);
+ if (x > pwWidth) {
+ x = pwWidth;
+ }
+ y = Tk_InternalBorderLeft(pwPtr->tkwin);
sashWidth = pwPtr->sashWidth;
sashHeight = Tk_Height(pwPtr->tkwin) -
(2 * Tk_InternalBorderLeft(pwPtr->tkwin));
@@ -2924,10 +2924,10 @@ PanedWindowProxyCommand(
if (y < 0) {
y = 0;
}
- pwHeight = Tk_Height(pwPtr->tkwin) - (2 * internalBW);
- if (y > pwHeight) {
- y = pwHeight;
- }
+ pwHeight = Tk_Height(pwPtr->tkwin) - (2 * internalBW);
+ if (y > pwHeight) {
+ y = pwHeight;
+ }
x = Tk_InternalBorderLeft(pwPtr->tkwin);
sashHeight = pwPtr->sashWidth;
sashWidth = Tk_Width(pwPtr->tkwin) -
diff --git a/generic/tkPlace.c b/generic/tkPlace.c
index 774ad79..013c531 100644
--- a/generic/tkPlace.c
+++ b/generic/tkPlace.c
@@ -54,19 +54,19 @@ typedef struct Content {
*/
int x, y; /* X and Y pixel coordinates for tkwin. */
- Tcl_Obj *xPtr, *yPtr; /* Tcl_Obj rep's of x, y coords, to keep pixel
+ Tcl_Obj *xObj, *yObj; /* Tcl_Obj rep's of x, y coords, to keep pixel
* spec. information. */
double relX, relY; /* X and Y coordinates relative to size of
* container. */
int width, height; /* Absolute dimensions for tkwin. */
- Tcl_Obj *widthPtr; /* Tcl_Obj rep of width, to keep pixel
+ Tcl_Obj *widthObj; /* Tcl_Obj rep of width, to keep pixel
* spec. */
- Tcl_Obj *heightPtr; /* Tcl_Obj rep of height, to keep pixel
+ Tcl_Obj *heightObj; /* Tcl_Obj rep of height, to keep pixel
* spec. */
double relWidth, relHeight; /* Dimensions for tkwin relative to size of
* container. */
- Tcl_Obj *relWidthPtr;
- Tcl_Obj *relHeightPtr;
+ Tcl_Obj *relWidthObj;
+ Tcl_Obj *relHeightObj;
Tk_Anchor anchor; /* Which point on tkwin is placed at the given
* position. */
BorderMode borderMode; /* How to treat borders of container window. */
@@ -80,29 +80,29 @@ typedef struct Content {
static const Tk_OptionSpec optionSpecs[] = {
{TK_OPTION_ANCHOR, "-anchor", NULL, NULL, "nw", TCL_INDEX_NONE,
- offsetof(Content, anchor), TK_OPTION_ENUM_VAR, 0, 0},
+ offsetof(Content, anchor), TK_OPTION_ENUM_VAR, 0, 0},
{TK_OPTION_STRING_TABLE, "-bordermode", NULL, NULL, "inside", TCL_INDEX_NONE,
- offsetof(Content, borderMode), TK_OPTION_ENUM_VAR, borderModeStrings, 0},
- {TK_OPTION_PIXELS, "-height", NULL, NULL, "", offsetof(Content, heightPtr),
- offsetof(Content, height), TK_OPTION_NULL_OK, 0, 0},
+ offsetof(Content, borderMode), TK_OPTION_ENUM_VAR, borderModeStrings, 0},
+ {TK_OPTION_PIXELS, "-height", NULL, NULL, NULL, offsetof(Content, heightObj),
+ offsetof(Content, height), TK_OPTION_NULL_OK, 0, 0},
{TK_OPTION_WINDOW, "-in", NULL, NULL, "", TCL_INDEX_NONE, offsetof(Content, inTkwin),
- 0, 0, IN_MASK},
- {TK_OPTION_DOUBLE, "-relheight", NULL, NULL, "",
- offsetof(Content, relHeightPtr), offsetof(Content, relHeight),
- TK_OPTION_NULL_OK, 0, 0},
- {TK_OPTION_DOUBLE, "-relwidth", NULL, NULL, "",
- offsetof(Content, relWidthPtr), offsetof(Content, relWidth),
- TK_OPTION_NULL_OK, 0, 0},
+ 0, 0, IN_MASK},
+ {TK_OPTION_DOUBLE, "-relheight", NULL, NULL, NULL,
+ offsetof(Content, relHeightObj), offsetof(Content, relHeight),
+ TK_OPTION_NULL_OK, 0, 0},
+ {TK_OPTION_DOUBLE, "-relwidth", NULL, NULL, NULL,
+ offsetof(Content, relWidthObj), offsetof(Content, relWidth),
+ TK_OPTION_NULL_OK, 0, 0},
{TK_OPTION_DOUBLE, "-relx", NULL, NULL, "0.0", TCL_INDEX_NONE,
- offsetof(Content, relX), 0, 0, 0},
+ offsetof(Content, relX), 0, 0, 0},
{TK_OPTION_DOUBLE, "-rely", NULL, NULL, "0.0", TCL_INDEX_NONE,
- offsetof(Content, relY), 0, 0, 0},
- {TK_OPTION_PIXELS, "-width", NULL, NULL, "", offsetof(Content, widthPtr),
- offsetof(Content, width), TK_OPTION_NULL_OK, 0, 0},
- {TK_OPTION_PIXELS, "-x", NULL, NULL, "0", offsetof(Content, xPtr),
- offsetof(Content, x), TK_OPTION_NULL_OK, 0, 0},
- {TK_OPTION_PIXELS, "-y", NULL, NULL, "0", offsetof(Content, yPtr),
- offsetof(Content, y), TK_OPTION_NULL_OK, 0, 0},
+ offsetof(Content, relY), 0, 0, 0},
+ {TK_OPTION_PIXELS, "-width", NULL, NULL, NULL, offsetof(Content, widthObj),
+ offsetof(Content, width), TK_OPTION_NULL_OK, 0, 0},
+ {TK_OPTION_PIXELS, "-x", NULL, NULL, "0", offsetof(Content, xObj),
+ offsetof(Content, x), 0, 0, 0},
+ {TK_OPTION_PIXELS, "-y", NULL, NULL, "0", offsetof(Content, yObj),
+ offsetof(Content, y), 0, 0, 0},
{TK_OPTION_END, NULL, NULL, NULL, NULL, 0, TCL_INDEX_NONE, 0, 0, 0}
};
@@ -626,7 +626,7 @@ ConfigureContent(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"can't use placer on top-level window \"%s\"; use "
"wm command instead", Tk_PathName(tkwin)));
- Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "TOPLEVEL", NULL);
+ Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "TOPLEVEL", (char *)NULL);
return TCL_ERROR;
}
@@ -666,7 +666,7 @@ ConfigureContent(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"can't place \"%s\" relative to \"%s\"",
Tk_PathName(contentPtr->tkwin), Tk_PathName(win)));
- Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "HIERARCHY", NULL);
+ Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "HIERARCHY", (char *)NULL);
goto error;
}
}
@@ -674,7 +674,7 @@ ConfigureContent(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"can't place \"%s\" relative to itself",
Tk_PathName(contentPtr->tkwin)));
- Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "LOOP", NULL);
+ Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "LOOP", (char *)NULL);
goto error;
}
@@ -686,9 +686,9 @@ ConfigureContent(
container = (TkWindow *)TkGetContainer(container)) {
if (container == (TkWindow *)contentPtr->tkwin) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
- "can't put \"%s\" inside \"%s\": would cause management loop",
- Tk_PathName(contentPtr->tkwin), Tk_PathName(win)));
- Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "LOOP", NULL);
+ "can't put \"%s\" inside \"%s\": would cause management loop",
+ Tk_PathName(contentPtr->tkwin), Tk_PathName(win)));
+ Tcl_SetErrorCode(interp, "TK", "GEOMETRY", "LOOP", (char *)NULL);
goto error;
}
}
@@ -794,23 +794,23 @@ PlaceInfoCommand(
Tcl_AppendPrintfToObj(infoObj,
"-x %d -relx %.4g -y %d -rely %.4g",
contentPtr->x, contentPtr->relX, contentPtr->y, contentPtr->relY);
- if (contentPtr->widthPtr) {
+ if (contentPtr->widthObj) {
Tcl_AppendPrintfToObj(infoObj, " -width %d", contentPtr->width);
} else {
Tcl_AppendToObj(infoObj, " -width {}", TCL_INDEX_NONE);
}
- if (contentPtr->relWidthPtr) {
+ if (contentPtr->relWidthObj) {
Tcl_AppendPrintfToObj(infoObj,
" -relwidth %.4g", contentPtr->relWidth);
} else {
Tcl_AppendToObj(infoObj, " -relwidth {}", TCL_INDEX_NONE);
}
- if (contentPtr->heightPtr) {
+ if (contentPtr->heightObj) {
Tcl_AppendPrintfToObj(infoObj, " -height %d", contentPtr->height);
} else {
Tcl_AppendToObj(infoObj, " -height {}", TCL_INDEX_NONE);
}
- if (contentPtr->relHeightPtr) {
+ if (contentPtr->relHeightObj) {
Tcl_AppendPrintfToObj(infoObj,
" -relheight %.4g", contentPtr->relHeight);
} else {
@@ -906,12 +906,12 @@ RecomputePlacement(
x = (int) (x1 + ((x1 > 0) ? 0.5 : -0.5));
y1 = contentPtr->y + containerY + (contentPtr->relY*containerHeight);
y = (int) (y1 + ((y1 > 0) ? 0.5 : -0.5));
- if ((contentPtr->widthPtr) || contentPtr->relWidthPtr) {
+ if ((contentPtr->widthObj) || contentPtr->relWidthObj) {
width = 0;
- if (contentPtr->widthPtr) {
+ if (contentPtr->widthObj) {
width += contentPtr->width;
}
- if (contentPtr->relWidthPtr) {
+ if (contentPtr->relWidthObj) {
/*
* The code below is a bit tricky. In order to round correctly
* when both relX and relWidth are specified, compute the
@@ -928,12 +928,12 @@ RecomputePlacement(
width = Tk_ReqWidth(contentPtr->tkwin)
+ 2*Tk_Changes(contentPtr->tkwin)->border_width;
}
- if (contentPtr->heightPtr || contentPtr->relHeightPtr) {
+ if (contentPtr->heightObj || contentPtr->relHeightObj) {
height = 0;
- if (contentPtr->heightPtr) {
+ if (contentPtr->heightObj) {
height += contentPtr->height;
}
- if (contentPtr->relHeightPtr) {
+ if (contentPtr->relHeightObj) {
/*
* See note above for rounding errors in width computation.
*/
@@ -1015,9 +1015,9 @@ RecomputePlacement(
|| (height != Tk_Height(contentPtr->tkwin))) {
Tk_MoveResizeWindow(contentPtr->tkwin, x, y, width, height);
}
- if (abort) {
- break;
- }
+ if (abort) {
+ break;
+ }
/*
* Don't map the content unless the container is mapped: the content will
@@ -1184,14 +1184,14 @@ PlaceRequestProc(
Content *contentPtr = (Content *)clientData;
Container *containerPtr;
- if ((contentPtr->widthPtr || contentPtr->relWidthPtr)
- && (contentPtr->heightPtr || contentPtr->relHeightPtr)) {
- /*
- * Send a ConfigureNotify to indicate that the size change
- * request was rejected.
- */
+ if ((contentPtr->widthObj || contentPtr->relWidthObj)
+ && (contentPtr->heightObj || contentPtr->relHeightObj)) {
+ /*
+ * Send a ConfigureNotify to indicate that the size change
+ * request was rejected.
+ */
- TkDoConfigureNotify((TkWindow *)(contentPtr->tkwin));
+ TkDoConfigureNotify((TkWindow *)(contentPtr->tkwin));
return;
}
containerPtr = contentPtr->containerPtr;
diff --git a/generic/tkScrollbar.c b/generic/tkScrollbar.c
index f0abe18..5f03fee 100644
--- a/generic/tkScrollbar.c
+++ b/generic/tkScrollbar.c
@@ -57,7 +57,7 @@ static const Tk_ConfigSpec configSpecs[] = {
DEF_SCROLLBAR_CURSOR, offsetof(TkScrollbar, cursor), TK_CONFIG_NULL_OK, NULL},
{TK_CONFIG_PIXELS, "-elementborderwidth", "elementBorderWidth",
"BorderWidth", DEF_SCROLLBAR_EL_BORDER_WIDTH,
- offsetof(TkScrollbar, elementBorderWidth), 0, NULL},
+ offsetof(TkScrollbar, elementBorderWidth), TK_CONFIG_NULL_OK, NULL},
{TK_CONFIG_COLOR, "-highlightbackground", "highlightBackground",
"HighlightBackground", DEF_SCROLLBAR_HIGHLIGHT_BG,
offsetof(TkScrollbar, highlightBgColorPtr), 0, NULL},
@@ -172,7 +172,7 @@ Tk_ScrollbarObjCmd(
scrollPtr->highlightBgColorPtr = NULL;
scrollPtr->highlightColorPtr = NULL;
scrollPtr->inset = 0;
- scrollPtr->elementBorderWidth = -1;
+ scrollPtr->elementBorderWidth = INT_MIN;
scrollPtr->arrowLength = 0;
scrollPtr->sliderFirst = 0;
scrollPtr->sliderLast = 0;
@@ -487,6 +487,12 @@ ConfigureScrollbar(
} else {
scrollPtr->commandSize = 0;
}
+ if (scrollPtr->highlightWidth < 0) {
+ scrollPtr->highlightWidth = 0;
+ }
+ if (scrollPtr->elementBorderWidth < 0) {
+ scrollPtr->elementBorderWidth = INT_MIN;
+ }
/*
* Configure platform specific options.
diff --git a/generic/tkSelect.c b/generic/tkSelect.c
index ef15a7e..752b5ea 100644
--- a/generic/tkSelect.c
+++ b/generic/tkSelect.c
@@ -715,7 +715,7 @@ Tk_SelectionObjCmd(
if (count < 2) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"value for \"%s\" missing", string));
- Tcl_SetErrorCode(interp, "TK", "SELECTION", "VALUE", NULL);
+ Tcl_SetErrorCode(interp, "TK", "SELECTION", "VALUE", (char *)NULL);
return TCL_ERROR;
}
@@ -775,7 +775,7 @@ Tk_SelectionObjCmd(
if (count < 2) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"value for \"%s\" missing", string));
- Tcl_SetErrorCode(interp, "TK", "SELECTION", "VALUE", NULL);
+ Tcl_SetErrorCode(interp, "TK", "SELECTION", "VALUE", (char *)NULL);
return TCL_ERROR;
}
@@ -853,7 +853,7 @@ Tk_SelectionObjCmd(
if (count < 2) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"value for \"%s\" missing", string));
- Tcl_SetErrorCode(interp, "TK", "SELECTION", "VALUE", NULL);
+ Tcl_SetErrorCode(interp, "TK", "SELECTION", "VALUE", (char *)NULL);
return TCL_ERROR;
}
@@ -940,7 +940,7 @@ Tk_SelectionObjCmd(
if (count < 2) {
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"value for \"%s\" missing", string));
- Tcl_SetErrorCode(interp, "TK", "SELECTION", "VALUE", NULL);
+ Tcl_SetErrorCode(interp, "TK", "SELECTION", "VALUE", (char *)NULL);
return TCL_ERROR;
}
diff --git a/generic/tkTextDisp.c b/generic/tkTextDisp.c
index 78dad1d..027efc8 100644
--- a/generic/tkTextDisp.c
+++ b/generic/tkTextDisp.c
@@ -4414,7 +4414,7 @@ DisplayText(
Tk_Width(textPtr->tkwin) - 2*textPtr->highlightWidth,
Tk_Height(textPtr->tkwin) - 2*textPtr->highlightWidth,
textPtr->borderWidth, textPtr->relief);
- if (textPtr->highlightWidth != 0) {
+ if (textPtr->highlightWidth > 0) {
GC fgGC, bgGC;
bgGC = Tk_GCForColor(textPtr->highlightBgColorPtr,
diff --git a/generic/tkTextWind.c b/generic/tkTextWind.c
index 954e16f..8c71e48 100644
--- a/generic/tkTextWind.c
+++ b/generic/tkTextWind.c
@@ -171,7 +171,7 @@ TkTextWindowCmd(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"no embedded window at index \"%s\"",
Tcl_GetString(objv[3])));
- Tcl_SetErrorCode(interp, "TK", "TEXT", "NO_WINDOW", NULL);
+ Tcl_SetErrorCode(interp, "TK", "TEXT", "NO_WINDOW", (char *)NULL);
return TCL_ERROR;
}
@@ -209,7 +209,7 @@ TkTextWindowCmd(
Tcl_SetObjResult(interp, Tcl_ObjPrintf(
"no embedded window at index \"%s\"",
Tcl_GetString(objv[3])));
- Tcl_SetErrorCode(interp, "TK", "TEXT", "NO_WINDOW", NULL);
+ Tcl_SetErrorCode(interp, "TK", "TEXT", "NO_WINDOW", (char *)NULL);
return TCL_ERROR;
}
if (objc <= 5) {
@@ -443,7 +443,7 @@ EmbWinConfigure(
Tk_PathName(ewPtr->body.ew.tkwin),
Tk_PathName(textPtr->tkwin)));
Tcl_SetErrorCode(textPtr->interp, "TK", "GEOMETRY",
- "HIERARCHY", NULL);
+ "HIERARCHY", (char *)NULL);
ewPtr->body.ew.tkwin = NULL;
if (client != NULL) {
client->tkwin = NULL;
@@ -940,7 +940,7 @@ EmbWinLayoutProc(
Tk_PathName(ewPtr->body.ew.tkwin),
Tk_PathName(textPtr->tkwin)));
Tcl_SetErrorCode(textPtr->interp, "TK", "GEOMETRY", "HIERARCHY",
- NULL);
+ (char *)NULL);
Tcl_BackgroundException(textPtr->interp, TCL_ERROR);
ewPtr->body.ew.tkwin = NULL;
goto gotWindow;
diff --git a/generic/tkWindow.c b/generic/tkWindow.c
index 64f6ce0..9d36e9f 100644
--- a/generic/tkWindow.c
+++ b/generic/tkWindow.c
@@ -1367,7 +1367,7 @@ static void SendEnterLeaveForDestroy(
Tk_UpdatePointer((Tk_Window) containerPtr, x, y, state);
}
}
-
+
if (pointerWin && (tkwin == Tk_Parent(pointerWin))) {
Tk_UpdatePointer(Tk_Parent(tkwin), x, y, state);
}
@@ -1401,7 +1401,7 @@ Tk_DestroyWindow(
if ((winPtr->flags & TK_DONT_DESTROY_WINDOW) == 0) {
SendEnterLeaveForDestroy(tkwin);
}
-
+
winPtr->flags |= TK_ALREADY_DEAD;
/*