From: Carsten H. (T. R. <ra...@ra...> - 2012-03-29 07:50:17
|
On Wed, 28 Mar 2012 17:37:38 +0900 Hyoyoung Chang <hyo...@gm...> said: i dont think that will do it. i put in 2 commits (1 to evas, 1 to elm) that fix this a different way, that works much more nicely :) > Dear all, > > SeungGyun and I found infinite loop in _elm_win_obj_callback_del. > It calls evas_object_del() to remove evas objects in evas. > However sometimes, there're several objects (which its reference count > is greater than 1) that aren't deleted. > > To fix that, I added two evas apis, and changed some logic in elm_win.c > > +EAPI Evas_Object * > +evas_object_hier_above_get(const Evas_Object *obj); > +EAPI Evas_Object * > +evas_object_hier_below_get(const Evas_Object *obj); > > In evas, evas_object_{above,below}_get() are existed. > But i'm not sure that. > In object deletion, we need to consider smart parent relation? > If it shouldn't be, i think my approach is right way. > Otherwise, the two apis aren't needed to apply. then just replace to > evas_object_{above,below}_get() in elm_win.c > > Most of analysis is done by SeungGyun Kim. And I coded to resolve it. > > Thanks. -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ra...@ra... |