diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index 4bf1531487..d87ff078d2 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -4013,6 +4013,12 @@ edje_edit_state_color_class_set(Evas_Object *obj, const char *part, const char * if ((!obj) || (!part) || (!state)) return EINA_FALSE; GET_PD_OR_RETURN(EINA_FALSE); + if (!color_class) + { + pd->color_class = NULL; + return EINA_FALSE; + } + if (!ed->file->color_classes) return EINA_FALSE; EINA_LIST_FOREACH(ed->file->color_classes, l, cc) { @@ -4070,6 +4076,9 @@ edje_edit_state_external_param_get(Evas_Object *obj, const char *part, const cha if (rp->part->type != EDJE_PART_TYPE_EXTERNAL) return EINA_FALSE; + if (!param) + return EINA_FALSE; + external = (Edje_Part_Description_External *) pd; EINA_LIST_FOREACH(external->external_params, l, p) @@ -4114,6 +4123,9 @@ edje_edit_state_external_param_int_get(Evas_Object *obj, const char *part, const return EINA_FALSE; } + if (!param) + return EINA_FALSE; + external = (Edje_Part_Description_External *) pd; EINA_LIST_FOREACH(external->external_params, l, p) @@ -4144,6 +4156,9 @@ edje_edit_state_external_param_bool_get(Evas_Object *obj, const char *part, cons return EINA_FALSE; } + if (!param) + return EINA_FALSE; + external = (Edje_Part_Description_External *) pd; EINA_LIST_FOREACH(external->external_params, l, p) @@ -4174,6 +4189,9 @@ edje_edit_state_external_param_double_get(Evas_Object *obj, const char *part, co return EINA_FALSE; } + if (!param) + return EINA_FALSE; + external = (Edje_Part_Description_External *) pd; EINA_LIST_FOREACH(external->external_params, l, p) @@ -4204,6 +4222,9 @@ edje_edit_state_external_param_string_get(Evas_Object *obj, const char *part, co return EINA_FALSE; } + if (!param) + return EINA_FALSE; + external = (Edje_Part_Description_External *) pd; EINA_LIST_FOREACH(external->external_params, l, p) @@ -4234,6 +4255,9 @@ edje_edit_state_external_param_choice_get(Evas_Object *obj, const char *part, co return EINA_FALSE; } + if (!param) + return EINA_FALSE; + external = (Edje_Part_Description_External *) pd; EINA_LIST_FOREACH(external->external_params, l, p) @@ -4263,6 +4287,9 @@ edje_edit_state_external_param_set(Evas_Object *obj, const char *part, const cha if (rp->part->type != EDJE_PART_TYPE_EXTERNAL) return EINA_FALSE; + if (!param) + return EINA_FALSE; + external = (Edje_Part_Description_External *) pd; va_start(ap, type);