Hi guys,

Writing the Python bindings led me to find out that EVAS_CALLBACK_FREE
will be dispatched earlier than I expected. Right now it's like this:

   evas_object_event_callback_call(obj, EVAS_CALLBACK_FREE, NULL);
   evas_object_grabs_cleanup(obj);
   while (obj->clip.clipees) evas_object_clip_unset(obj->clip.clipees->data);
   if (obj->cur.clipper) evas_object_clip_unset(obj);
   if (obj->smart.smart) evas_object_smart_del(obj);

problem is that I need to destroy the python object, but as it stands
today it's impossible to do it right. I'm doing a hack (not commited
to proto/python-efl yet) to REFCOUNT++ the python object if it's a
Smart and REFCOUNT-- in it's "del" implementation, but it require
other hacks and doesn't look good.

I'd like to move the callback to the end, after
evas_object_smart_del() is actually called.
   Do you see any problem with that?
   Any code in CVS relies on this behavior? ETK? EWL? E?

I'm quite in a hurry to fix this problem, so please reply soon or I'll
need to commit the ugly hack to python-efl.

-- 
Gustavo Sverzut Barbieri
--------------------------------------
Jabber: [EMAIL PROTECTED]
   MSN: [EMAIL PROTECTED]
  ICQ#: 17249123
 Skype: gsbarbieri
Mobile: +55 (81) 9927 0010

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to