Brian wrote:
> After some more digging, here's what I've come up with:
>
> * When you hit enter, the button widget is 'activated'
> * e_widget_activate() calls the No buttons callback, which
> deletes the dialog
> * this frees the evas, which frees its layers, which frees
> its objects, which happens to set obj->callbacks to NULL
> * e is still looping through its callbacks at this point,
> and segfaults
> * the NULL check in the aforementioned patch happens to work,
> but only by luck (the object pointer its accessing is now
> invalid).
>
> So, should we require that evas callbacks not free their evas?
> (E.g. force them to schedule a free and then actually do it
> outside of any callbacks)
>
> Or, should we alter evas to defer evas frees while walking
> an object's callbacks?
Ummm... this is really more raster's domain of intimacy :)
but I'd say that an evas obj's callback shouldn't free an evas
(wether the one it's in or any other), but the latter possibility
sounds like it could be reasonable as well.. I'd have to look at
this in more detail to give any real suggestion on my part though.
jose.
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel