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.
This commit is contained in:
Jean-Philippe Andre 2016-12-16 10:53:03 +09:00
parent 70676a4179
commit 3e0f3822f1
1 changed files with 13 additions and 3 deletions

View File

@ -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 */