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:
> > > > at least some of these i think are wrong.
> > > > the benchmarks are "debatable" but ok.
> > > > 
> > > > but:
> > > > test_bg.c
> > > > test_box.c
> > > > test_calendar.c
> > > > test_efl_gfx_map.c
> > > > test_evas_map.c
> > > > test_evas_mask.c
> > > > test_evas_snapshot.c
> > > > test_gfx_filters.c
> > > > test_glview.c
> > > > test_nstate.c
> > > > test_part_bg.c
> > > > test_photocam.c
> > > > test_part_shadow.c
> > > > test_ui_button.c
> > > > test_ui_clock.c
> > > > test_ui_panes.c
> > > > test_ui_popup.c
> > > > test_ui_progressbar.c
> > > > test_ui_scroller.c
> > > > ... (there's a pattern here... basically every single change for adding
> > > > a win) -> shouldn't it use loop as parent?
> > > 
> > > This are test where we want lifetime control of this object I think. This
> > 
> > just because the parent is the main loop does not mean you don't have
> > lifetime control. you can always del it. parent should be there to follow
> > back to the loop driving it for async events (futures), animator events
> > etc. - sure. we glue that in behind the scenes currently when there is a
> > null parent, but these objects SHOULD be part of the main loop tree...
> 
> Yes, it was relying on the behind the scene magic trick to get to the main
> loop. 
> > > means to me not depending on the lifetime of the main loop to get them
> > > destroyed, but on controlling the reference only and explicitely. This
> > > could be moved to use parent relationship, I have no strong opinion on
> > > this.
> > 
> > as above... you still can control it explicitly. nothing ever stopped this.
> > it's more the problem of exposing objects that you want a parent to really
> > control and once exposed, the user getting the handle could violate that
> > contract by explicitly deleting and stealing from the parent that really
> > owns it - thus the part interface with the tmp objects...
>  
> > > > ecore_audio_custom.c
> > > > ecore_audio_playback.c
> > > > ecore_audio_to_ogg.c
> > > > ecore_poller_example.c
> > > > efl_io_copier_example.c
> > > > efl_io_queue_example.c
> > > > efl_net_server_example.c
> > > > efl_net_server_simple_example.c
> > > > ... (more patterns... i got 25% through the diff and got bored of copy &
> > > > pasting samples here)
> > > > -> shouldn't it use loop as parent?
> > > 
> > > 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.

> > > > test_part_shadow.c
> > > > ecore_audio_to_ogg.c
> > > > 
> > > > -> shouldn't is be efl_del because add should have a parent like loop?
> > > 
> > > If we move them to use efl add with the loop as parent, yes, it should be,
> > > but as the current code use efl_add_ref, using efl_unref is the correct
> > > counter part.
> > 
> > sure. they go along for the ride. i just saw a massive commit and lots of
> > changes that were not even necessary (changing to unrefs from dels and to
> > add_ref instead of just using a parent instead of NULL).
> > 
> > ok. i've fixed it locally... i'll push.
> 
> Thanks !

no problems. i was holding that commit until i heard back from you. done. :)

-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
Carsten Haitzler - ras...@rasterman.com


------------------------------------------------------------------------------
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