gimp_image_item_list_filter(): actually honor the passed parameters

Gah, I added these parameters for a reason, so do *not* remove all
child items if remove_children is FALSE.
This commit is contained in:
Michael Natterer 2009-08-27 19:36:22 +02:00
parent 19a168cb9d
commit f05c5ecfdc
1 changed files with 13 additions and 10 deletions

View File

@ -252,19 +252,22 @@ gimp_image_item_list_filter (const GimpItem *exclude,
if (! list)
return NULL;
if (exclude)
list = gimp_image_item_list_remove_children (list, exclude);
for (l = list; l; l = g_list_next (l))
if (remove_children)
{
GimpItem *item = l->data;
GList *next;
if (exclude)
list = gimp_image_item_list_remove_children (list, exclude);
next = gimp_image_item_list_remove_children (g_list_next (l), item);
for (l = list; l; l = g_list_next (l))
{
GimpItem *item = l->data;
GList *next;
l->next = next;
if (next)
next->prev = l;
next = gimp_image_item_list_remove_children (g_list_next (l), item);
l->next = next;
if (next)
next->prev = l;
}
}
if (remove_locked)