From 4720240d8673d8ed6fcbe268211ac0eb5cdb4f4c Mon Sep 17 00:00:00 2001 From: Cedric BAIL Date: Thu, 12 Dec 2019 17:13:30 -0800 Subject: [PATCH] efl: make sure all index for Efl_Model are unsigned int. T8469 Reviewed-by: SangHyeon Jade Lee Differential Revision: https://phab.enlightenment.org/D10869 --- src/lib/ecore/efl_boolean_model.c | 6 +- src/lib/ecore/efl_filter_model.c | 24 +++---- src/lib/elementary/efl_ui_collection_view.c | 94 ++++++++++++------------- src/tests/elementary/efl_ui_test_select_model.c | 2 +- 4 files changed, 63 insertions(+), 63 deletions(-) diff --git a/src/lib/ecore/efl_boolean_model.c b/src/lib/ecore/efl_boolean_model.c index 552baf1..9e61ce3 100644 --- a/src/lib/ecore/efl_boolean_model.c +++ b/src/lib/ecore/efl_boolean_model.c @@ -406,8 +406,8 @@ struct _Eina_Iterator_Boolean Efl_Boolean_Model_Storage_Range *sr; Eina_Iterator *infix; - uint64_t index; - uint64_t total; + unsigned int index; + unsigned int total; Eina_Bool request; }; @@ -423,7 +423,7 @@ _efl_boolean_model_iterator_storage_index_find(Eina_Iterator_Boolean *it) while (offset < it->sr->length) { - uint64_t upidx; + unsigned int upidx; upidx = offset >> 3; diff --git a/src/lib/ecore/efl_filter_model.c b/src/lib/ecore/efl_filter_model.c index a382b7b..cc18dca 100644 --- a/src/lib/ecore/efl_filter_model.c +++ b/src/lib/ecore/efl_filter_model.c @@ -11,8 +11,8 @@ struct _Efl_Filter_Model_Mapping { EINA_RBTREE; - uint64_t original; - uint64_t mapped; + unsigned int original; + unsigned int mapped; EINA_REFCOUNT; }; @@ -28,10 +28,10 @@ struct _Efl_Filter_Model_Data void *data; EflFilterModel cb; Eina_Free_Cb free_cb; - uint64_t count; + unsigned int count; } filter; - uint64_t counted; + unsigned int counted; Eina_Bool counting_started : 1; Eina_Bool processed : 1; }; @@ -54,7 +54,7 @@ _filter_mapping_looking_cb(const Eina_Rbtree *node, const void *key, int length EINA_UNUSED, void *data EINA_UNUSED) { const Efl_Filter_Model_Mapping *n = (const Efl_Filter_Model_Mapping *) node; - const uint64_t *k = key; + const unsigned int *k = key; return n->mapped - *k; } @@ -85,7 +85,7 @@ struct _Efl_Filter_Request Efl_Filter_Model_Data *pd; Efl_Model *parent; Efl_Model *child; - uint64_t index; + unsigned int index; }; static Efl_Filter_Model * @@ -243,7 +243,7 @@ _efl_filter_model_child_removed(void *data, const Efl_Event *event) Efl_Filter_Model_Mapping *mapping; Efl_Filter_Model_Data *pd = data; Efl_Model_Children_Event *ev = event->info; - uint64_t removed = ev->index; + unsigned int removed = ev->index; mapping = (void *)eina_rbtree_inline_lookup(pd->mapping, &removed, sizeof (uint64_t), @@ -370,10 +370,10 @@ _efl_filter_model_efl_model_children_slice_get(Eo *obj, Efl_Filter_Model_Data *p for (i = 0; i < count; i++) { - uint64_t lookup = start + i; + unsigned int lookup = start + i; mapping[i] = (void *)eina_rbtree_inline_lookup(pd->mapping, - &lookup, sizeof (uint64_t), + &lookup, sizeof (unsigned int), _filter_mapping_looking_cb, NULL); if (!mapping[i]) goto on_error; } @@ -410,7 +410,7 @@ typedef struct _Efl_Filter_Model_Result Efl_Filter_Model_Result; struct _Efl_Filter_Model_Result { Efl_Filter_Model_Data *pd; - uint64_t count; + unsigned int count; Efl_Model *targets[1]; }; @@ -422,7 +422,7 @@ _efl_filter_model_array_result_request(Eo *o EINA_UNUSED, void *data, const Eina Efl_Filter_Model_Data *pd = req->pd; unsigned int i, len; Eina_Value request = EINA_VALUE_EMPTY; - uint64_t pcount = pd->filter.count; + unsigned int pcount = pd->filter.count; EINA_VALUE_ARRAY_FOREACH(&v, len, i, request) { @@ -465,7 +465,7 @@ static void _efl_filter_model_array_result_free(Eo *o EINA_UNUSED, void *data, const Eina_Future *dead_future EINA_UNUSED) { Efl_Filter_Model_Result *req = data; - uint64_t i; + unsigned int i; for (i = 0; i < req->count; i++) efl_unref(req->targets[i]); diff --git a/src/lib/elementary/efl_ui_collection_view.c b/src/lib/elementary/efl_ui_collection_view.c index 308268d..72f7bfe 100644 --- a/src/lib/elementary/efl_ui_collection_view.c +++ b/src/lib/elementary/efl_ui_collection_view.c @@ -38,7 +38,7 @@ struct _Efl_Ui_Collection_Item_Lookup { EINA_RBTREE; - uint64_t index; + unsigned int index; Efl_Ui_Collection_Item item; }; @@ -46,7 +46,7 @@ struct _Efl_Ui_Collection_Viewport { Efl_Ui_Collection_Item *items; - uint64_t offset; + unsigned int offset; uint16_t count; }; @@ -54,8 +54,8 @@ struct _Efl_Ui_Collection_Request { Eina_Future *f; - uint64_t offset; - uint64_t length; + unsigned int offset; + unsigned int length; Eina_Bool need_size : 1; Eina_Bool need_entity : 1; @@ -79,8 +79,8 @@ struct _Efl_Ui_Collection_View_Data Eina_List *requests; // Array of Efl_Ui_Collection_Request in progress - uint64_t start_id; - uint64_t end_id; + unsigned int start_id; + unsigned int end_id; Eina_Size2D content_min_size; @@ -116,7 +116,7 @@ _cache_tree_lookup(const Eina_Rbtree *node, const void *key, int length EINA_UNUSED, void *data EINA_UNUSED) { const Efl_Ui_Collection_Item_Lookup *n = (Efl_Ui_Collection_Item_Lookup *)node; - const uint64_t *index = key; + const unsigned int *index = key; if (n->index > *index) return 1; @@ -344,7 +344,7 @@ _size_to_model(Efl_Model *model, Eina_Size2D state) static Eina_List * _request_add(Eina_List *requests, Efl_Ui_Collection_Request **request, - uint64_t index, Eina_Bool need_entity) + unsigned int index, Eina_Bool need_entity) { if (!(*request)) goto create; @@ -393,7 +393,7 @@ _model_fetched_cb(Eo *obj, void *data, const Eina_Value v) if ((pd->viewport[v]->offset <= request->offset + i) && (request->offset + i < pd->viewport[v]->offset + pd->viewport[v]->count)) { - uint64_t index = request->offset + i - pd->viewport[v]->offset; + unsigned int index = request->offset + i - pd->viewport[v]->offset; efl_replace(&pd->viewport[v]->items[index].model, child); child = NULL; @@ -405,7 +405,7 @@ _model_fetched_cb(Eo *obj, void *data, const Eina_Value v) // When requesting a model, it should not be in the cache prior to the request if (!child) continue; - uint64_t search_index = request->offset + i; + unsigned int search_index = request->offset + i; insert = (void*) eina_rbtree_inline_lookup(pd->cache, &search_index, sizeof (search_index), _cache_tree_lookup, @@ -418,7 +418,7 @@ _model_fetched_cb(Eo *obj, void *data, const Eina_Value v) efl_replace(&insert->item.model, child); } else - ERR("Inserting a model that was already fetched, dropping new model %" PRIu64, search_index); + ERR("Inserting a model that was already fetched, dropping new model %u", search_index); } else { @@ -518,7 +518,7 @@ _entity_fetched_cb(Eo *obj, void *data, const Eina_Value v) Efl_Ui_Collection_Request *request = data; Efl_Gfx_Entity *child; unsigned int i, len; - uint64_t updated_size_start_id = 0, updated_entity_start_id = 0; + unsigned int updated_size_start_id = 0, updated_entity_start_id = 0; Eina_Bool updated_size = EINA_FALSE, updated_entity = EINA_FALSE; Evas *e; @@ -528,7 +528,7 @@ _entity_fetched_cb(Eo *obj, void *data, const Eina_Value v) EINA_VALUE_ARRAY_FOREACH(&v, len, i, child) { Efl_Ui_Collection_Item_Lookup *lookup; - uint64_t search_index; + unsigned int search_index; //unsigned int v; efl_key_data_set(child, COLLECTION_VIEW_MANAGED, COLLECTION_VIEW_MANAGED_YES); @@ -546,7 +546,7 @@ _entity_fetched_cb(Eo *obj, void *data, const Eina_Value v) if ((pd->viewport[v]->offset <= request->offset + i) && (request->offset + i < pd->viewport[v]->offset + pd->viewport[v]->count)) { - uint64_t index = request->offset + i - pd->viewport[v]->offset; + unsigned int index = request->offset + i - pd->viewport[v]->offset; if (pd->viewport[v]->items[index].entity) { @@ -597,7 +597,7 @@ _entity_fetched_cb(Eo *obj, void *data, const Eina_Value v) } if (lookup->item.entity) { - ERR("Entity already existing for id %" PRIu64, search_index); + ERR("Entity already existing for id %u", search_index); _entity_cleanup(obj, pd->factory, &lookup->item, NULL); } @@ -670,7 +670,7 @@ _entity_free_cb(Eo *o, void *data, const Eina_Future *dead_future EINA_UNUSED) static Eina_List * _cache_size_fetch(Eina_List *requests, Efl_Ui_Collection_Request **request, Efl_Ui_Collection_View_Data *pd, - uint64_t search_index, + unsigned int search_index, Efl_Ui_Position_Manager_Size_Batch_Entity *target, Eina_Size2D item_base) { @@ -727,7 +727,7 @@ _cache_size_fetch(Eina_List *requests, Efl_Ui_Collection_Request **request, static Eina_List * _cache_entity_fetch(Eina_List *requests, Efl_Ui_Collection_Request **request, Efl_Ui_Collection_View_Data *pd, - uint64_t search_index, + unsigned int search_index, Efl_Ui_Position_Manager_Object_Batch_Entity *target) { Efl_Ui_Collection_Item_Lookup *lookup; @@ -802,10 +802,10 @@ _batch_request_flush(Eina_List *requests, EINA_LIST_FOREACH(pd->requests, l, inflight) { - uint64_t istart = inflight->offset; - uint64_t iend = inflight->offset + inflight->length; - uint64_t rstart = request->offset; - uint64_t rend = request->offset + request->length; + unsigned int istart = inflight->offset; + unsigned int iend = inflight->offset + inflight->length; + unsigned int rstart = request->offset; + unsigned int rend = request->offset + request->length; // Way before if (rend < istart) continue; @@ -923,11 +923,11 @@ _batch_size_cb(void *data, Efl_Ui_Position_Manager_Size_Call_Config conf, Eina_R // Look in the temporary cache now for the beginning of the buffer #ifdef VIEWPORT_ENABLE - if (pd->viewport[0] && ((uint64_t)(conf.range.start_id + idx) < pd->viewport[0]->offset)) + if (pd->viewport[0] && ((unsigned int)(conf.range.start_id + idx) < pd->viewport[0]->offset)) { - while ((uint64_t)(conf.range.start_id + idx) < pd->viewport[0]->offset && idx < limit) + while ((unsigned int)(conf.range.start_id + idx) < pd->viewport[0]->offset && idx < limit) { - uint64_t search_index = conf.range.start_id + idx; + unsigned int search_index = conf.range.start_id + idx; requests = _cache_size_fetch(requests, &request, pd, search_index, &sizes[idx], item_base); idx++; @@ -943,7 +943,7 @@ _batch_size_cb(void *data, Efl_Ui_Position_Manager_Size_Call_Config conf, Eina_R (pd->viewport[i]->offset <= conf.range.start_id + idx) && (conf.range.start_id + idx < (pd->viewport[i]->offset + pd->viewport[i]->count))) { - uint64_t offset = conf.range.start_id + idx - pd->viewport[i]->offset; + unsigned int offset = conf.range.start_id + idx - pd->viewport[i]->offset; Efl_Model *model = pd->viewport[i]->items[offset].model; Efl_Gfx_Entity *entity = pd->viewport[i]->items[offset].entity; Eina_Bool entity_request = EINA_FALSE; @@ -999,7 +999,7 @@ _batch_size_cb(void *data, Efl_Ui_Position_Manager_Size_Call_Config conf, Eina_R // Look in the temporary cache now for the end of the buffer while (idx < limit) { - uint64_t search_index = conf.range.start_id + idx; + unsigned int search_index = conf.range.start_id + idx; requests = _cache_size_fetch(requests, &request, pd, search_index, &sizes[idx], item_base); idx++; @@ -1022,7 +1022,7 @@ _batch_size_cb(void *data, Efl_Ui_Position_Manager_Size_Call_Config conf, Eina_R { while (idx < limit) { - uint64_t search_index = conf.range.start_id + idx; + unsigned int search_index = conf.range.start_id + idx; requests = _cache_size_fetch(requests, &request, pd, search_index, &sizes[idx], item_base); idx++; @@ -1063,11 +1063,11 @@ _batch_entity_cb(void *data, Efl_Ui_Position_Manager_Request_Range range, Eina_R // Look in the temporary cache now for the beginning of the buffer #ifdef VIEWPORT_ENABLE - if (pd->viewport[0] && ((uint64_t)(range.start_id + idx) < pd->viewport[0]->offset)) + if (pd->viewport[0] && ((unsigned int)(range.start_id + idx) < pd->viewport[0]->offset)) { - while (idx < limit && (uint64_t)(range.start_id + idx) < pd->viewport[0]->offset) + while (idx < limit && (unsigned int)(range.start_id + idx) < pd->viewport[0]->offset) { - uint64_t search_index = range.start_id + idx; + unsigned int search_index = range.start_id + idx; requests = _cache_entity_fetch(requests, &request, pd, search_index, &entities[idx]); @@ -1085,7 +1085,7 @@ _batch_entity_cb(void *data, Efl_Ui_Position_Manager_Request_Range range, Eina_R (pd->viewport[i]->offset <= range.start_id + idx) && (range.start_id + idx < (pd->viewport[i]->offset + pd->viewport[i]->count))) { - uint64_t offset = range.start_id + idx - pd->viewport[i]->offset; + unsigned int offset = range.start_id + idx - pd->viewport[i]->offset; Efl_Gfx_Entity *entity = pd->viewport[i]->items[offset].entity; if (!entity) @@ -1112,7 +1112,7 @@ _batch_entity_cb(void *data, Efl_Ui_Position_Manager_Request_Range range, Eina_R // Look in the temporary cache now for the end of the buffer while (idx < limit) { - uint64_t search_index = range.start_id + idx; + unsigned int search_index = range.start_id + idx; requests = _cache_entity_fetch(requests, &request, pd, search_index, &entities[idx]); @@ -1188,7 +1188,7 @@ _viewport_walk_fill(Eina_List *requests, for (j = 0; j < viewport->count; j++) { Efl_Ui_Collection_Item_Lookup *lookup; - uint64_t index = viewport->offset + j; + unsigned int index = viewport->offset + j; if (viewport->items[j].model) goto check_entity; @@ -1320,7 +1320,7 @@ _manager_content_visible_range_changed_cb(void *data, const Efl_Event *ev) idx = lower_end; while (idx < upper_end) { - uint64_t search_index = idx; + unsigned int search_index = idx; requests = _cache_entity_fetch(requests, &request, pd, search_index, NULL); @@ -1343,7 +1343,7 @@ _manager_content_visible_range_changed_cb(void *data, const Efl_Event *ev) Eina_List *requests = NULL; long baseid; unsigned int delta, marginup, margindown; - uint64_t upperlimit_offset, lowerlimit_offset; + unsigned int upperlimit_offset, lowerlimit_offset; unsigned int i; pd->start_id = event->start_id; @@ -1449,7 +1449,7 @@ _manager_content_visible_range_changed_cb(void *data, const Efl_Event *ev) // We could optimize this to actually just move viewport around in most cases Efl_Ui_Collection_Item *items[3]; unsigned int j = 0, t = 0; - uint64_t target, current; + unsigned int target, current; // Case where are at the top if (pd->start_id < delta && pd->viewport[0]->offset == 0) goto build_request; @@ -1575,7 +1575,7 @@ EFL_CALLBACKS_ARRAY_DEFINE(manager_cbs, static void _item_scroll_internal(Eo *obj EINA_UNUSED, Efl_Ui_Collection_View_Data *pd, - uint64_t index, + unsigned int index, double align EINA_UNUSED, Eina_Bool anim) { @@ -1793,7 +1793,7 @@ _efl_model_child_removed(void *data, const Efl_Event *event) unsigned int upper_end; long length; unsigned int count; - uint64_t request_length; + unsigned int request_length; // FIXME: later optimization, instead of reloading everyone, we could actually track index and self // update would be more efficient, but it is also more tricky @@ -2202,11 +2202,11 @@ _efl_ui_collection_view_efl_ui_focus_manager_move(Eo *obj, Efl_Ui_Collection_Vie { Efl_Model *model; Eina_Value *vindex; - uint64_t index; + unsigned int index; model = efl_ui_view_model_get(new_obj); vindex = efl_model_property_get(model, "child.index"); - if (eina_value_uint64_convert(vindex, &index)) + if (eina_value_uint_convert(vindex, &index)) _item_scroll_internal(obj, pd, index, .0, EINA_TRUE); eina_value_free(vindex); } @@ -2249,7 +2249,7 @@ _efl_ui_collection_view_focus_manager_efl_ui_focus_manager_manager_focus_set(Eo { MY_DATA_GET(pd->collection, cpd); Efl_Ui_Item *item = NULL; - uint64_t item_id; + unsigned int item_id; if (focus == efl_ui_focus_manager_root_get(obj)) { @@ -2266,7 +2266,7 @@ _efl_ui_collection_view_focus_manager_efl_ui_focus_manager_manager_focus_set(Eo model = efl_ui_view_model_get(item); vindex = efl_model_property_get(model, "child.index"); - if (!eina_value_uint64_convert(vindex, &item_id)) return; + if (!eina_value_uint_convert(vindex, &item_id)) return; eina_value_free(vindex); } @@ -2281,7 +2281,7 @@ _efl_ui_collection_view_focus_manager_efl_ui_focus_manager_manager_focus_set(Eo } static int -_id_from_item(Efl_Ui_Item *item, uint64_t *index) +_id_from_item(Efl_Ui_Item *item, unsigned int *index) { Eina_Value *vindex; Efl_Model *model; @@ -2289,7 +2289,7 @@ _id_from_item(Efl_Ui_Item *item, uint64_t *index) model = efl_ui_view_model_get(item); vindex = efl_model_property_get(model, "child.index"); - EINA_SAFETY_ON_FALSE_RETURN_VAL(eina_value_uint64_convert(vindex, index), EINA_FALSE); + EINA_SAFETY_ON_FALSE_RETURN_VAL(eina_value_uint_convert(vindex, index), EINA_FALSE); eina_value_free(vindex); return EINA_TRUE; } @@ -2299,7 +2299,7 @@ _efl_ui_collection_view_focus_manager_efl_ui_focus_manager_request_move(Eo *obj, { MY_DATA_GET(pd->collection, cpd); Efl_Ui_Item *new_item, *item; - uint64_t item_id; + unsigned int item_id; if (!child) child = efl_ui_focus_manager_focus_get(obj); @@ -2344,9 +2344,9 @@ _efl_ui_collection_view_focus_manager_efl_ui_focus_manager_request_move(Eo *obj, _assert_item_available(new_item, new_id, cpd); } #else - uint64_t search_index = (uint64_t)new_id; + unsigned int search_index = new_id; lookup = (void*) eina_rbtree_inline_lookup(cpd->cache, &search_index, - sizeof (new_id), _cache_tree_lookup, + sizeof (search_index), _cache_tree_lookup, NULL); if (lookup) { diff --git a/src/tests/elementary/efl_ui_test_select_model.c b/src/tests/elementary/efl_ui_test_select_model.c index 63f5340..12d5e6e 100644 --- a/src/tests/elementary/efl_ui_test_select_model.c +++ b/src/tests/elementary/efl_ui_test_select_model.c @@ -84,7 +84,7 @@ EFL_START_TEST(efl_test_select_model) Efl_Ui_Select_Model *model; Eina_Future *future; Eina_Iterator *it; - uint64_t *index; + unsigned int *index; eina_value_setup(&v, EINA_VALUE_TYPE_INT); -- 2.7.4