From ff9c92ecf7b87f1c5048472806928a00883ee996 Mon Sep 17 00:00:00 2001 From: Kwangyoun Kim Date: Tue, 24 Jan 2017 20:04:14 +0900 Subject: [PATCH] Remove duplicated command on popup Change-Id: I85625c01ce525ebf01a06ecf3f38098db2ba23ac Signed-off-by: Kwangyoun Kim (cherry picked from commit 3cfe72159ac16bb39b488ad116b417d4ab043d4c) --- src/vc_elm_efl_dump.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/vc_elm_efl_dump.c b/src/vc_elm_efl_dump.c index c8e34ab..59d04f3 100644 --- a/src/vc_elm_efl_dump.c +++ b/src/vc_elm_efl_dump.c @@ -50,6 +50,8 @@ Eina_List *ret_text_list = NULL; static Eina_Bool g_set_geometry = EINA_FALSE; static int g_geo_x = 0, g_geo_y = 0, g_geo_w = 0, g_geo_h = 0; +static int find_popup = 0; +static int skip_text = 0; static Eina_Bool evas_object_is_visible_get(Evas_Object *obj) @@ -324,6 +326,8 @@ _obj_tree_items_exclude_unfocusable_text(Ea_Util_Mgr *util_mgr, Evas_Object *obj // visible check if (!evas_object_is_visible_get(obj)) return; + if (find_popup) return; + // viewport check evas_object_geometry_get(obj, &x, &y, &w, &h); @@ -333,8 +337,17 @@ _obj_tree_items_exclude_unfocusable_text(Ea_Util_Mgr *util_mgr, Evas_Object *obj if (evas_object_clipees_get(obj)) is_clip = EINA_TRUE; if (is_clip) goto next; + if (evas_object_type_match(obj, "elm_popup")) { + if (elm_object_part_text_get(obj, "title,text")) skip_text = 1; + eina_list_free(ret_list); + } + if (!strcmp(evas_object_type_get(obj), "text") || !strcmp(evas_object_type_get(obj), "textblock")) { if (!parent_widget_focusable && !list_type) goto next; + if (skip_text) { + skip_text = 0; + return; + } } object_info = calloc(1, sizeof(Object_Info)); @@ -464,6 +477,7 @@ next: children = evas_object_smart_members_get(obj); EINA_LIST_FREE(children, child) _obj_tree_items_exclude_unfocusable_text(util_mgr, child, object_info, parent_widget_focusable, list_type); + if (evas_object_type_match(obj, "elm_popup")) find_popup = 1; } } @@ -646,6 +660,8 @@ ea_object_dump_full_list_get(Eina_Bool exclude_unfocusable_text) EINA_LIST_FREE(ecore_evas_list, ee) { evas = ecore_evas_get(ee); util_mgr->evas = evas; + find_popup = 0; + skip_text = 0; ecore_wl_sync(); -- 2.7.4