On March 29, 2018 10:58 AM, Carsten Haitzler <ras...@rasterman.com> wrote:
> On Thu, 29 Mar 2018 13:17:43 -0400 Cedric Bail ced...@ddlm.me said:
> > On March 28, 2018 8:06 PM, Carsten Haitzler ras...@rasterman.com wrote:
> > > On Wed, 28 Mar 2018 12:37:35 -0400 Cedric Bail ced...@ddlm.me said:
> > > > On March 27, 2018 10:32 PM, Carsten Haitzler ras...@rasterman.com wrote:
> > > > > On Tue, 20 Mar 2018 17:57:47 -0700 Cedric BAIL cedric.b...@free.fr 
> > > > > said:
> > > > Ideally yes, but at least for the _example, it requires to spend some 
> > > > more
> > > > time to move them to use EFL_MAIN, which should be done in a different
> > > > patch not related to fixing the usage of efl_add.
> > > 
> > > some use EFL_MAIN ... otherwise efl_main_loop_get() will work. but moving 
> > > to
> > > efl_add_ref() isn't the "right direction" for most of these.
> > 
> > Yeah, I haven't been a big fan of efl_main_loop_get and did tend to avoid 
> > it.
> > I should use it more often in the future.
> 
> it'd be good to stop doing that... :) long term at least. the slow and steady
> steps are to fix our parenting in efl and examples. :) i fixed it for you - or
> well i fixed everything i saw you changed. it may not be perfect, but it's a
> step in the right direction imho :) point out if i got something wrong. i 
> didn't
> do "Extensive" work like you say and convert to EFL_MAIN or within efl modify
> code to pass parents around many levels down or something.

So I have been working on finishing correcting the lifecycle of eo object by 
making sure that efl_invalidate does happen before any efl_destructor code 
(Currently in master, it is possible to get efl_invalidate to be called after 
the object destructor as it is called inside efl.object.destructor). This means 
that efl_del and efl_parent_{get,set} are a typical wrong piece of code in the 
destructore. The patch 2fb5cc3ad09f6aaf82b5d1131ac5ed22ed848bd4 is wrong in a 
lot of place that I had to give up fixing it due to time constraint (basically 
it assume our use before invalidate was efl_add/efl_del, while the closest to 
our pattern was efl_add_ref with efl_unref in the desstructor). I have a branch 
devs/cedric/lifecycle with all the change in it including a revert of your 
patch. I can't land this patch at the moment as the old eo base efl_future 
lifecycle is a complete wreck with this change, so I will focus back on 
removing efl_future. If you had time in the mean time to check your patch and 
see how to fix it, it would be great.

Cedric

PS: there are still bug regarding the lifecycle of the focus manager in that 
branch that I haven't had time to figure out yet, will get to it later.

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to