Remove duplicated command on popup 76/113376/1
authorKwangyoun Kim <ky85.kim@samsung.com>
Tue, 24 Jan 2017 11:04:14 +0000 (20:04 +0900)
committerWonnam Jang <wn.jang@samsung.com>
Tue, 7 Feb 2017 08:36:20 +0000 (00:36 -0800)
Change-Id: I85625c01ce525ebf01a06ecf3f38098db2ba23ac
Signed-off-by: Kwangyoun Kim <ky85.kim@samsung.com>
(cherry picked from commit 3cfe72159ac16bb39b488ad116b417d4ab043d4c)

src/vc_elm_efl_dump.c

index c8e34ab..59d04f3 100644 (file)
@@ -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();