raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=4e8bd36ce8d882c1522f44d7306a7923c41bd4c0

commit 4e8bd36ce8d882c1522f44d7306a7923c41bd4c0
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Tue May 18 15:10:43 2021 +0100

    evas all sync - put a limit on loops and loop while rendering still
---
 src/lib/evas/canvas/evas_render.c | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index f013f23aa6..3e7c6a5add 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -2767,14 +2767,21 @@ evas_render_rendering_wait(Evas_Public_Data *evas)
 void
 evas_all_sync(void)
 {
-   Evas_Public_Data *evas;
-
-   if (!_rendering_evases) return;
+   int loops = 0;
 
-   evas = eina_list_data_get(eina_list_last(_rendering_evases));
-   evas_render_rendering_wait(evas);
+   while (!_rendering_evases)
+     {
+        Evas_Public_Data *evas;
 
-   assert(_rendering_evases == NULL);
+        evas = eina_list_data_get(eina_list_last(_rendering_evases));
+        evas_render_rendering_wait(evas);
+        loops++;
+        if (loops > 100)
+          {
+             fprintf(stderr, "ERROR: evas_all_sync did %i loops\n", loops);
+             break;
+          }
+     }
 }
 
 static Eina_Bool

-- 


Reply via email to