just psplay_remove leaked, do psplay_delete_node

This commit is contained in:
Christian Thaeter 2008-09-06 07:52:55 +02:00
parent a95ae05ddb
commit b94e615291
2 changed files with 6 additions and 6 deletions

View file

@ -116,7 +116,7 @@ lumiera_config_lookup_remove (LumieraConfigLookup self, LumieraConfigitem item)
/* last item in lookup, remove it from the splay tree */ /* last item in lookup, remove it from the splay tree */
LumieraConfigLookupentry entry = LLIST_TO_STRUCTP (llist_next (&item->lookup), lumiera_config_lookupentry, configitems); LumieraConfigLookupentry entry = LLIST_TO_STRUCTP (llist_next (&item->lookup), lumiera_config_lookupentry, configitems);
llist_unlink (&item->lookup); llist_unlink (&item->lookup);
psplay_remove (&self->tree, (PSplaynode)entry); psplay_delete_node (&self->tree, (PSplaynode)entry);
} }
else else
{ {

View file

@ -74,17 +74,17 @@ lumiera_configitem_destroy (LumieraConfigitem self, LumieraConfigLookup lookup)
if (self) if (self)
{ {
LLIST_WHILE_HEAD (&self->childs, node)
lumiera_configitem_delete ((LumieraConfigitem) node, lookup);
ENSURE (llist_is_empty (&self->childs), "destructor didn't remove childs");
if (self->vtable && self->vtable->destroy) if (self->vtable && self->vtable->destroy)
self->vtable->destroy (self); self->vtable->destroy (self);
if (!llist_is_empty (&self->lookup)) if (!llist_is_empty (&self->lookup))
lumiera_config_lookup_remove (lookup, self); lumiera_config_lookup_remove (lookup, self);
LLIST_WHILE_HEAD (&self->childs, node)
lumiera_configitem_delete ((LumieraConfigitem) node, lookup);
ENSURE (llist_is_empty (&self->childs), "destructor didn't remove childs");
llist_unlink (&self->link); llist_unlink (&self->link);
lumiera_free (self->line); lumiera_free (self->line);
} }