elementary: fix end of fast scroll not showing up during Efl.Ui.CollectionView scroll.

efl_ui_position_manager_entity_entities_ready is expecting the end offset and not the
length of how many items have been updated. Sending the correct number fixes the problem.

Reviewed-by: Marcel Hollerbach <mail@marcel-hollerbach.de>
Reviewed-by: SangHyeon Jade Lee <sh10233.lee@samsung.com>
Differential Revision: https://phab.enlightenment.org/D10590
This commit is contained in:
Cedric BAIL 2019-11-01 08:03:00 -07:00
parent 9ca84821fc
commit f7c6bec38f
1 changed files with 4 additions and 5 deletions

View File

@ -575,7 +575,6 @@ _entity_fetched_cb(Eo *obj, void *data, const Eina_Value v)
} }
} }
#endif #endif
// When requesting an entity, the model should already be in the cache // When requesting an entity, the model should already be in the cache
if (!child) continue; if (!child) continue;
@ -624,8 +623,8 @@ _entity_fetched_cb(Eo *obj, void *data, const Eina_Value v)
search_index - 1); search_index - 1);
updated_size = EINA_FALSE; updated_size = EINA_FALSE;
} }
}} }
; }
// Currently position manager will flush its entire size cache on update, so only do // Currently position manager will flush its entire size cache on update, so only do
// it when necessary to improve performance. // it when necessary to improve performance.
@ -642,7 +641,7 @@ _entity_fetched_cb(Eo *obj, void *data, const Eina_Value v)
{ {
efl_ui_position_manager_entity_entities_ready(pd->manager, efl_ui_position_manager_entity_entities_ready(pd->manager,
updated_entity_start_id, updated_entity_start_id,
i - 1); request->offset + i - 1);
efl_event_callback_del(efl_main_loop_get(), EFL_LOOP_EVENT_IDLE, _idle_cb, obj); efl_event_callback_del(efl_main_loop_get(), EFL_LOOP_EVENT_IDLE, _idle_cb, obj);
efl_event_callback_add(efl_main_loop_get(), EFL_LOOP_EVENT_IDLE, _idle_cb, obj); efl_event_callback_add(efl_main_loop_get(), EFL_LOOP_EVENT_IDLE, _idle_cb, obj);
@ -1054,7 +1053,7 @@ _batch_entity_cb(void *data, Efl_Ui_Position_Manager_Request_Range range, Eina_R
entities = memory.mem; entities = memory.mem;
//count = efl_model_children_count_get(parent); //count = efl_model_children_count_get(parent);
limit = range.end_id - range.start_id;; limit = range.end_id - range.start_id;
// Look in the temporary cache now for the beginning of the buffer // Look in the temporary cache now for the beginning of the buffer
#ifdef VIEWPORT_ENABLE #ifdef VIEWPORT_ENABLE