I thought you'd be interested since you previously had issues with evas_object_del(), and raster added the hide() in there. I can't remember the details exactly, though.
2017-10-10 23:57 GMT+09:00 Mike Blumenkrantz <michael.blumenkra...@gmail.com >: > Hi? > > On Tue, Oct 10, 2017, 6:32 AM Jean-Philippe ANDRÉ <j...@videolan.org> > wrote: > > > jpeg pushed a commit to branch master. > > > > > > http://git.enlightenment.org/core/efl.git/commit/?id= > e021e25c852313463925195b1367938057734c5f > > > > commit e021e25c852313463925195b1367938057734c5f > > Author: Jean-Philippe Andre <jp.an...@samsung.com> > > Date: Thu Sep 28 18:03:33 2017 +0900 > > > > evas: Override del() for evas objects > > > > This makes EAPI evas_object_del() and EO API efl_del() work the same > on > > evas objects, i.e. a del() implies an immediate call to hide() and > mark > > the object as "delete_me". > > > > If the refcount remains > 0 the object won't be actually deleted, > thus > > EFL_EVENT_DEL won't be triggered. I think it would probably be a good > > idea to have a new event "del,request", to signal reference owners > that > > this object "wants" to die. > > > > Ping @raster @zmike > > --- > > src/lib/evas/canvas/efl_canvas_object.eo | 1 + > > src/lib/evas/canvas/evas_object_main.c | 26 > +++++++++++++++----------- > > 2 files changed, 16 insertions(+), 11 deletions(-) > > > > diff --git a/src/lib/evas/canvas/efl_canvas_object.eo > > b/src/lib/evas/canvas/efl_canvas_object.eo > > index 61c59497dd..ac3ecd4bdc 100644 > > --- a/src/lib/evas/canvas/efl_canvas_object.eo > > +++ b/src/lib/evas/canvas/efl_canvas_object.eo > > @@ -662,6 +662,7 @@ abstract Efl.Canvas.Object (Efl.Object, Efl.Gfx, > > Efl.Gfx.Stack, Efl.Animator, > > Efl.Object.destructor; > > Efl.Object.finalize; > > Efl.Object.provider_find; > > + Efl.Object.del; > > Efl.Object.debug_name_override; > > Efl.Gfx.visible { get; set; } > > Efl.Gfx.color { get; set; } > > diff --git a/src/lib/evas/canvas/evas_object_main.c > > b/src/lib/evas/canvas/evas_object_main.c > > index d298efb478..e6f36ec280 100644 > > --- a/src/lib/evas/canvas/evas_object_main.c > > +++ b/src/lib/evas/canvas/evas_object_main.c > > @@ -902,17 +902,9 @@ evas_object_ref_get(const Evas_Object *eo_obj) > > return obj->ref; > > } > > > > -EAPI void > > -evas_object_del(Evas_Object *eo_obj) > > +EOLIAN static void > > +_efl_canvas_object_efl_object_del(const Eo *eo_obj, > > Evas_Object_Protected_Data *obj) > > { > > - if (!eo_obj) return; > > - MAGIC_CHECK(eo_obj, Evas_Object, MAGIC_OBJ); > > - return; > > - MAGIC_CHECK_END(); > > - > > - Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, > MY_CLASS); > > - > > - if (!obj) return; > > evas_object_async_block(obj); > > if (obj->delete_me || obj->efl_del_called) return; > > if (obj->ref > 0) > > @@ -920,9 +912,21 @@ evas_object_del(Evas_Object *eo_obj) > > obj->del_ref = EINA_TRUE; > > return; > > } > > - evas_object_hide(eo_obj); > > + efl_gfx_visible_set((Eo *) eo_obj, EINA_FALSE); > > obj->efl_del_called = EINA_TRUE; > > + efl_del(efl_super(eo_obj, MY_CLASS)); > > +} > > > > +EAPI void > > +evas_object_del(Evas_Object *eo_obj) > > +{ > > + if (!eo_obj) return; > > + if (!efl_isa(eo_obj, MY_CLASS)) > > + { > > + ERR("Called %s on a non-evas object: %s@%p", > > + __FUNCTION__, efl_class_name_get(eo_obj), eo_obj); > > + return; > > + } > > efl_del(eo_obj); > > } > > > > > > -- > > > > > > > ------------------------------------------------------------ > ------------------ > 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 > -- Jean-Philippe André ------------------------------------------------------------------------------ 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