Evas render: Fix another map clip render issue

This time it's only about performance. We seem to be setting the
changed flag too often, which might trigger unnecessary redraws.

- map flag is set if there is currently a map AND it's not an image
  object (because images can map themselves)
- hmap flag is set if there was a map before

So, map != hmap does not imply a transition between a mapped and
non-mapped state. Add an extra check before marking the clip
as dirty and changed.
This commit is contained in:
Jean-Philippe Andre 2015-11-20 14:23:29 +09:00
parent ec92726ca9
commit 58a1b2767e
1 changed files with 1 additions and 1 deletions

View File

@ -630,7 +630,7 @@ _evas_render_phase1_object_process(Evas_Public_Data *e, Evas_Object *eo_obj,
*redraw_all = 1;
}
}
if (obj->cur->clipper)
if (!map && obj->cur->clipper)
{
// Fix some bad clipping issues after an evas_map animation finishes
evas_object_change(obj->cur->clipper->object, obj->cur->clipper);