evas rect update calculation - account for clipped color changes 86/193286/1
authorJiyoun Park <jy0703.park@samsung.com>
Mon, 19 Nov 2018 02:30:13 +0000 (11:30 +0900)
committerJiyoun Park <jy0703.park@samsung.com>
Mon, 19 Nov 2018 02:31:49 +0000 (11:31 +0900)
    if clipped color changed and not object color on rect objects, then
    the updates could be missed. this also fixes some corner cases where
    opaqueness should not count for update deletion too. this bug seems to
    have been here a while unnoticed.

Change-Id: I7520cf2af98d2e72d4a8c2f41a020c9789f9143b

src/lib/evas/canvas/evas_object_rectangle.c

index d2dd430..af66c0f 100644 (file)
@@ -191,7 +191,11 @@ evas_object_rectangle_render_pre(Evas_Object *eo_obj,
    if ((obj->cur->color.r != obj->prev->color.r) ||
        (obj->cur->color.g != obj->prev->color.g) ||
        (obj->cur->color.b != obj->prev->color.b) ||
-       (obj->cur->color.a != obj->prev->color.a))
+       (obj->cur->color.a != obj->prev->color.a) ||
+       (obj->cur->cache.clip.r != obj->prev->cache.clip.r) ||
+       (obj->cur->cache.clip.g != obj->prev->cache.clip.g) ||
+       (obj->cur->cache.clip.b != obj->prev->cache.clip.b) ||
+       (obj->cur->cache.clip.a != obj->prev->cache.clip.a))
      {
        evas_object_render_pre_prev_cur_add(&obj->layer->evas->clip_changes, eo_obj, obj);
        goto done;