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;
 }
 

-- 


Reply via email to