summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerek Foreman <derek.foreman.samsung@gmail.com>2019-01-10 15:59:26 -0600
committerDerek Foreman <derek.foreman.samsung@gmail.com>2019-01-15 13:47:18 -0600
commit0aa73f5365e181bedd7156162ce98917c07fa99e (patch)
treec7621b1fa36ea5e47b72397994edc404a3a617d1
parentbe3020b0ab53121757c11daefc22a2c575c8cf3d (diff)
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
Diffstat (limited to '')
-rw-r--r--src/lib/evas/canvas/evas_render.c8
-rw-r--r--src/lib/evas/include/evas_private.h3
2 files changed, 6 insertions, 5 deletions
diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c
index 57fc72226d..80c960bda9 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -3582,8 +3582,8 @@ evas_render_updates_internal(Evas *eo_e,
3582 { 3582 {
3583 eina_evlog("+render_output_async_flush", eo_e, 0.0, NULL); 3583 eina_evlog("+render_output_async_flush", eo_e, 0.0, NULL);
3584 efl_ref(eo_e); 3584 efl_ref(eo_e);
3585 e->rendering = EINA_TRUE; 3585 _rendering_evases = eina_list_prepend(_rendering_evases, e);
3586 _rendering_evases = eina_list_append(_rendering_evases, e); 3586 e->rendering = _rendering_evases;
3587 _cb_always_call(eo_e, EVAS_CALLBACK_RENDER_FLUSH_PRE, NULL); 3587 _cb_always_call(eo_e, EVAS_CALLBACK_RENDER_FLUSH_PRE, NULL);
3588 evas_thread_queue_flush((Evas_Thread_Command_Cb)evas_render_pipe_wakeup, e); 3588 evas_thread_queue_flush((Evas_Thread_Command_Cb)evas_render_pipe_wakeup, e);
3589 eina_evlog("-render_output_async_flush", eo_e, 0.0, NULL); 3589 eina_evlog("-render_output_async_flush", eo_e, 0.0, NULL);
@@ -3856,8 +3856,8 @@ evas_render_wakeup(Evas *eo_e)
3856 } 3856 }
3857 3857
3858 /* post rendering */ 3858 /* post rendering */
3859 _rendering_evases = eina_list_remove(_rendering_evases, evas); 3859 _rendering_evases = eina_list_remove_list(_rendering_evases, evas->rendering);
3860 evas->rendering = EINA_FALSE; 3860 evas->rendering = NULL;
3861 3861
3862 post.updated_area = ret_updates; 3862 post.updated_area = ret_updates;
3863 _cb_always_call(eo_e, EVAS_CALLBACK_RENDER_POST, &post); 3863 _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 76621161af..901d3a5f67 100644
--- a/src/lib/evas/include/evas_private.h
+++ b/src/lib/evas/include/evas_private.h
@@ -889,12 +889,13 @@ struct _Evas_Public_Data
889 Evas_Device *default_mouse; 889 Evas_Device *default_mouse;
890 Evas_Device *default_keyboard; 890 Evas_Device *default_keyboard;
891 891
892 Eina_List *rendering;
893
892 unsigned char changed : 1; 894 unsigned char changed : 1;
893 unsigned char delete_me : 1; 895 unsigned char delete_me : 1;
894 unsigned char invalidate : 1; 896 unsigned char invalidate : 1;
895 unsigned char cleanup : 1; 897 unsigned char cleanup : 1;
896 Eina_Bool is_frozen : 1; 898 Eina_Bool is_frozen : 1;
897 Eina_Bool rendering : 1;
898 Eina_Bool inside_post_render : 1; 899 Eina_Bool inside_post_render : 1;
899 Eina_Bool devices_modified : 1; 900 Eina_Bool devices_modified : 1;
900}; 901};