Hi,

Does anyone knows if the function eina_inlist_remove() should return
NULL if the item trying to be removed isn't inserted on the list? (ie.
item->prev == item->next == item->last == NULL)

Taking a look at the code I saw that if that item isn't inside any
list, the item->next is returned (line 262), but item->next is NULL.

This is causing me some trouble because when I call ecore_evas_free()
on an ecore_evas_buffer that has an added ecore_evas_object_image on
it, the function _ecore_evas_free() is called first on the
sub_ecore_evas and then on the ecore_evas_buffer. But the
sub_ecore_evas isn't added to the ecore_evases inlist (inside
ecore_evas_buffer.c), then the eina_inlist_remove() on the line 32
(same file) returns NULL. Later when the _ecore_evas_free() is finally
called on the ecore_evas_buffer (the first one), the ecore_evases
inlist points to NULL, causing a safety check fail.

Maybe the eina_inlist_remove() function should just return the list
itself if the item isn't inside any list, or the
ecore_evas_object_image_new() function should add the sub ecore_evas
that has been just created to the ecore_evases inlist.

Any ideas?

Regards,
-- 
Rafael Antognolli
ProFUSION embedded systems
http://profusion.mobi

------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to