Changeset View
Changeset View
Standalone View
Standalone View
src/lib/elementary/elm_genlist.c
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 7919 Lines • ▼ Show 20 Line(s) | 7918 | { | |||
---|---|---|---|---|---|
7920 | if (l) | 7920 | if (l) | ||
7921 | sd->filter_queue = eina_list_remove_list(sd->filter_queue, l); | 7921 | sd->filter_queue = eina_list_remove_list(sd->filter_queue, l); | ||
7922 | if (it->item->queued) | 7922 | if (it->item->queued) | ||
7923 | l = eina_list_data_find_list(sd->queue, it); | 7923 | l = eina_list_data_find_list(sd->queue, it); | ||
7924 | else | 7924 | else | ||
7925 | l = NULL; | 7925 | l = NULL; | ||
7926 | if (l) | 7926 | if (l) | ||
7927 | { | 7927 | { | ||
7928 | sd->queue = eina_list_remove_list(sd->queue, l); | 7928 | Elm_Gen_Item *tmp; | ||
7929 | it->item->queued = EINA_FALSE; | 7929 | while (sd->queue) | ||
7930 | _item_process(sd, it); | 7930 | { | ||
7931 | _item_process_post(sd, it); | 7931 | tmp = eina_list_data_get(sd->queue); | ||
7932 | sd->queue = eina_list_remove_list(sd->queue, sd->queue); | ||||
7933 | tmp->item->queued = EINA_FALSE; | ||||
7934 | _item_process(sd, tmp); | ||||
7935 | _item_process_post(sd, tmp); | ||||
7936 | if (tmp == it) break; | ||||
godlytalias: Won't this block the UI if list size is big, don't we have to break if processing takes more… | |||||
7937 | } | ||||
7932 | } | 7938 | } | ||
7933 | 7939 | | |||
7934 | _filter_item_internal(it); | 7940 | _filter_item_internal(it); | ||
7935 | if (it->item->block) | 7941 | if (it->item->block) | ||
7936 | it->item->block->changed = EINA_TRUE; | 7942 | it->item->block->changed = EINA_TRUE; | ||
7937 | efl_canvas_group_change(sd->obj); | 7943 | efl_canvas_group_change(sd->obj); | ||
7938 | sd->need_calc = EINA_TRUE; | 7944 | sd->need_calc = EINA_TRUE; | ||
7939 | } | 7945 | } | ||
▲ Show 20 Lines • Show All 1064 Lines • Show Last 20 Lines |
Won't this block the UI if list size is big, don't we have to break if processing takes more than ecore_animator_frametime_get value?