forked from enlightenment/efl
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
This commit is contained in:
parent
1fa8409b97
commit
7b7f69e09f
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue