raster pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=0cb33a46758bd1f66653e97d7ad027a9529b1279

commit 0cb33a46758bd1f66653e97d7ad027a9529b1279
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Mon Jan 12 15:54:22 2015 +0900

    edje - edje_cc - fix wrong state lists where default is not the first
    
    this fixes T1926
    @fix
---
 src/bin/edje/edje_cc_handlers.c | 27 ++++++++++++++++++++++++++-
 1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c
index aebb953..dfb8ed4 100644
--- a/src/bin/edje/edje_cc_handlers.c
+++ b/src/bin/edje/edje_cc_handlers.c
@@ -6478,12 +6478,37 @@ st_collections_group_parts_part_description_state(void)
    if (ep->other.desc_count) ed = ep->other.desc[ep->other.desc_count - 1];
 
    s = parse_str(0);
-   if (!strcmp (s, "custom"))
+   if (!strcmp(s, "default"))
+     {
+        double v;
+
+        if (get_arg_count() == 1) v = 0.0;
+        else v = parse_float_range(1, 0.0, 1.0);
+        if (v == 0.0)
+          {
+             if (ed != ep->default_desc)
+               {
+                  ERR("parse error %s:%i. description state '%s' %1.2f is not 
the first state listed",
+                      file_in, line - 1, s, v);
+                  exit(-1);
+               }
+          }
+     }
+   if (!strcmp(s, "custom"))
      {
         ERR("parse error %s:%i. invalid state name: '%s'.",
             file_in, line - 1, s);
         exit(-1);
      }
+   if (ed == ep->default_desc)
+     {
+        if (strcmp(s, "default"))
+          {
+             ERR("parse error %s:%i.  first state is not 'default'",
+                 file_in, line - 1);
+             exit(-1);
+          }
+     }
 
    free((void *)ed->state.name);
    ed->state.name = s;

-- 


Reply via email to