diff --git a/WINGs/ChangeLog b/WINGs/ChangeLog index 0a65659e..b1a3d45f 100644 --- a/WINGs/ChangeLog +++ b/WINGs/ChangeLog @@ -6,6 +6,7 @@ changes since wmaker 0.63.1: - moved WINGs headers in a WINGs subdirectory when installed. use #include in your application from now on. Also updated get-{wings|wutil}-flags. +- Fixed a mem leak in WMList. changes since wmaker 0.62.1: diff --git a/WINGs/WINGs/WUtil.h b/WINGs/WINGs/WUtil.h index ea5bb4c9..af28a40f 100644 --- a/WINGs/WINGs/WUtil.h +++ b/WINGs/WINGs/WUtil.h @@ -121,7 +121,6 @@ typedef struct W_Array WMArray; typedef struct W_Bag WMBag; typedef struct W_Data WMData; typedef struct W_TreeNode WMTreeNode; -typedef struct W_TreeNode WMTree; typedef struct W_HashTable WMDictionary; typedef struct W_HashTable WMHashTable; typedef struct W_UserDefaults WMUserDefaults; diff --git a/WINGs/wlist.c b/WINGs/wlist.c index 676bbded..df196dcc 100644 --- a/WINGs/wlist.c +++ b/WINGs/wlist.c @@ -1217,7 +1217,11 @@ destroyList(List *lPtr) WMDeleteTimerHandler(lPtr->selectID); lPtr->selectID = NULL; - WMFreeArray(lPtr->items); + if (lPtr->selectedItems) + WMFreeArray(lPtr->selectedItems); + + if (lPtr->items) + WMFreeArray(lPtr->items); wfree(lPtr); }