forked from enlightenment/efl
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:
parent
be3020b0ab
commit
0aa73f5365
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue