On Thu, 19 Apr 2007 19:16:36 +0200 Sebastian Dransfeld <[EMAIL PROTECTED]> babbled:
got a more extensive fix in cvs now. :) > [EMAIL PROTECTED] wrote: > > 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. > > It will be damn hard to prevent an evas event to kill itself. > > Anyway, this patch works. Please review. > > Sebastian > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) [EMAIL PROTECTED] 裸好多 Tokyo, Japan (東京 日本) ------------------------------------------------------------------------- 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
