evas filters: Recompile filter after data_set
authorJean-Philippe Andre <jp.andre@samsung.com>
Mon, 20 Mar 2017 11:16:19 +0000 (20:16 +0900)
committerJean-Philippe Andre <jp.andre@samsung.com>
Fri, 14 Apr 2017 02:26:43 +0000 (11:26 +0900)
src/lib/evas/canvas/evas_filter_mixin.c

index 636451d..ce160a8 100644 (file)
@@ -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);