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;

-- 


Reply via email to