From 77004c5154a7453a6b79533662dabeb452aee29c Mon Sep 17 00:00:00 2001 From: Andrii Kroitor Date: Mon, 6 Apr 2015 13:40:27 +0900 Subject: [PATCH] edje_edit: fix STATE_SET and SIGNAL_EMIT generation Summary: edje_cc allows state, signal and source to be "". So edje_edit also should handle this values as valid and souldn't break programs, that are using them. Reviewers: cedric, seoz, raster, Hermet Reviewed By: Hermet Subscribers: cedric, reutskiy.v.v Differential Revision: https://phab.enlightenment.org/D2280 --- src/lib/edje/edje_edit.c | 31 ++++++++++++------------------- 1 file changed, 12 insertions(+), 19 deletions(-) diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index 7d9a00bafe..8697f1a90b 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -10386,7 +10386,7 @@ static Eina_Bool _edje_generate_source_of_program(Evas_Object *obj, const char *program, Eina_Strbuf *buf) { Eina_List *l, *ll; - const char *s, *s2; + const char *s; double db, db2,v1,v2,v3,v4; char *data; Eina_Bool ret = EINA_TRUE; @@ -10425,26 +10425,19 @@ _edje_generate_source_of_program(Evas_Object *obj, const char *program, Eina_Str switch (epr->action) { case EDJE_ACTION_TYPE_ACTION_STOP: - BUF_APPEND(I4"action: ACTION_STOP;\n"); - break; + BUF_APPEND(I4"action: ACTION_STOP;\n"); + break; case EDJE_ACTION_TYPE_STATE_SET: - if ((s = eina_stringshare_add(epr->state))) - { - BUF_APPENDF(I4"action: STATE_SET \"%s\" %.2f;\n", s, - edje_edit_program_value_get(obj, program)); - edje_edit_string_free(s); - } - break; + if (epr->state) + { + BUF_APPENDF(I4"action: STATE_SET \"%s\" %.2f;\n", epr->state, + edje_edit_program_value_get(obj, program)); + } + break; case EDJE_ACTION_TYPE_SIGNAL_EMIT: - s = eina_stringshare_add(epr->state); - s2 = eina_stringshare_add(epr->state2); - if (s && s2) - { - BUF_APPENDF(I4"action: SIGNAL_EMIT \"%s\" \"%s\";\n", s, s2); - edje_edit_string_free(s); - edje_edit_string_free(s2); - } - break; + if (epr->state && epr->state2) + BUF_APPENDF(I4"action: SIGNAL_EMIT \"%s\" \"%s\";\n", epr->state, epr->state2); + break; case EDJE_ACTION_TYPE_SCRIPT: { Program_Script *ps;