summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--generic/tkListbox.c7
2 files changed, 7 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 679d7f7..68e260f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
2003-11-11 Jeff Hobbs <jeffh@ActiveState.com>
+ * generic/tkListbox.c (ListboxDeleteSubCmd, ListboxListVarProc):
+ free itemconfig data when removing it from table. [Bug #836483]
+
* macosx/tkMacOSXClipboard.c (TkSuspendClipboard, TkSelGetSelection):
add unicode clipboard support. [Patch #840107] (senn)
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);
}
}