cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9fdcecebe3d037d58623d9b30b6d39d92726b809
commit 9fdcecebe3d037d58623d9b30b6d39d92726b809 Author: Andrii Kroitor <[email protected]> Date: Mon Apr 6 16:11:49 2015 +0200 edje: fix program transition generation by Edje_Edit. Summary: fix possible CURRENT option omission (0-time transition + non-LINEAR transition type. fix extra ';' for omitted 0-time LINEAR transition Reviewers: cedric, seoz, raster, Hermet Subscribers: cedric, reutskiy.v.v Differential Revision: https://phab.enlightenment.org/D2279 Signed-off-by: Cedric BAIL <[email protected]> --- src/lib/edje/edje_edit.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/lib/edje/edje_edit.c b/src/lib/edje/edje_edit.c index 4bd2f4e..7fcd7a3 100644 --- a/src/lib/edje/edje_edit.c +++ b/src/lib/edje/edje_edit.c @@ -10401,6 +10401,7 @@ _edje_generate_source_of_program(Evas_Object *obj, const char *program, Eina_Str double db, db2,v1,v2,v3,v4; char *data; Eina_Bool ret = EINA_TRUE; + Eina_Bool no_transition = EINA_FALSE; const char *api_name, *api_description; Edje_Program *epr; int tweenmode = 0; @@ -10540,6 +10541,8 @@ _edje_generate_source_of_program(Evas_Object *obj, const char *program, Eina_Str case EDJE_TWEEN_MODE_LINEAR: if (db) BUF_APPENDF(I4"transition: LINEAR %.5f", db); + else + no_transition = EINA_TRUE; break; case EDJE_TWEEN_MODE_ACCELERATE: BUF_APPENDF(I4"transition: ACCELERATE %.5f", db); @@ -10585,15 +10588,17 @@ _edje_generate_source_of_program(Evas_Object *obj, const char *program, Eina_Str BUF_APPENDF(I4"transition: CUBIC_BEZIER %.5f %.5f %.5f %.5f %.5f", db,v1,v2,v3,v4); break; default: + no_transition = EINA_TRUE; break; } - if( db && (tweenmode >= EDJE_TWEEN_MODE_LINEAR) && (tweenmode < EDJE_TWEEN_MODE_LAST)) + if (!no_transition) { - if(epr->tween.mode & EDJE_TWEEN_MODE_OPT_FROM_CURRENT) - BUF_APPENDF(" CURRENT"); + if (epr->tween.mode & EDJE_TWEEN_MODE_OPT_FROM_CURRENT) + BUF_APPENDF(" CURRENT;\n"); + else + BUF_APPENDF(";\n"); } - BUF_APPENDF(";\n"); /* In */ db = epr->in.from; db2 = epr->in.range; --
