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.

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

Cedric

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