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: