diff options
-rw-r--r-- | src/lib/evas/canvas/evas_render.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c index 9d630859c4..ff292ae2e5 100644 --- a/src/lib/evas/canvas/evas_render.c +++ b/src/lib/evas/canvas/evas_render.c @@ -2116,22 +2116,25 @@ evas_render_updates_internal_loop(Evas *eo_e, Evas_Public_Data *e, eina_evlog("+render_setup", eo_e, 0.0, NULL); RD(0, " [--- UPDATE %i %i %ix%i\n", ux, uy, uw, uh); - if (do_async) + if (!top) { - ru = malloc(sizeof(*ru)); - ru->surface = surface; - NEW_RECT(ru->area, ux, uy, uw, uh); - e->render.updates = eina_list_append(e->render.updates, ru); - evas_cache_image_ref(surface); - } - else if (make_updates) - { - Eina_Rectangle *rect; + if (do_async) + { + ru = malloc(sizeof(*ru)); + ru->surface = surface; + NEW_RECT(ru->area, ux, uy, uw, uh); + e->render.updates = eina_list_append(e->render.updates, ru); + evas_cache_image_ref(surface); + } + else if (make_updates) + { + Eina_Rectangle *rect; - NEW_RECT(rect, ux, uy, uw, uh); - if (rect) - e->render.updates = eina_list_append(e->render.updates, - rect); + NEW_RECT(rect, ux, uy, uw, uh); + if (rect) + e->render.updates = eina_list_append(e->render.updates, + rect); + } } off_x = cx - ux; |