evas_object_smart: enhance logic checking clipper visibility 75/254475/1
authorShinwoo Kim <cinoo.kim@samsung.com>
Wed, 3 Mar 2021 07:44:28 +0000 (16:44 +0900)
committerShinwoo Kim <cinoo.kim@samsung.com>
Wed, 3 Mar 2021 10:34:50 +0000 (19:34 +0900)
commitf3576181061665bf7e6c80b66e77dfba40d5fd12
tree895cfd276663d7dc782922c3f1a7cb879cb65d7c
parent49254461970f0b88dd9db76b898330dd7e14c928
evas_object_smart: enhance logic checking clipper visibility

Summary:
If current clipper object is equal to previous clipper object,
then the value of visible (or alpha) is same, because it is same object.

But there is a case that current visible value is different with
previous visible, when clipper object is same.

I added this patch to cover above case to draw childern of map.
See following flow.

  evas_render_mapped
    > if (_evas_render_has_map(obj) && !_evas_render_can_map(obj))
      > if (!changed) changed = evas_object_smart_changed_get(obj);

The evas_object_smart_changed_get returned FALSE, even though
current visible value is different with previous one in the same
clipper object.

Reviewers: raster, Hermet, herb, jsuya

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12250

Change-Id: I4306eaf0a5aab156dbbf223dd844e338bde1d6b2
src/lib/evas/canvas/evas_object_smart.c