From: <enl...@li...> - 2001-11-21 17:20:30
|
Enlightenment CVS committal Author : rbdpngn Project : e17 Module : libs/etox Dir : e17/libs/etox/src Modified Files: etox_set.c Log Message: Fix for what could be a nasty leak if the text changes frequently. ewd_list_clear() doesn't free the data on the list, just removes all the items from the list. ewd_list_destroy() will free the corresponding data. =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/etox/src/etox_set.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- etox_set.c 2001/11/12 00:04:15 1.7 +++ etox_set.c 2001/11/21 17:20:29 1.8 @@ -108,13 +108,11 @@ if (!e) return; - if (!e->bits) - { - e->bits = ewd_list_new(); - ewd_list_set_free_cb(e->bits, EWD_FREE_CB(_etox_bit_free)); - } - else - ewd_list_clear(e->bits); + if (e->bits) + ewd_list_destroy(e->bits); + + e->bits = ewd_list_new(); + ewd_list_set_free_cb(e->bits, EWD_FREE_CB(_etox_bit_free)); va_start(ap, e); |