From: Derek Foreman Date: Thu, 10 Jan 2019 21:59:26 +0000 (-0600) Subject: evas_render: Remove some list walks X-Git-Tag: submit/tizen/20190116.045417~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fe4378f26e1ec46256d59992c2382ba7bb4b0d61;p=platform%2Fupstream%2Fefl.git 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 Reviewed-by: Cedric BAIL Reviewed-by: Chris Michael Differential Revision: https://phab.enlightenment.org/D7611 --- diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c index 5443569..2966182 100644 --- a/src/lib/evas/canvas/evas_render.c +++ b/src/lib/evas/canvas/evas_render.c @@ -3637,8 +3637,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); @@ -3911,8 +3911,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); diff --git a/src/lib/evas/include/evas_private.h b/src/lib/evas/include/evas_private.h index a16824f..7790518 100755 --- a/src/lib/evas/include/evas_private.h +++ b/src/lib/evas/include/evas_private.h @@ -893,12 +893,13 @@ struct _Evas_Public_Data Evas_Device *last_mouse; // + 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; };