diff options
author | hobbs <hobbs> | 2003-11-11 19:41:49 (GMT) |
---|---|---|
committer | hobbs <hobbs> | 2003-11-11 19:41:49 (GMT) |
commit | 3ff972d6757e1733e7a6ff2193ebbc823a34027c (patch) | |
tree | bdaaf7db9bc3afbd70d30c74b34c509764a44e75 /generic | |
parent | 9baac51601f45f28ebfafef7256b6915838c8bde (diff) | |
download | tk-3ff972d6757e1733e7a6ff2193ebbc823a34027c.zip tk-3ff972d6757e1733e7a6ff2193ebbc823a34027c.tar.gz tk-3ff972d6757e1733e7a6ff2193ebbc823a34027c.tar.bz2 |
* generic/tkListbox.c (ListboxDeleteSubCmd, ListboxListVarProc):
free itemconfig data when removing it from table. [Bug #836483]
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tkListbox.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/generic/tkListbox.c b/generic/tkListbox.c index 78977d6..0f60a95 100644 --- a/generic/tkListbox.c +++ b/generic/tkListbox.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkListbox.c,v 1.29 2003/02/25 02:07:25 hobbs Exp $ + * RCS: @(#) $Id: tkListbox.c,v 1.29.2.1 2003/11/11 19:41:50 hobbs Exp $ */ #include "tkPort.h" @@ -1402,8 +1402,7 @@ ListboxGetItemAttributes(interp, listPtr, index) Tcl_HashEntry *entry; ItemAttr *attrs; - entry = Tcl_CreateHashEntry(listPtr->itemAttrTable, (char *)index, - &new); + entry = Tcl_CreateHashEntry(listPtr->itemAttrTable, (char *)index, &new); if (new) { attrs = (ItemAttr *) ckalloc(sizeof(ItemAttr)); attrs->border = NULL; @@ -2398,6 +2397,7 @@ ListboxDeleteSubCmd(listPtr, first, last) entry = Tcl_FindHashEntry(listPtr->itemAttrTable, (char *)i); if (entry != NULL) { + ckfree((char *)Tcl_GetHashValue(entry)); Tcl_DeleteHashEntry(entry); } @@ -3367,6 +3367,7 @@ ListboxListVarProc(clientData, interp, name1, name2, flags) /* Clean up attributes */ entry = Tcl_FindHashEntry(listPtr->itemAttrTable, (char *)i); if (entry != NULL) { + ckfree((char *)Tcl_GetHashValue(entry)); Tcl_DeleteHashEntry(entry); } } |