diff --git a/src/lib/evas/canvas/evas_filter_mixin.c b/src/lib/evas/canvas/evas_filter_mixin.c index 636451d8d2..ce160a89cf 100644 --- a/src/lib/evas/canvas/evas_filter_mixin.c +++ b/src/lib/evas/canvas/evas_filter_mixin.c @@ -679,8 +679,12 @@ _efl_canvas_filter_internal_efl_gfx_filter_filter_data_set(Eo *eo_obj, Evas_Filt db->execute = execute; fcow->data = eina_inlist_append(fcow->data, EINA_INLIST_GET(db)); } - evas_filter_program_data_set_all(fcow->chain, fcow->data); - evas_filter_program_parse(fcow->chain, fcow->code); + fcow->invalid = EINA_FALSE; + if (fcow->chain) + { + evas_filter_program_data_set_all(fcow->chain, fcow->data); + evas_filter_program_parse(fcow->chain, fcow->code); + } fcow->changed = 1; } FCOW_END(fcow, pd);