raster pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7b7f69e09fb198a881a931bd79ac61b5260b1bb0
commit 7b7f69e09fb198a881a931bd79ac61b5260b1bb0 Author: Shinwoo Kim <cinoo....@samsung.com> Date: Wed Sep 9 12:14:48 2020 +0100 evas vg: check object changed as well Summary: evas cannot render vg object if Efl_Canvas_Vg_Object_Data.changed is ture and Evas_Object_Protected_Data.changed is false, when vg object marks itself as changed. Above case is possible depending on the draw area which is calculated by eng_output_redraws_next_update_get. If this function returns NULL, the vg object render function is not called, and vd->changed remains true. Only vd->obj->changed is set to false by vas_object_change_reset. Reviewers: Hermet, jsuya, herb, raster Reviewed By: raster Subscribers: raster, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12136 --- src/lib/evas/canvas/evas_vg_private.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_vg_private.h b/src/lib/evas/canvas/evas_vg_private.h index aba4e9d27b..2431722b46 100644 --- a/src/lib/evas/canvas/evas_vg_private.h +++ b/src/lib/evas/canvas/evas_vg_private.h @@ -154,7 +154,7 @@ void efl_canvas_vg_container_blend_buffer_clear(Efl_VG *o static inline void efl_canvas_vg_object_change(Efl_Canvas_Vg_Object_Data *vd) { - if (!vd || vd->changed) return; + if (!vd || (vd->changed && vd->obj->changed)) return; vd->changed = EINA_TRUE; evas_object_change(vd->obj->object, vd->obj); } --