On Tue, 26 Apr 2016 17:11:04 +0000 Mike Blumenkrantz <michael.blumenkra...@gmail.com> said:
> This commit broke things by triggering an immediate hide call on objects > which were expecting to receive a deferred call. For example, any time > evas_object_ref() is used to preserve an object lifetime and then > evas_object_del() is called before the unref, the object will now be hidden > regardless of user intent. that's how it should work. a ref doesn't keep visibility. it keeps object lifespan. a del is a very explicit "i want to delete this now". there were apparently a whole host of bugs netstar was experiencing because of the thing this fixed. objects were deleted but then refs kepts them alive for any frames and instead there was garbage/junk there. a del is very explicit - this object is now to be deleted and i don't want it around anymore. it's not an unref. an object may stay alive because of refs but this is for lifetime management, not visibility. > This seems wrong to me; hiding during the object destructor is fine, but > enforcing hide on delete (which may or may not result in immediate > destruction) will cause unwanted behaviors. see above. > On Tue, Apr 26, 2016 at 12:46 PM Carsten Haitzler <ras...@rasterman.com> > wrote: > > > On Tue, 26 Apr 2016 16:24:08 +0000 Mike Blumenkrantz > > <michael.blumenkra...@gmail.com> said: > > > > > FYI this broke a LOT of things in enlightenment, and I'd guess it will > > also > > > break a lot of user applications too. > > > > the commit or fix broke thigns or the fact that things were not hidden > > before > > on object_del due to the move to eo? > > > > > On Sat, Apr 23, 2016 at 10:07 AM Carsten Haitzler <ras...@rasterman.com> > > > wrote: > > > > > > > raster pushed a commit to branch master. > > > > > > > > > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id=df2b31b63eaed894601ba8126d1f43f07edb6332 > > > > > > > > commit df2b31b63eaed894601ba8126d1f43f07edb6332 > > > > Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com> > > > > Date: Sat Apr 23 23:06:13 2016 +0900 > > > > > > > > evas - legacy evas_object_del - always hide obj regardless of refs > > > > > > > > if an object iot reffed or not hide on del. it should have been > > this > > > > way before eo. eoifications i think messed a few things up. > > > > > > > > this does bring up an issue... in eo we have no way to explicitly > > do > > > > stuff on eo_del regardless of references at the time. this needs > > to be > > > > solved. > > > > > > > > @fix > > > > --- > > > > src/lib/evas/canvas/evas_object_main.c | 1 + > > > > 1 file changed, 1 insertion(+) > > > > > > > > diff --git a/src/lib/evas/canvas/evas_object_main.c > > > > b/src/lib/evas/canvas/evas_object_main.c > > > > index 6a1983f..8b9710a 100644 > > > > --- a/src/lib/evas/canvas/evas_object_main.c > > > > +++ b/src/lib/evas/canvas/evas_object_main.c > > > > @@ -725,6 +725,7 @@ evas_object_del(Evas_Object *eo_obj) > > > > Evas_Object_Protected_Data *obj = eo_data_scope_get(eo_obj, > > MY_CLASS); > > > > > > > > if (!obj) return; > > > > + evas_object_hide(eo_obj); > > > > evas_object_async_block(obj); > > > > if (obj->delete_me || obj->eo_del_called) return; > > > > if (obj->ref > 0) > > > > > > > > -- > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > Find and fix application performance issues faster with Applications > > Manager > > > Applications Manager provides deep performance insights into multiple > > tiers of > > > your business applications. It resolves application problems quickly and > > > reduces your MTTR. Get your free trial! > > > https://ad.doubleclick.net/ddm/clk/302982198;130105516;z > > > _______________________________________________ > > > enlightenment-devel mailing list > > > enlightenment-devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > > > > > > > > > -- > > ------------- Codito, ergo sum - "I code, therefore I am" -------------- > > The Rasterman (Carsten Haitzler) ras...@rasterman.com > > > > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ Find and fix application performance issues faster with Applications Manager Applications Manager provides deep performance insights into multiple tiers of your business applications. It resolves application problems quickly and reduces your MTTR. Get your free trial! https://ad.doubleclick.net/ddm/clk/302982198;130105516;z _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel