Evas masking: Fix rendering of restacked masks of masks in a map
authorJean-Philippe Andre <jp.andre@samsung.com>
Wed, 4 Feb 2015 05:43:14 +0000 (14:43 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Wed, 4 Feb 2015 06:03:41 +0000 (15:03 +0900)
I know. This title does not explain anything. Whatever.

This fixes the following issue:
- Mask a genlist (big mask)
- Each item has an icon masked (small mask)
- Apply a map to the genlist
- Scrolling the genlist
--> The big mask still works but totally screws up the
    small icons with masks.

Note: Once again this patch only affects code paths where an
      object is a mask.

src/lib/evas/canvas/evas_render.c

index b0fc2d1..a848a89 100644 (file)
@@ -2135,6 +2135,8 @@ evas_render_updates_internal(Evas *eo_e,
    for (i = 0; i < e->restack_objects.count; ++i)
      {
         obj = eina_array_data_get(&e->restack_objects, i);
+        if (_evas_render_object_is_mask(obj))
+          _evas_mask_redraw_set(e, obj);
         obj->func->render_pre(obj->object, obj, obj->private_data);
         _evas_render_prev_cur_clip_cache_add(e, obj);
      }