summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2023-10-10 11:27:17 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2023-10-10 11:27:17 (GMT)
commitd9c635b40f585244047e875ec066c04a97d4ed47 (patch)
treee764e3793b7ea11f7eb16cb637822390a7a3f83b
parent6dc845a468d697d47b07caeeda4ea8fd4cdb0bb4 (diff)
downloadtk-d9c635b40f585244047e875ec066c04a97d4ed47.zip
tk-d9c635b40f585244047e875ec066c04a97d4ed47.tar.gz
tk-d9c635b40f585244047e875ec066c04a97d4ed47.tar.bz2
Proposed fix for [d96974d99d], which should work with Tcl 8.6, 8.7 and 9.0
-rw-r--r--generic/tkBusy.c8
-rw-r--r--generic/tkCanvas.c2
-rw-r--r--generic/tkEntry.c2
-rw-r--r--generic/tkFrame.c2
-rw-r--r--generic/tkGrid.c2
-rw-r--r--generic/tkImage.c7
-rw-r--r--generic/tkListbox.c2
-rw-r--r--generic/tkMenu.c8
-rw-r--r--generic/tkOldConfig.c4
-rw-r--r--generic/tkPack.c2
-rw-r--r--generic/tkSquare.c2
-rw-r--r--generic/ttk/ttkWidget.c2
12 files changed, 22 insertions, 21 deletions
diff --git a/generic/tkBusy.c b/generic/tkBusy.c
index 5c5fb85..1f00656 100644
--- a/generic/tkBusy.c
+++ b/generic/tkBusy.c
@@ -137,7 +137,7 @@ BusyCustodyProc(
busyPtr);
TkpHideBusyWindow(busyPtr);
busyPtr->tkBusy = NULL;
- Tcl_EventuallyFree(busyPtr, (Tcl_FreeProc *)DestroyBusy);
+ Tcl_EventuallyFree(busyPtr, (Tcl_FreeProc *)(void *)DestroyBusy);
}
/*
@@ -262,7 +262,7 @@ RefWinEventProc(
* Arrange for the busy structure to be removed at a proper time.
*/
- Tcl_EventuallyFree(busyPtr, (Tcl_FreeProc *)DestroyBusy);
+ Tcl_EventuallyFree(busyPtr, (Tcl_FreeProc *)(void *)DestroyBusy);
break;
case ConfigureNotify:
@@ -383,7 +383,7 @@ BusyEventProc(
if (eventPtr->type == DestroyNotify) {
busyPtr->tkBusy = NULL;
- Tcl_EventuallyFree(busyPtr, (Tcl_FreeProc *)DestroyBusy);
+ Tcl_EventuallyFree(busyPtr, (Tcl_FreeProc *)(void *)DestroyBusy);
}
}
@@ -901,7 +901,7 @@ Tk_BusyObjCmd(
return TCL_ERROR;
}
TkpHideBusyWindow(busyPtr);
- Tcl_EventuallyFree(busyPtr, (Tcl_FreeProc *)DestroyBusy);
+ Tcl_EventuallyFree(busyPtr, (Tcl_FreeProc *)(void *)DestroyBusy);
return TCL_OK;
case BUSY_HOLD:
diff --git a/generic/tkCanvas.c b/generic/tkCanvas.c
index b80c197..6aff310 100644
--- a/generic/tkCanvas.c
+++ b/generic/tkCanvas.c
@@ -2730,7 +2730,7 @@ CanvasEventProc(
if (canvasPtr->flags & REDRAW_PENDING) {
Tcl_CancelIdleCall(DisplayCanvas, canvasPtr);
}
- Tcl_EventuallyFree(canvasPtr, (Tcl_FreeProc *) DestroyCanvas);
+ Tcl_EventuallyFree(canvasPtr, (Tcl_FreeProc *)(void *)DestroyCanvas);
} else if (eventPtr->type == ConfigureNotify) {
canvasPtr->flags |= UPDATE_SCROLLBARS;
diff --git a/generic/tkEntry.c b/generic/tkEntry.c
index 86b79ac..19d0dff 100644
--- a/generic/tkEntry.c
+++ b/generic/tkEntry.c
@@ -2498,7 +2498,7 @@ EntryEventProc(
if (entryPtr->flags & REDRAW_PENDING) {
Tcl_CancelIdleCall(DisplayEntry, clientData);
}
- Tcl_EventuallyFree(clientData, (Tcl_FreeProc *) DestroyEntry);
+ Tcl_EventuallyFree(clientData, (Tcl_FreeProc *)(void *)DestroyEntry);
}
break;
case ConfigureNotify:
diff --git a/generic/tkFrame.c b/generic/tkFrame.c
index 4d69c16..7a5e51f 100644
--- a/generic/tkFrame.c
+++ b/generic/tkFrame.c
@@ -1676,7 +1676,7 @@ FrameEventProc(
Tcl_CancelIdleCall(DisplayFrame, framePtr);
}
Tcl_CancelIdleCall(MapFrame, framePtr);
- Tcl_EventuallyFree(framePtr, (Tcl_FreeProc *) DestroyFrame);
+ Tcl_EventuallyFree(framePtr, (Tcl_FreeProc *)(void *)DestroyFrame);
} else if (eventPtr->type == FocusIn) {
if (eventPtr->xfocus.detail != NotifyInferior) {
framePtr->flags |= GOT_FOCUS;
diff --git a/generic/tkGrid.c b/generic/tkGrid.c
index ac6b59b..549a313 100644
--- a/generic/tkGrid.c
+++ b/generic/tkGrid.c
@@ -2890,7 +2890,7 @@ GridStructureProc(
Tcl_CancelIdleCall(ArrangeGrid, gridPtr);
}
gridPtr->tkwin = NULL;
- Tcl_EventuallyFree(gridPtr, (Tcl_FreeProc *)DestroyGrid);
+ Tcl_EventuallyFree(gridPtr, (Tcl_FreeProc *)(void *)DestroyGrid);
} else if (eventPtr->type == MapNotify) {
if ((gridPtr->contentPtr != NULL)
&& !(gridPtr->flags & REQUESTED_RELAYOUT)) {
diff --git a/generic/tkImage.c b/generic/tkImage.c
index 8cd5519..5858586 100644
--- a/generic/tkImage.c
+++ b/generic/tkImage.c
@@ -86,7 +86,7 @@ static Tcl_ThreadDataKey dataKey;
*/
static void ImageTypeThreadExitProc(ClientData clientData);
-static void DeleteImage(ImageModel *modelPtr);
+static void DeleteImage(void *blockPtr);
static void EventuallyDeleteImage(ImageModel *modelPtr,
int forgetImageHashNow);
@@ -958,10 +958,11 @@ Tk_DeleteImage(
static void
DeleteImage(
- ImageModel *modelPtr) /* Pointer to main data structure for image. */
+ void *blockPtr) /* Pointer to main data structure for image. */
{
Image *imagePtr;
Tk_ImageType *typePtr;
+ ImageModel *modelPtr = (ImageModel *) blockPtr;
typePtr = modelPtr->typePtr;
modelPtr->typePtr = NULL;
@@ -1015,7 +1016,7 @@ EventuallyDeleteImage(
}
if (!modelPtr->deleted) {
modelPtr->deleted = 1;
- Tcl_EventuallyFree(modelPtr, (Tcl_FreeProc *) DeleteImage);
+ Tcl_EventuallyFree(modelPtr, (Tcl_FreeProc *)(void *)DeleteImage);
}
}
diff --git a/generic/tkListbox.c b/generic/tkListbox.c
index 64b16ee..ca3280e 100644
--- a/generic/tkListbox.c
+++ b/generic/tkListbox.c
@@ -2619,7 +2619,7 @@ ListboxEventProc(
if (listPtr->flags & REDRAW_PENDING) {
Tcl_CancelIdleCall(DisplayListbox, clientData);
}
- Tcl_EventuallyFree(clientData, (Tcl_FreeProc *) DestroyListbox);
+ Tcl_EventuallyFree(clientData, (Tcl_FreeProc *)(void *)DestroyListbox);
}
} else if (eventPtr->type == ConfigureNotify) {
int vertSpace;
diff --git a/generic/tkMenu.c b/generic/tkMenu.c
index 95a3b95..e0d9a1a 100644
--- a/generic/tkMenu.c
+++ b/generic/tkMenu.c
@@ -1177,7 +1177,7 @@ DestroyMenuInstance(
*/
Tcl_EventuallyFree(menuPtr->entries[i],
- (Tcl_FreeProc*)DestroyMenuEntry);
+ (Tcl_FreeProc*)(void *)DestroyMenuEntry);
menuPtr->numEntries = i;
}
if (menuPtr->entries != NULL) {
@@ -1617,7 +1617,7 @@ ConfigureMenu(
} else if ((menuListPtr->numEntries > 0)
&& (menuListPtr->entries[0]->type == TEAROFF_ENTRY)) {
- Tcl_EventuallyFree(menuListPtr->entries[0], (Tcl_FreeProc *) DestroyMenuEntry);
+ Tcl_EventuallyFree(menuListPtr->entries[0], (Tcl_FreeProc *)(void *)DestroyMenuEntry);
for (i = 0; i < menuListPtr->numEntries - 1; i++) {
menuListPtr->entries[i] = menuListPtr->entries[i + 1];
@@ -2386,7 +2386,7 @@ MenuAddOrInsert(
errorMenuPtr != NULL;
errorMenuPtr = errorMenuPtr->nextInstancePtr) {
Tcl_EventuallyFree(errorMenuPtr->entries[index],
- (Tcl_FreeProc *) DestroyMenuEntry);
+ (Tcl_FreeProc *)(void *)DestroyMenuEntry);
for (i = index; i < errorMenuPtr->numEntries - 1; i++) {
errorMenuPtr->entries[i] = errorMenuPtr->entries[i + 1];
errorMenuPtr->entries[i]->index = i;
@@ -3521,7 +3521,7 @@ DeleteMenuCloneEntries(
for (menuListPtr = menuPtr->masterMenuPtr; menuListPtr != NULL;
menuListPtr = menuListPtr->nextInstancePtr) {
for (i = last; i >= first; i--) {
- Tcl_EventuallyFree(menuListPtr->entries[i], (Tcl_FreeProc *) DestroyMenuEntry);
+ Tcl_EventuallyFree(menuListPtr->entries[i], (Tcl_FreeProc *)(void *)DestroyMenuEntry);
}
for (i = last + 1; i < menuListPtr->numEntries; i++) {
j = i - numDeleted;
diff --git a/generic/tkOldConfig.c b/generic/tkOldConfig.c
index fe27ef6..62f3cd8 100644
--- a/generic/tkOldConfig.c
+++ b/generic/tkOldConfig.c
@@ -716,7 +716,7 @@ FormatConfigInfo(
}
result = Tcl_Merge(5, argv);
if (freeProc != NULL) {
- if ((freeProc == TCL_DYNAMIC) || (freeProc == (Tcl_FreeProc *) free)) {
+ if ((freeProc == TCL_DYNAMIC) || (freeProc == (Tcl_FreeProc *)(void *)free)) {
ckfree((char *) argv[4]);
} else {
freeProc((char *) argv[4]);
@@ -939,7 +939,7 @@ Tk_ConfigureValue(
&freeProc);
Tcl_SetObjResult(interp, Tcl_NewStringObj(result, -1));
if (freeProc != NULL) {
- if ((freeProc == TCL_DYNAMIC) || (freeProc == (Tcl_FreeProc *) free)) {
+ if ((freeProc == TCL_DYNAMIC) || (freeProc == (Tcl_FreeProc *)(void *)free)) {
ckfree((char *) result);
} else {
freeProc((char *) result);
diff --git a/generic/tkPack.c b/generic/tkPack.c
index b3b7228..9f5ea56 100644
--- a/generic/tkPack.c
+++ b/generic/tkPack.c
@@ -1465,7 +1465,7 @@ PackStructureProc(
Tcl_CancelIdleCall(ArrangePacking, packPtr);
}
packPtr->tkwin = NULL;
- Tcl_EventuallyFree(packPtr, (Tcl_FreeProc *) DestroyPacker);
+ Tcl_EventuallyFree(packPtr, (Tcl_FreeProc *)(void *)DestroyPacker);
} else if (eventPtr->type == MapNotify) {
/*
* When a container gets mapped, must redo the geometry computation so
diff --git a/generic/tkSquare.c b/generic/tkSquare.c
index 61f86c5..d45dc25 100644
--- a/generic/tkSquare.c
+++ b/generic/tkSquare.c
@@ -410,7 +410,7 @@ SquareObjEventProc(
if (squarePtr->updatePending) {
Tcl_CancelIdleCall(SquareDisplay, squarePtr);
}
- Tcl_EventuallyFree(squarePtr, (Tcl_FreeProc *) SquareDestroy);
+ Tcl_EventuallyFree(squarePtr, (Tcl_FreeProc *)(void *)SquareDestroy);
}
}
diff --git a/generic/ttk/ttkWidget.c b/generic/ttk/ttkWidget.c
index 9fa8ec0..a40c1bb 100644
--- a/generic/ttk/ttkWidget.c
+++ b/generic/ttk/ttkWidget.c
@@ -238,7 +238,7 @@ DestroyWidget(WidgetCore *corePtr)
/* NB: this can reenter the interpreter via a command traces */
Tcl_DeleteCommandFromToken(corePtr->interp, cmd);
}
- Tcl_EventuallyFree(corePtr, (Tcl_FreeProc *) FreeWidget);
+ Tcl_EventuallyFree(corePtr, (Tcl_FreeProc *)(void *)FreeWidget);
}
/*