evas_render: Remove some list walks

Not that these deletes ever walk long lists, but it's trivial to stop
doing it entirely.

Signed-off-by: Derek Foreman <derek.foreman.samsung@gmail.com>
Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Reviewed-by: Chris Michael <cp.michael@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7611
This commit is contained in:
Derek Foreman 2019-01-10 15:59:26 -06:00
parent be3020b0ab
commit 0aa73f5365
2 changed files with 6 additions and 5 deletions

View File

@ -3582,8 +3582,8 @@ evas_render_updates_internal(Evas *eo_e,
{
eina_evlog("+render_output_async_flush", eo_e, 0.0, NULL);
efl_ref(eo_e);
e->rendering = EINA_TRUE;
_rendering_evases = eina_list_append(_rendering_evases, e);
_rendering_evases = eina_list_prepend(_rendering_evases, e);
e->rendering = _rendering_evases;
_cb_always_call(eo_e, EVAS_CALLBACK_RENDER_FLUSH_PRE, NULL);
evas_thread_queue_flush((Evas_Thread_Command_Cb)evas_render_pipe_wakeup, e);
eina_evlog("-render_output_async_flush", eo_e, 0.0, NULL);
@ -3856,8 +3856,8 @@ evas_render_wakeup(Evas *eo_e)
}
/* post rendering */
_rendering_evases = eina_list_remove(_rendering_evases, evas);
evas->rendering = EINA_FALSE;
_rendering_evases = eina_list_remove_list(_rendering_evases, evas->rendering);
evas->rendering = NULL;
post.updated_area = ret_updates;
_cb_always_call(eo_e, EVAS_CALLBACK_RENDER_POST, &post);

View File

@ -889,12 +889,13 @@ struct _Evas_Public_Data
Evas_Device *default_mouse;
Evas_Device *default_keyboard;
Eina_List *rendering;
unsigned char changed : 1;
unsigned char delete_me : 1;
unsigned char invalidate : 1;
unsigned char cleanup : 1;
Eina_Bool is_frozen : 1;
Eina_Bool rendering : 1;
Eina_Bool inside_post_render : 1;
Eina_Bool devices_modified : 1;
};