jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3e0f3822f144b254c9d541a32c0d789036453da4
commit 3e0f3822f144b254c9d541a32c0d789036453da4 Author: Jean-Philippe Andre <jp.an...@samsung.com> Date: Fri Dec 16 10:53:03 2016 +0900 evas: Call object render in mask_subrender This can avoid some invalid render from evas_render_mapped in a rare case. I'm not sure about the conditions but I know for sure that at the moment mask_subrender should be only rendering plain old images into a dedicated surface. So no need for evas_render_mapped here. --- src/lib/evas/canvas/evas_render.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c index d956ec3..4b51c1f 100644 --- a/src/lib/evas/canvas/evas_render.c +++ b/src/lib/evas/canvas/evas_render.c @@ -2491,9 +2491,19 @@ evas_render_mask_subrender(Evas_Public_Data *evas, prev_mask->cur->geometry.y - y, evas, EINA_FALSE); } - evas_render_mapped(evas, mask->object, mask, ctx, mdata->surface, - -x, -y, 2, 0, 0, evas->output.w, evas->output.h, - NULL, level, EINA_TRUE, EINA_FALSE); + + if (EINA_LIKELY(!mask->is_smart)) + { + mask->func->render(mask->object, mask, mask->private_data, + ENDT, ctx, mdata->surface, -x, -y, EINA_FALSE); + } + else + { + // Unreachable code until we implement support for smart masks + evas_render_mapped(evas, mask->object, mask, ctx, mdata->surface, + -x, -y, 2, 0, 0, evas->output.w, evas->output.h, + NULL, level, EINA_TRUE, EINA_FALSE); + } ENFN->context_free(ENDT, ctx); /* BEGIN HACK */ --