jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6642d16a7d1de17e776cf1cd8266fa2830d4b163
commit 6642d16a7d1de17e776cf1cd8266fa2830d4b163 Author: Jean-Philippe Andre <jp.an...@samsung.com> Date: Fri Feb 14 12:18:58 2014 +0900 Evas filters: Fix more clang stuff and add safety checks The prepare function should not fail, unless something is very wrong. Also, return NULL instead of EINA_FALSE. --- src/lib/evas/filters/evas_filter_parser.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/lib/evas/filters/evas_filter_parser.c b/src/lib/evas/filters/evas_filter_parser.c index be33238..9c9ba04 100644 --- a/src/lib/evas/filters/evas_filter_parser.c +++ b/src/lib/evas/filters/evas_filter_parser.c @@ -1246,7 +1246,7 @@ _curve_instruction_prepare(Evas_Filter_Instruction *instr) _instruction_param_name_add(instr, "src", VT_BUFFER, "input"); _instruction_param_name_add(instr, "dst", VT_BUFFER, "output"); - return EINA_FALSE; + return EINA_TRUE; } static void @@ -1619,7 +1619,7 @@ _instruction_create(const char *name) Evas_Filter_Instruction *instr; Eina_Bool (* prepare) (Evas_Filter_Instruction *) = NULL; - EINA_SAFETY_ON_FALSE_RETURN_VAL(name && *name, EINA_FALSE); + EINA_SAFETY_ON_FALSE_RETURN_VAL(name && *name, NULL); if (!strcasecmp(name, "blend")) prepare = _blend_instruction_prepare; @@ -1649,7 +1649,12 @@ _instruction_create(const char *name) instr = _instruction_new(name); if (!instr) return NULL; - prepare(instr); + if (!prepare(instr)) + { + CRI("Failed to prepare instruction '%s'. Check the code.", name); + _instruction_del(instr); + return NULL; + } return instr; } --