Fix for missing move-out signal, when scrolling genlist
[platform/upstream/elementary.git] / src / mobile_lib / elm_genlist.c
index 49f3aa2..3738a46 100644 (file)
@@ -9186,6 +9186,8 @@ _elm_genlist_elm_interface_scrollable_content_pos_set(Eo *obj, Elm_Genlist_Data
           hy = hy - 1;
         //
         int viewport_position_result = _is_item_in_viewport(obj_y, h, hy, hh);
+        Eina_Bool traverse_direction = viewport_position_result > 0;
+
         //only highlight if move direction is correct
         //sometimes highlighted item is brought in and it does not fit viewport
         //however content goes to the viewport position so soon it will
@@ -9197,7 +9199,6 @@ _elm_genlist_elm_interface_scrollable_content_pos_set(Eo *obj, Elm_Genlist_Data
              Eina_List *realized_items = elm_genlist_realized_items_get(obj);
              Eo *item;
              Eina_List *l;
-             Eina_Bool traverse_direction = viewport_position_result > 0;
              l = traverse_direction ? realized_items: eina_list_last(realized_items);
 
              while(l)
@@ -9219,8 +9220,15 @@ _elm_genlist_elm_interface_scrollable_content_pos_set(Eo *obj, Elm_Genlist_Data
           }
         if (next_previous_item)
           {
-             elm_object_accessibility_highlight_set(EO_OBJ(next_previous_item), EINA_TRUE);
-             elm_interface_atspi_accessible_state_changed_signal_emit(EO_OBJ(next_previous_item), ELM_ATSPI_STATE_HIGHLIGHTED, EINA_TRUE);
+            eo_do(highlighted_obj, elm_interface_atspi_component_highlight_clear());
+            if (traverse_direction)
+              {
+                elm_interface_atspi_accessible_move_outed_signal_emit(EO_OBJ(next_previous_item), ELM_ATSPI_MOVE_OUTED_TOP_LEFT);
+              }
+            else
+              {
+                elm_interface_atspi_accessible_move_outed_signal_emit(EO_OBJ(next_previous_item), ELM_ATSPI_MOVE_OUTED_BOTTOM_RIGHT);
+              }
           }
      }
    // TIZEN_ONLY(20180326) : Atspi: enhance finding next and prev item on screen's edge