diff options
author | jmz <jmz@FreeBSD.org> | 2000-08-10 11:21:44 +0800 |
---|---|---|
committer | jmz <jmz@FreeBSD.org> | 2000-08-10 11:21:44 +0800 |
commit | 0b5edd6f212a784bafa3d2e12b30367b2235d6d8 (patch) | |
tree | 396764048ceba26d3989bcd5319bfdd539c5dd8e /x11-toolkits/tix | |
parent | 988c55f935b5da2f15c43231b4e22b580f29e852 (diff) | |
download | freebsd-ports-gnome-0b5edd6f212a784bafa3d2e12b30367b2235d6d8.tar.gz freebsd-ports-gnome-0b5edd6f212a784bafa3d2e12b30367b2235d6d8.tar.zst freebsd-ports-gnome-0b5edd6f212a784bafa3d2e12b30367b2235d6d8.zip |
Fix bugs with the tixGrid widget
Submitted by: joerg
Diffstat (limited to 'x11-toolkits/tix')
-rw-r--r-- | x11-toolkits/tix/files/patch-ae | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/x11-toolkits/tix/files/patch-ae b/x11-toolkits/tix/files/patch-ae new file mode 100644 index 000000000000..61877049f8e0 --- /dev/null +++ b/x11-toolkits/tix/files/patch-ae @@ -0,0 +1,71 @@ +--- ../../generic/tixGrid.c.orig Thu Feb 11 18:11:44 1999 ++++ ../../generic/tixGrid.c Wed Aug 9 19:15:03 2000 +@@ -798,7 +798,7 @@ + cellDone = TixGrDataNextCell(&cellSearch)) { + + TixGridDataDeleteSearchedEntry(&cellSearch); +- Tix_GrFreeElem((TixGrEntry*)cellSearch.data); ++ Tix_GrFreeElem(wPtr, (TixGrEntry*)cellSearch.data); + } + } + +@@ -1757,6 +1757,10 @@ + iPtr->base.clientData = (ClientData)wPtr; /* %%%% */ + + if (chPtr->iPtr) { ++ if (Tix_DItemType(chPtr->iPtr) == TIX_DITEM_WINDOW) { ++ Tix_WindowItemListRemove(&wPtr->mappedWindows, ++ chPtr->iPtr); ++ } + Tix_DItemFree(chPtr->iPtr); + } + chPtr->iPtr = iPtr; +@@ -1800,7 +1804,7 @@ + chPtr = Tix_GrFindElem(interp, wPtr, x, y); + if (chPtr != NULL) { + TixGridDataDeleteEntry(wPtr->dataSet, x, y); +- Tix_GrFreeElem(chPtr); ++ Tix_GrFreeElem(wPtr, chPtr); + Tix_GrDoWhenIdle(wPtr, TIX_GR_RESIZE); + } + return TCL_OK; +@@ -3008,10 +3012,15 @@ + */ + + void +-Tix_GrFreeElem(chPtr) ++Tix_GrFreeElem(wPtr, chPtr) ++ WidgetPtr wPtr; + TixGrEntry * chPtr; /* The element fo free */ + { + if (chPtr->iPtr) { ++ if (Tix_DItemType(chPtr->iPtr) == TIX_DITEM_WINDOW) { ++ Tix_WindowItemListRemove(&wPtr->mappedWindows, ++ chPtr->iPtr); ++ } + Tix_DItemFree(chPtr->iPtr); + } + ckfree((char*)chPtr); +--- ../../generic/tixGrid.h.orig Thu Feb 11 18:11:44 1999 ++++ ../../generic/tixGrid.h Tue Aug 8 13:23:17 2000 +@@ -391,7 +391,8 @@ + EXTERN void Tix_GrDoWhenIdle _ANSI_ARGS_((WidgetPtr wPtr, + int type)); + EXTERN void Tix_GrCancelDoWhenIdle _ANSI_ARGS_((WidgetPtr wPtr)); +-EXTERN void Tix_GrFreeElem _ANSI_ARGS_((TixGrEntry * chPtr)); ++EXTERN void Tix_GrFreeElem _ANSI_ARGS_((WidgetPtr wPtr, ++ TixGrEntry * chPtr)); + EXTERN void Tix_GrFreeUnusedColors _ANSI_ARGS_((WidgetPtr wPtr, + int freeAll)); + EXTERN void Tix_GrScrollPage _ANSI_ARGS_((WidgetPtr wPtr, +--- ../../generic/tixGrData.c.orig Wed Apr 7 01:40:13 1999 ++++ ../../generic/tixGrData.c Wed Aug 9 16:57:40 2000 +@@ -777,7 +777,7 @@ + chPtr = (TixGrEntry *)Tcl_GetHashValue(toDel); + if (chPtr) { + deleted = 1; +- Tix_GrFreeElem(chPtr); ++ Tix_GrFreeElem(wPtr, chPtr); + } + + Tcl_DeleteHashEntry(toDel); |