On May 8, 2018 11:34 PM, Marcel Hollerbach <m...@bu5hm4n.de> wrote:
> On 05/09/2018 03:51 AM, Cedric Bail wrote:
> > On May 8, 2018 12:41 PM, Stefan Schmidt ste...@osg.samsung.com wrote:
> > > On 04/27/2018 01:38 PM, Stefan Schmidt wrote:
> > > > Its been a while. About to get our act together and get everything in 
> > > > place so we can start the 1.21 stabilization phase.
> > > > 
> > > > We had this brought up at the two IRC meetings we had and I wanted to 
> > > > reach out here as well to understand what pieces people here are
> > > > working on that need finishing before we can go start stabilization.
> > > > 
> > > > I know from Cedric that he still has two branches he wants to get 
> > > > merged (a third one was going in already). Supposedly this should happen
> > > > this week.
> > > > 
> > > > What else is it that we are working on? If you have something, speak up 
> > > > NOW!
> > > 
> > > There sadly has not been as much progress as hoped for.
> > > I still wait for the following items:
> > > 
> > > o Cedric's last branch to be merged (lifecycle?). What is the status 
> > > here? Maybe its to massive to get landed for 1.21? I have been told it
> > > would be merged like 10 days ago.
> > 
> > Yes, I have found much more mistake than anticipated and some hack that I 
> > didn't know we had. I have fixed all the hack. I am now reviewing all the 
> > warning that elementary tests suite is triggering and see if they are 
> > genuine or unrelated. I know there is still a problem during shutdown with 
> > how focus expect the parent object to always be there during destructor. 
> > The branch can already run enlightenment, terminology and the C# bindings 
> > fine. I am hoping to land this as soon as possible, but I don't want to 
> > rush it either.
> > 
> > It is difficult to say how much more work around our inconsistent previous 
> > lifecycle I might discover and need to untangle, but hopefully I will be 
> > done very soon (a matter of days).
> 
> The focus stuff is fixed and there are phab revisions for this, which
> are waiting for your review.

Oh, I missed that new patch. Will take a look during the day.
 
> A bit more: Not focus is the problem here, the problem is, that
> composition is setting the parent of the attached object to the object
> where you are attaching to, thus this attached object now is destroyed
> when the object is invalidated (before destructor). Before it was
> destructed when the destructor chain got to the efl.object class.
> What this means is, this is not the mistake of the focus code, you
> changed how the deletion of those objects are working, you have to do
> basically the same on every object that uses composition, thats efl_net,
> efl_ui_text, efl_ui_tags, efl_ui_video [...]

Sorry I didn't want to specifically blame you or anyone on this. So let me 
clarify, as it was a common missunderstanding that people used when building 
their widget with the new API, that they expected the parent relationship to 
always be there during destructor. This was true to a certain extent with C and 
simple reference pattern, but if you where to do :
efl_ref(obj); efl_del(obj); efl_unref(obj);, it would have resulted in the 
exact same problem. This would be more visible for some bindings that use 
efl_ref/efl_unref heavily.
   The main change is to enforce consistency in behavior and give guarantee to 
developpers about what to really expect in each context. If you are in the 
destructor, you have no parent (compared to the most likely having one, but 
maybe not of before) and now invalidate will always be triggered at the time 
when you loose your parent. So invalidate will always have a valid parent. That 
is also guaranteed.
 
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