hermet pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=f7c0be87b7cc3f26fd729bd77502899a261d8761
commit f7c0be87b7cc3f26fd729bd77502899a261d8761 Author: Hermet Park <[email protected]> Date: Wed Aug 3 13:46:59 2016 +0900 wireframe: fix an issue that wireframe disappeared. While adding new live objects, some of wireframes is disappeared. Actually, they were blocked by new live object content. Fix by re-adding them as smart members. --- src/lib/wireframes_obj.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/lib/wireframes_obj.c b/src/lib/wireframes_obj.c index 0f537be..248c33e 100644 --- a/src/lib/wireframes_obj.c +++ b/src/lib/wireframes_obj.c @@ -72,26 +72,27 @@ wireframes_objs_update(wireframes_obj *wireframes) if (!o2) goto end; Evas *evas = evas_object_evas_get(scroller); + Evas_Coord part_lx = 0, part_ly = 0; + evas_object_geometry_get(wireframes->layout, &part_lx, &part_ly, + NULL, NULL); + //Add new part object or Update changed part. EINA_LIST_FOREACH(parts, l, part_name) { Eina_List *part_l; Evas_Object *pobj = NULL; - int part_x = 0, part_y = 0, part_w = 0, part_h = 0, part_lx = 0, part_ly = 0; + Evas_Coord part_x = 0, part_y = 0, part_w = 0, part_h = 0; EINA_LIST_FOREACH(wireframes->part_list, part_l, po) - { - if (po->name == part_name) - { - pobj = po->obj; - break; - } - } + { + if (po->name != part_name) continue; + pobj = po->obj; + break; + } if (!pobj) { pobj = edje_object_add(scroller); edje_object_file_set(pobj, EDJE_PATH, "wireframes"); - evas_object_smart_member_add(pobj, o2); po = malloc(sizeof(part_obj)); po->obj = pobj; po->name = eina_stringshare_add(part_name); @@ -101,12 +102,14 @@ wireframes_objs_update(wireframes_obj *wireframes) evas_object_data_set(pobj, OUTLINE_EDIT_LAYOUT_KEY, wireframes->layout); } - evas_object_geometry_get(wireframes->layout, &part_lx, &part_ly, - NULL, NULL); - edje_object_part_geometry_get(wireframes->layout, part_name, - &part_x, &part_y, &part_w, &part_h); - evas_object_resize(pobj, part_w, part_h); - evas_object_move(pobj, part_lx + part_x, part_ly + part_y); + //Up to date smart members. + evas_object_smart_member_del(pobj); + evas_object_smart_member_add(pobj, o2); + + edje_object_part_geometry_get(wireframes->layout, part_name, + &part_x, &part_y, &part_w, &part_h); + evas_object_resize(pobj, part_w, part_h); + evas_object_move(pobj, part_lx + part_x, part_ly + part_y); } end: edje_edit_string_list_free(parts); --
