flat_navi: filter out objects with role REDUNDANT_OBJECT
authorLukasz Stanislawski <l.stanislaws@samsung.com>
Mon, 14 Sep 2015 13:12:19 +0000 (15:12 +0200)
committerTomasz Olszak <t.olszak@samsung.com>
Tue, 15 Sep 2015 13:59:01 +0000 (22:59 +0900)
Change-Id: I827703e2b7b1f07e25656f81a63388090a9b76e5

src/flat_navi.c

index 67444e1..259f315 100644 (file)
@@ -161,7 +161,27 @@ static Eina_Bool _accept_object(AtspiAccessible * obj)
        AtspiValue *value = NULL;
        AtspiStateSet *ss = NULL;
 
-       AtspiRole r;
+       AtspiRole r = atspi_accessible_get_role(obj, NULL);
+
+       switch (r) {
+       case ATSPI_ROLE_APPLICATION:
+       case ATSPI_ROLE_FILLER:
+       case ATSPI_ROLE_SCROLL_PANE:
+       case ATSPI_ROLE_SPLIT_PANE:
+       case ATSPI_ROLE_WINDOW:
+       case ATSPI_ROLE_IMAGE:
+       case ATSPI_ROLE_LIST:
+       case ATSPI_ROLE_PAGE_TAB_LIST:
+       case ATSPI_ROLE_TOOL_BAR:
+       case ATSPI_ROLE_REDUNDANT_OBJECT:
+               return EINA_FALSE;
+       case ATSPI_ROLE_DIALOG:
+               if (!_has_escape_action(obj))
+                       return EINA_FALSE;
+               break;
+       default:
+               break;
+       }
 
        ss = atspi_accessible_get_state_set(obj);
        if (ss) {
@@ -186,27 +206,6 @@ static Eina_Bool _accept_object(AtspiAccessible * obj)
                return EINA_FALSE;
        }
 
-       r = atspi_accessible_get_role(obj, NULL);
-
-       switch (r) {
-       case ATSPI_ROLE_APPLICATION:
-       case ATSPI_ROLE_FILLER:
-       case ATSPI_ROLE_SCROLL_PANE:
-       case ATSPI_ROLE_SPLIT_PANE:
-       case ATSPI_ROLE_WINDOW:
-       case ATSPI_ROLE_IMAGE:
-       case ATSPI_ROLE_LIST:
-       case ATSPI_ROLE_PAGE_TAB_LIST:
-       case ATSPI_ROLE_TOOL_BAR:
-               return EINA_FALSE;
-       case ATSPI_ROLE_DIALOG:
-               if (!_has_escape_action(obj))
-                       return EINA_FALSE;
-               break;
-       default:
-               break;
-       }
-
        name = atspi_accessible_get_name(obj, NULL);
 
        ret = EINA_FALSE;