jpeg pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=176b0c8d03f7f6e851f1cfd4aa6dd0ec4d67b43a
commit 176b0c8d03f7f6e851f1cfd4aa6dd0ec4d67b43a Author: Jean-Philippe Andre <jp.an...@samsung.com> Date: Thu Dec 22 14:08:51 2016 +0900 Revert "edje: fix float comparison warning in edje_cc." This reverts commit 9730eb1f47341173063148332b9a833ff1377f45. This introduces new issues, such as: Warning: naviframe.edc:451: couldn't find an exact match in part 'elements_clip' when looking for 'hidden' 0.000000. Falling back to nearest one 'hidden' 0.000000. Because some comparison was not done properly, and changed float != 0 to float == 0. Get it right if you insist on "fixing" those floating point comparisons. --- src/bin/edje/edje_cc_handlers.c | 22 ++++++++-------------- src/bin/edje/edje_cc_parse.c | 4 ++-- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index 4b91645..864750c 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -3676,7 +3676,7 @@ st_collections_base_scale(void) check_min_arg_count(1); edje_file->base_scale = FROM_DOUBLE(parse_float_range(0, 0.0, 999999999.0)); - if (EQ(edje_file->base_scale, ZERO)) + if (edje_file->base_scale == ZERO) { ERR("The base_scale is 0.0. The value should be bigger than 0.0."); exit(-1); @@ -8180,7 +8180,7 @@ st_collections_group_parts_part_description_inherit(void) exit(-1); } - if (!strcmp (parent_name, "default") && EINA_DBL_CMP(parent_val, 0.0)) + if (!strcmp (parent_name, "default") && parent_val == 0.0) parent = ep->default_desc; else { @@ -8212,8 +8212,8 @@ st_collections_group_parts_part_description_inherit(void) } } - if (EINA_DBL_CMP(min_dst, 0.0)) - { + if (min_dst) + { WRN("%s:%i: couldn't find an exact match in part '%s' when looking for '%s' %lf. Falling back to nearest one '%s' %lf.", file_in, line - 1, ep->name, parent_name, parent_val, parent ? parent->state.name : NULL, parent ? parent->state.value : 0); } @@ -8472,12 +8472,8 @@ _part_description_state_update(Edje_Part_Description_Common *ed) Edje_Part *ep = current_part; if (ed == ep->default_desc) return; - if ((ep->default_desc->state.name && - !strcmp(ed->state.name, ep->default_desc->state.name) && - EQ(ed->state.value, ep->default_desc->state.value)) || - (!ep->default_desc->state.name && - !strcmp(ed->state.name, "default") && - EQ(ed->state.value, ep->default_desc->state.value))) + if ((ep->default_desc->state.name && !strcmp(ed->state.name, ep->default_desc->state.name) && ed->state.value == ep->default_desc->state.value) || + (!ep->default_desc->state.name && !strcmp(ed->state.name, "default") && ed->state.value == ep->default_desc->state.value)) { if (ep->type == EDJE_PART_TYPE_IMAGE) _edje_part_description_image_remove((Edje_Part_Description_Image*) ed); @@ -8493,8 +8489,7 @@ _part_description_state_update(Edje_Part_Description_Common *ed) unsigned int i; for (i = 0; i < ep->other.desc_count - 1; ++i) { - if (!strcmp(ed->state.name, ep->other.desc[i]->state.name) && - EQ(ed->state.value, ep->other.desc[i]->state.value)) + if (!strcmp(ed->state.name, ep->other.desc[i]->state.name) && ed->state.value == ep->other.desc[i]->state.value) { if (ep->type == EDJE_PART_TYPE_IMAGE) _edje_part_description_image_remove((Edje_Part_Description_Image*) ed); @@ -8549,8 +8544,7 @@ st_collections_group_parts_part_description_state(void) val = parse_float_range(1, 0.0, 1.0); /* if only default desc exists and current desc is not default, commence paddling */ - if ((!ep->other.desc_count) && - (!EINA_DBL_CMP(val, 0) || (!eina_streq(s, "default")))) + if ((!ep->other.desc_count) && (val || (!eina_streq(s, "default")))) { ERR("parse error %s:%i. invalid state name: '%s'. \"default\" state must always be first.", file_in, line - 1, s); diff --git a/src/bin/edje/edje_cc_parse.c b/src/bin/edje/edje_cc_parse.c index 93e857e..e5a7386 100644 --- a/src/bin/edje/edje_cc_parse.c +++ b/src/bin/edje/edje_cc_parse.c @@ -1891,7 +1891,7 @@ _calcf(char op, double a, double b) a -= b; return a; case '/': - if (NEQ(b, 0)) a /= b; + if (b != 0) a /= b; else ERR("%s:%i divide by zero", file_in, line - 1); return a; @@ -1899,7 +1899,7 @@ _calcf(char op, double a, double b) a *= b; return a; case '%': - if (NEQ(b, 0)) a = (double)((int)a % (int)b); + if (0 != b) a = (double)((int)a % (int)b); else ERR("%s:%i modula by zero", file_in, line - 1); return a; --