> -------- Original Message --------
> Subject: Re: [E-devel] ecore / efl loop work
> Local Time: December 20, 2017 5:30 PM
> UTC Time: December 21, 2017 1:30 AM
> From: ras...@rasterman.com
> To: Andrew Williams <a...@andywilliams.me>
> Enlightenment developer list <enlightenment-devel@lists.sourceforge.net>
>
> On Wed, 20 Dec 2017 18:36:30 +0000 Andrew Williams a...@andywilliams.me said:
>
>> Since this came in the core_loop example is no longer working correctly.
>> https://git.enlightenment.org/tools/examples.git/tree/reference/c/core/src/core_event.c
>> There are a few ERR about timers being dead and objects having parents that
>> didn't happen before.
>> Additionally a EFL_LOOP child of mainloop is created and a timer attached.
>> The timer no longer gets the TIMER_EVENT_TICK callback.
>> Any hints as to where I should start looking to see what is broken?
>>
>> woooo... creating a loop that is a child of another loop in the same 
>> thread...
>> sounds totally wrong. 1 loop per thread. at least for the legacy ecore calls 
>> -
>> they will try and work on the mainloop singleton not the extra created loop.
>> you COULD do this as long as everything is either in one loop object or the
>> other cleanly.

It was actually done on purpose and I fixed a few bugs related to this once in. 
The logic is that it does allow for having multiple application running in the 
same process. I was thinking of using that for embedded multi application using 
JS runtime. It would have provided clean enough isolation between each runtime.

<snip>

>> but putting a loop as a child of a loop is going to be a nasty proposition 
>> as a
>> lot of the logic wants to walk back to the root object to find the loop. if 
>> it
>> finds another loop along the way... what do we do? i never really looked into
>> that or tested it. and indeed some objects may have parents they didn't have
>> before. this seems to be a bit of a pervasive issue at some lower levels and 
>> in
>> corners of efl that need to be ironed out before we can call our api or 
>> design
>> stable or even close.

They stop on the first loop they find and it is exactly what we are looking for 
as a behavior here. You create your Efl.Ui.Win by parenting it to the loop you 
are given. It being a subloop or something else doesn't really matter as a loop 
object provide you with the needed feature fir Efl.Ui.Win to work.

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