Mercurial > dwindows
comparison win/dw.c @ 1882:39ef93f82f04
Free container row data memory on item delete on Windows.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Tue, 13 Aug 2013 20:41:59 +0000 |
parents | 313e5d64714d |
children | 71780cf68aa2 |
comparison
equal
deleted
inserted
replaced
1881:653ccb517aa1 | 1882:39ef93f82f04 |
---|---|
2273 | 2273 |
2274 if(num > -1 && array && array[num]) | 2274 if(num > -1 && array && array[num]) |
2275 SetParent(array[num]->hwnd, tem->hwndFrom); | 2275 SetParent(array[num]->hwnd, tem->hwndFrom); |
2276 | 2276 |
2277 _resize_notebook_page(tem->hwndFrom, num); | 2277 _resize_notebook_page(tem->hwndFrom, num); |
2278 } | |
2279 else if(tem->code == LVN_DELETEITEM) | |
2280 { | |
2281 NMLISTVIEW FAR *lem=(NMLISTVIEW FAR *)mp2; | |
2282 LV_ITEM lvi; | |
2283 void **params; | |
2284 | |
2285 memset(&lvi, 0, sizeof(LV_ITEM)); | |
2286 | |
2287 lvi.iItem = lem->iItem; | |
2288 lvi.mask = LVIF_PARAM; | |
2289 | |
2290 ListView_GetItem(lem->hdr.hwndFrom, &lvi); | |
2291 params = (void **)lvi.lParam; | |
2292 | |
2293 /* Free row data */ | |
2294 if(params) | |
2295 { | |
2296 if(params[_DW_DATA_TYPE_STRING]) | |
2297 free(params[_DW_DATA_TYPE_STRING]); | |
2298 free(params); | |
2299 } | |
2278 } | 2300 } |
2279 } | 2301 } |
2280 break; | 2302 break; |
2281 case WM_HSCROLL: | 2303 case WM_HSCROLL: |
2282 case WM_VSCROLL: | 2304 case WM_VSCROLL: |