summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2020-05-09 09:25:21 +0100
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>2020-05-09 09:25:21 +0100
commit823b7b05cd233d052fd92d2b1e275dd244863f17 (patch)
tree2cbc13565c505067097b7198045a313421ff918d
parentc323199f3c8332b5a3794e93a46007273c0451b9 (diff)
elm: resolve float comparison warnings
Summary: Depends on D11790 Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11791
-rw-r--r--src/edje_external/elementary/elm_notify.c18
-rw-r--r--src/lib/elementary/efl_ui_flip.c4
-rw-r--r--src/lib/elementary/efl_ui_image_zoomable.c2
-rw-r--r--src/lib/elementary/efl_ui_progressbar.c4
-rw-r--r--src/lib/elementary/efl_ui_scroll_manager.c2
-rw-r--r--src/lib/elementary/efl_ui_slider.c8
-rw-r--r--src/lib/elementary/efl_ui_slider_interval.c6
-rw-r--r--src/lib/elementary/efl_ui_spotlight_container.c4
-rw-r--r--src/lib/elementary/efl_ui_spotlight_plain_manager.c2
-rw-r--r--src/lib/elementary/efl_ui_textpath.c12
-rw-r--r--src/lib/elementary/efl_ui_vg_animation.c24
-rw-r--r--src/lib/elementary/efl_ui_widget.c6
-rw-r--r--src/lib/elementary/efl_ui_win.c6
-rw-r--r--src/lib/elementary/elm_atspi_bridge.c2
-rw-r--r--src/lib/elementary/elm_code_widget.c6
-rw-r--r--src/lib/elementary/elm_colorselector.c16
-rw-r--r--src/lib/elementary/elm_config.c14
-rw-r--r--src/lib/elementary/elm_dnd.c2
-rw-r--r--src/lib/elementary/elm_flipselector.c8
-rw-r--r--src/lib/elementary/elm_gengrid.c2
-rw-r--r--src/lib/elementary/elm_gesture_layer.c2
-rw-r--r--src/lib/elementary/elm_interface_scrollable.c14
-rw-r--r--src/lib/elementary/elm_map.c2
-rw-r--r--src/lib/elementary/elm_notify.c40
-rw-r--r--src/lib/elementary/elm_slider.c2
-rw-r--r--src/lib/elementary/elm_slideshow.c2
-rw-r--r--src/lib/elementary/elm_spinner.c30
-rw-r--r--src/lib/elementary/elm_toolbar.c4
-rw-r--r--src/lib/elementary/elm_transit.c8
-rw-r--r--src/lib/elementary/els_box.c6
-rw-r--r--src/lib/elementary/els_tooltip.c8
31 files changed, 134 insertions, 132 deletions
diff --git a/src/edje_external/elementary/elm_notify.c b/src/edje_external/elementary/elm_notify.c
index 801bfe473f..7f0cd1d9f6 100644
--- a/src/edje_external/elementary/elm_notify.c
+++ b/src/edje_external/elementary/elm_notify.c
@@ -39,23 +39,23 @@ _elm_notify_orient_get(const Evas_Object *obj)
39 39
40 elm_notify_align_get(obj, &horizontal, &vertical); 40 elm_notify_align_get(obj, &horizontal, &vertical);
41 41
42 if ((horizontal == 0.5) && (vertical == 0.0)) 42 if (EINA_DBL_EQ(horizontal, 0.5) && EINA_DBL_EQ(vertical, 0.0))
43 orient = ELM_NOTIFY_ORIENT_TOP; 43 orient = ELM_NOTIFY_ORIENT_TOP;
44 else if ((horizontal == 0.5) && (vertical == 0.5)) 44 else if (EINA_DBL_EQ(horizontal, 0.5) && EINA_DBL_EQ(vertical, 0.5))
45 orient = ELM_NOTIFY_ORIENT_CENTER; 45 orient = ELM_NOTIFY_ORIENT_CENTER;
46 else if ((horizontal == 0.5) && (vertical == 1.0)) 46 else if (EINA_DBL_EQ(horizontal, 0.5) && EINA_DBL_EQ(vertical, 1.0))
47 orient = ELM_NOTIFY_ORIENT_BOTTOM; 47 orient = ELM_NOTIFY_ORIENT_BOTTOM;
48 else if ((horizontal == 0.0) && (vertical == 0.5)) 48 else if (EINA_DBL_EQ(horizontal, 0.0) && EINA_DBL_EQ(vertical, 0.5))
49 orient = ELM_NOTIFY_ORIENT_LEFT; 49 orient = ELM_NOTIFY_ORIENT_LEFT;
50 else if ((horizontal == 1.0) && (vertical == 0.5)) 50 else if (EINA_DBL_EQ(horizontal, 1.0) && EINA_DBL_EQ(vertical, 0.5))
51 orient = ELM_NOTIFY_ORIENT_RIGHT; 51 orient = ELM_NOTIFY_ORIENT_RIGHT;
52 else if ((horizontal == 0.0) && (vertical == 0.0)) 52 else if (EINA_DBL_EQ(horizontal, 0.0) && EINA_DBL_EQ(vertical, 0.0))
53 orient = ELM_NOTIFY_ORIENT_TOP_LEFT; 53 orient = ELM_NOTIFY_ORIENT_TOP_LEFT;
54 else if ((horizontal == 1.0) && (vertical == 0.0)) 54 else if (EINA_DBL_EQ(horizontal, 1.0) && EINA_DBL_EQ(vertical, 0.0))
55 orient = ELM_NOTIFY_ORIENT_TOP_RIGHT; 55 orient = ELM_NOTIFY_ORIENT_TOP_RIGHT;
56 else if ((horizontal == 0.0) && (vertical == 1.0)) 56 else if (EINA_DBL_EQ(horizontal, 0.0) && EINA_DBL_EQ(vertical, 1.0))
57 orient = ELM_NOTIFY_ORIENT_BOTTOM_LEFT; 57 orient = ELM_NOTIFY_ORIENT_BOTTOM_LEFT;
58 else if ((horizontal == 1.0) && (vertical == 1.0)) 58 else if (EINA_DBL_EQ(horizontal, 1.0) && EINA_DBL_EQ(vertical, 1.0))
59 orient = ELM_NOTIFY_ORIENT_BOTTOM_RIGHT; 59 orient = ELM_NOTIFY_ORIENT_BOTTOM_RIGHT;
60 else 60 else
61 orient = ELM_NOTIFY_ORIENT_TOP; 61 orient = ELM_NOTIFY_ORIENT_TOP;
diff --git a/src/lib/elementary/efl_ui_flip.c b/src/lib/elementary/efl_ui_flip.c
index 26f8d848bf..da2284ccfb 100644
--- a/src/lib/elementary/efl_ui_flip.c
+++ b/src/lib/elementary/efl_ui_flip.c
@@ -536,7 +536,7 @@ _state_update(Evas_Object *obj)
536 536
537 if (mx < 1) mx = 1; // quick hack to keep curl line visible 537 if (mx < 1) mx = 1; // quick hack to keep curl line visible
538 538
539 if (mgrad == 0.0) // special horizontal case 539 if (EINA_DBL_EQ(mgrad, 0.0)) // special horizontal case
540 mgrad = 0.001; // quick dirty hack for now 540 mgrad = 0.001; // quick dirty hack for now
541 // else 541 // else
542 { 542 {
@@ -2099,7 +2099,7 @@ _efl_ui_flip_interaction_direction_hitsize_set(Eo *obj, Efl_Ui_Flip_Data *sd, Ef
2099 else if (hitsize > 1.0) 2099 else if (hitsize > 1.0)
2100 hitsize = 1.0; 2100 hitsize = 1.0;
2101 2101
2102 if (sd->dir_hitsize[i] == hitsize) return; 2102 if (EINA_DBL_EQ(sd->dir_hitsize[i], hitsize)) return;
2103 sd->dir_hitsize[i] = hitsize; 2103 sd->dir_hitsize[i] = hitsize;
2104 2104
2105 if (hitsize >= 0.0) 2105 if (hitsize >= 0.0)
diff --git a/src/lib/elementary/efl_ui_image_zoomable.c b/src/lib/elementary/efl_ui_image_zoomable.c
index 6b7370350c..9889d8849f 100644
--- a/src/lib/elementary/efl_ui_image_zoomable.c
+++ b/src/lib/elementary/efl_ui_image_zoomable.c
@@ -2451,7 +2451,7 @@ _efl_ui_image_zoomable_efl_ui_zoom_zoom_level_set(Eo *obj, Efl_Ui_Image_Zoomable
2451 z = (double)sd->size.imw / pw; 2451 z = (double)sd->size.imw / pw;
2452 else 2452 else
2453 z = (double)sd->size.imh / ph; 2453 z = (double)sd->size.imh / ph;
2454 if (z != sd->zoom) 2454 if (!EINA_DBL_EQ(z, sd->zoom))
2455 zoom_changed = 1; 2455 zoom_changed = 1;
2456 sd->zoom = z; 2456 sd->zoom = z;
2457 sd->size.nw = pw; 2457 sd->size.nw = pw;
diff --git a/src/lib/elementary/efl_ui_progressbar.c b/src/lib/elementary/efl_ui_progressbar.c
index 74697dbf85..882c408bf6 100644
--- a/src/lib/elementary/efl_ui_progressbar.c
+++ b/src/lib/elementary/efl_ui_progressbar.c
@@ -497,9 +497,9 @@ _progressbar_part_value_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, const char *pa
497 else 497 else
498 { 498 {
499 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_CHANGED, NULL); 499 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_CHANGED, NULL);
500 if (sd->val == min) 500 if (EINA_DBL_EQ(sd->val, min))
501 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MIN_REACHED, NULL); 501 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MIN_REACHED, NULL);
502 if (sd->val == max) 502 if (EINA_DBL_EQ(sd->val, max))
503 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MAX_REACHED, NULL); 503 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MAX_REACHED, NULL);
504 } 504 }
505} 505}
diff --git a/src/lib/elementary/efl_ui_scroll_manager.c b/src/lib/elementary/efl_ui_scroll_manager.c
index 650a726bc1..57edf11d65 100644
--- a/src/lib/elementary/efl_ui_scroll_manager.c
+++ b/src/lib/elementary/efl_ui_scroll_manager.c
@@ -1628,7 +1628,7 @@ _efl_ui_scroll_manager_post_event_move_on_hold_eval(Efl_Ui_Scroll_Manager_Data *
1628 _elm_config->thumbscroll_hold_threshold; 1628 _elm_config->thumbscroll_hold_threshold;
1629 } 1629 }
1630 1630
1631 if ((vx != 0.0) || (vy != 0.0)) _scroll_manager_on_hold_animator_add(sd, vx*sx, vy*sy); 1631 if (EINA_DBL_NONZERO(vx) || EINA_DBL_NONZERO(vy)) _scroll_manager_on_hold_animator_add(sd, vx*sx, vy*sy);
1632 else _scroll_manager_on_hold_animator_del(sd); 1632 else _scroll_manager_on_hold_animator_del(sd);
1633} 1633}
1634 1634
diff --git a/src/lib/elementary/efl_ui_slider.c b/src/lib/elementary/efl_ui_slider.c
index a1abab72b8..041316de68 100644
--- a/src/lib/elementary/efl_ui_slider.c
+++ b/src/lib/elementary/efl_ui_slider.c
@@ -67,10 +67,10 @@ _emit_events(Eo *obj, Efl_Ui_Slider_Data *sd)
67{ 67{
68 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_CHANGED, NULL); 68 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_CHANGED, NULL);
69 69
70 if (sd->val == sd->val_min) 70 if (EINA_DBL_EQ(sd->val, sd->val_min))
71 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MIN_REACHED, NULL); 71 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MIN_REACHED, NULL);
72 72
73 if (sd->val == sd->val_max) 73 if (EINA_DBL_EQ(sd->val, sd->val_max))
74 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MAX_REACHED, NULL); 74 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MAX_REACHED, NULL);
75 75
76 // emit accessibility event also if value was changed by API 76 // emit accessibility event also if value was changed by API
@@ -133,7 +133,7 @@ _drag_value_fetch(Evas_Object *obj)
133static void 133static void
134_adjust_to_step(Efl_Ui_Slider *obj, Efl_Ui_Slider_Data *pd) 134_adjust_to_step(Efl_Ui_Slider *obj, Efl_Ui_Slider_Data *pd)
135{ 135{
136 if (pd->step) 136 if (EINA_DBL_NONZERO(pd->step))
137 { 137 {
138 double relative_step = pd->step/(pd->val_max - pd->val_min); 138 double relative_step = pd->step/(pd->val_max - pd->val_min);
139 double new_value = (round(pd->val/relative_step))*relative_step; 139 double new_value = (round(pd->val/relative_step))*relative_step;
@@ -777,7 +777,7 @@ _efl_ui_slider_efl_ui_range_interactive_range_step_set(Eo *obj EINA_UNUSED, Efl_
777 return; 777 return;
778 } 778 }
779 779
780 if (sd->step == step) return; 780 if (EINA_DBL_EQ(sd->step, step)) return;
781 781
782 sd->step = step; 782 sd->step = step;
783} 783}
diff --git a/src/lib/elementary/efl_ui_slider_interval.c b/src/lib/elementary/efl_ui_slider_interval.c
index 70b5be46d2..1c1070faa9 100644
--- a/src/lib/elementary/efl_ui_slider_interval.c
+++ b/src/lib/elementary/efl_ui_slider_interval.c
@@ -48,9 +48,9 @@ static void
48_emit_events(Eo *obj, Efl_Ui_Slider_Interval_Data *sd) 48_emit_events(Eo *obj, Efl_Ui_Slider_Interval_Data *sd)
49{ 49{
50 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_CHANGED, NULL); 50 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_CHANGED, NULL);
51 if (sd->val == sd->val_min) 51 if (EINA_DBL_EQ(sd->val, sd->val_min))
52 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MIN_REACHED, NULL); 52 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MIN_REACHED, NULL);
53 if (sd->val == sd->val_max) 53 if (EINA_DBL_EQ(sd->val, sd->val_max))
54 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MAX_REACHED, NULL); 54 efl_event_callback_call(obj, EFL_UI_RANGE_EVENT_MAX_REACHED, NULL);
55} 55}
56 56
@@ -850,7 +850,7 @@ _efl_ui_slider_interval_efl_ui_range_interactive_range_step_set(Eo *obj EINA_UNU
850 return; 850 return;
851 } 851 }
852 852
853 if (sd->step == step) return; 853 if (EINA_DBL_EQ(sd->step, step)) return;
854 854
855 sd->step = step; 855 sd->step = step;
856} 856}
diff --git a/src/lib/elementary/efl_ui_spotlight_container.c b/src/lib/elementary/efl_ui_spotlight_container.c
index 5df66e518c..131f228562 100644
--- a/src/lib/elementary/efl_ui_spotlight_container.c
+++ b/src/lib/elementary/efl_ui_spotlight_container.c
@@ -144,7 +144,7 @@ _transition_event_emission(Eo *obj EINA_UNUSED, Efl_Ui_Spotlight_Container_Data
144 pd->show_request.to = -1; 144 pd->show_request.to = -1;
145 _transition_end(obj, pd); 145 _transition_end(obj, pd);
146 } 146 }
147 if (pd->position == pd->show_request.to) 147 if (EINA_DBL_EQ(pd->position, pd->show_request.to))
148 { 148 {
149 //successfully there 149 //successfully there
150 _transition_end(obj, pd); 150 _transition_end(obj, pd);
@@ -707,7 +707,7 @@ _efl_ui_spotlight_container_indicator_set(Eo *obj, Efl_Ui_Spotlight_Container_Da
707 //the api indicates that the caller passes ownership to this function, so we need to unref here 707 //the api indicates that the caller passes ownership to this function, so we need to unref here
708 efl_unref(pd->indicator); 708 efl_unref(pd->indicator);
709 efl_ui_spotlight_indicator_bind(pd->indicator, obj); 709 efl_ui_spotlight_indicator_bind(pd->indicator, obj);
710 if (pd->position != -1) 710 if (!EINA_DBL_EQ(pd->position, -1))
711 efl_ui_spotlight_indicator_position_update(pd->indicator, pd->position); 711 efl_ui_spotlight_indicator_position_update(pd->indicator, pd->position);
712 } 712 }
713} 713}
diff --git a/src/lib/elementary/efl_ui_spotlight_plain_manager.c b/src/lib/elementary/efl_ui_spotlight_plain_manager.c
index 5075641704..e6cc6a065e 100644
--- a/src/lib/elementary/efl_ui_spotlight_plain_manager.c
+++ b/src/lib/elementary/efl_ui_spotlight_plain_manager.c
@@ -21,7 +21,7 @@ static void
21_emit_position(Eo *obj EINA_UNUSED, Efl_Ui_Spotlight_Plain_Manager_Data *pd) 21_emit_position(Eo *obj EINA_UNUSED, Efl_Ui_Spotlight_Plain_Manager_Data *pd)
22{ 22{
23 double absolut_position = efl_pack_index_get(pd->container, pd->current_content); 23 double absolut_position = efl_pack_index_get(pd->container, pd->current_content);
24 if (pd->last_pos != absolut_position) 24 if (!EINA_DBL_EQ(pd->last_pos, absolut_position))
25 efl_event_callback_call(obj, EFL_UI_SPOTLIGHT_MANAGER_EVENT_POS_UPDATE, &absolut_position); 25 efl_event_callback_call(obj, EFL_UI_SPOTLIGHT_MANAGER_EVENT_POS_UPDATE, &absolut_position);
26 26
27 pd->last_pos = absolut_position; 27 pd->last_pos = absolut_position;
diff --git a/src/lib/elementary/efl_ui_textpath.c b/src/lib/elementary/efl_ui_textpath.c
index d1aa0ce73f..752780ad92 100644
--- a/src/lib/elementary/efl_ui_textpath.c
+++ b/src/lib/elementary/efl_ui_textpath.c
@@ -619,7 +619,7 @@ _path_start_angle_adjust(Eo *obj, Efl_Ui_Textpath_Data *pd)
619 eina_vector2_normalize(&first, &first); 619 eina_vector2_normalize(&first, &first);
620 eina_vector2_normalize(&last, &last); 620 eina_vector2_normalize(&last, &last);
621 rad = acos(eina_vector2_dot_product(&first, &last)); 621 rad = acos(eina_vector2_dot_product(&first, &last));
622 if (rad == 0) return; 622 if (EINA_DBL_EQ(rad, 0)) return;
623 623
624 offset_angle = _rad_to_deg(rad); 624 offset_angle = _rad_to_deg(rad);
625 if (r.w > pd->total_length / 2) 625 if (r.w > pd->total_length / 2)
@@ -851,8 +851,8 @@ _efl_ui_textpath_circular_set(Eo *obj, Efl_Ui_Textpath_Data *pd, double radius,
851 Eina_Size2D text_size; 851 Eina_Size2D text_size;
852 double sweep_length, x, y; 852 double sweep_length, x, y;
853 853
854 if (pd->circle.radius == radius && 854 if (EINA_DBL_EQ(pd->circle.radius, radius) &&
855 pd->circle.start_angle == start_angle && 855 EINA_DBL_EQ(pd->circle.start_angle, start_angle) &&
856 pd->direction == direction && 856 pd->direction == direction &&
857 _map_point_calc(pd) > 0) 857 _map_point_calc(pd) > 0)
858 return; 858 return;
@@ -984,9 +984,9 @@ elm_textpath_circle_set(Eo *obj, double x, double y, double radius, double start
984 EFL_UI_TEXTPATH_DATA_GET(obj, pd); 984 EFL_UI_TEXTPATH_DATA_GET(obj, pd);
985 if (!pd) return; 985 if (!pd) return;
986 986
987 if (pd->circle.x == x && pd->circle.y == y && 987 if (EINA_DBL_EQ(pd->circle.x, x) && EINA_DBL_EQ(pd->circle.y, y) &&
988 pd->circle.radius == radius && 988 EINA_DBL_EQ(pd->circle.radius, radius) &&
989 pd->circle.start_angle == start_angle && 989 EINA_DBL_EQ(pd->circle.start_angle, start_angle) &&
990 pd->direction == direction && 990 pd->direction == direction &&
991 _map_point_calc(pd) > 0) 991 _map_point_calc(pd) > 0)
992 return; 992 return;
diff --git a/src/lib/elementary/efl_ui_vg_animation.c b/src/lib/elementary/efl_ui_vg_animation.c
index b8a0af4e0d..58d8ddbc76 100644
--- a/src/lib/elementary/efl_ui_vg_animation.c
+++ b/src/lib/elementary/efl_ui_vg_animation.c
@@ -49,8 +49,8 @@ _sizing_eval(Eo *obj, void *data)
49 Eina_Size2D size = efl_canvas_vg_object_default_size_get(pd->vg); 49 Eina_Size2D size = efl_canvas_vg_object_default_size_get(pd->vg);
50 50
51 Eina_Size2D min = {-1, -1}; 51 Eina_Size2D min = {-1, -1};
52 if (hw == 0) min.w = size.w; 52 if (EINA_DBL_EQ(hw, 0)) min.w = size.w;
53 if (hh == 0) min.h = size.h; 53 if (EINA_DBL_EQ(hh, 0)) min.h = size.h;
54 54
55 efl_gfx_hint_size_min_set(obj, min); 55 efl_gfx_hint_size_min_set(obj, min);
56} 56}
@@ -148,8 +148,8 @@ _transit_del_cb(Elm_Transit_Effect *effect, Elm_Transit *transit)
148 EFL_UI_VG_ANIMATION_DATA_GET(obj, pd); 148 EFL_UI_VG_ANIMATION_DATA_GET(obj, pd);
149 if (!pd) return; 149 if (!pd) return;
150 150
151 if ((pd->state == EFL_UI_VG_ANIMATION_STATE_PLAYING && pd->progress == 1) || 151 if ((pd->state == EFL_UI_VG_ANIMATION_STATE_PLAYING && EINA_DBL_EQ(pd->progress, 1)) ||
152 (pd->state == EFL_UI_VG_ANIMATION_STATE_PLAYING_BACKWARDS && pd->progress == 0)) 152 (pd->state == EFL_UI_VG_ANIMATION_STATE_PLAYING_BACKWARDS && EINA_DBL_EQ(pd->progress, 0)))
153 { 153 {
154 if (elm_widget_is_legacy(obj)) 154 if (elm_widget_is_legacy(obj))
155 evas_object_smart_callback_call(obj, SIG_PLAY_DONE, NULL); 155 evas_object_smart_callback_call(obj, SIG_PLAY_DONE, NULL);
@@ -212,7 +212,7 @@ _transit_cb(Elm_Transit_Effect *effect, Elm_Transit *transit, double progress)
212 int update_frame = (int)((maxframe - minframe) * progress) + minframe; 212 int update_frame = (int)((maxframe - minframe) * progress) + minframe;
213 int current_frame = evas_object_vg_animated_frame_get(pd->vg); 213 int current_frame = evas_object_vg_animated_frame_get(pd->vg);
214 214
215 if (pd->playback_speed == 0) 215 if (EINA_DBL_EQ(pd->playback_speed, 0))
216 update_frame = current_frame; 216 update_frame = current_frame;
217 217
218 evas_object_vg_animated_frame_set(pd->vg, update_frame); 218 evas_object_vg_animated_frame_set(pd->vg, update_frame);
@@ -308,7 +308,7 @@ _update_frame_duration(Efl_Ui_Vg_Animation_Data *pd)
308 308
309 pd->frame_duration = (double)(max_frame - min_frame) / frame_rate; 309 pd->frame_duration = (double)(max_frame - min_frame) / frame_rate;
310 if (pd->transit) 310 if (pd->transit)
311 elm_transit_duration_set(pd->transit, speed != 0 ? pd->frame_duration * (1 / speed) : 0); 311 elm_transit_duration_set(pd->transit, EINA_DBL_NONZERO(speed) ? pd->frame_duration * (1 / speed) : 0);
312} 312}
313 313
314static Eina_Bool 314static Eina_Bool
@@ -333,10 +333,10 @@ _ready_play(Eo *obj, Efl_Ui_Vg_Animation_Data *pd)
333 elm_transit_objects_final_state_keep_set(transit, EINA_TRUE); 333 elm_transit_objects_final_state_keep_set(transit, EINA_TRUE);
334 elm_transit_event_enabled_set(transit, EINA_TRUE); 334 elm_transit_event_enabled_set(transit, EINA_TRUE);
335 pd->transit = transit; 335 pd->transit = transit;
336 if (pd->min_progress != 0.0 || pd->max_progress != 1.0) 336 if (EINA_DBL_NONZERO(pd->min_progress) || !EINA_DBL_EQ(pd->max_progress, 1.0))
337 _update_frame_duration(pd); 337 _update_frame_duration(pd);
338 else 338 else
339 elm_transit_duration_set(transit, speed != 0 ? pd->frame_duration * (1 / speed) : 0); 339 elm_transit_duration_set(transit, EINA_DBL_NONZERO(speed) ? pd->frame_duration * (1 / speed) : 0);
340 340
341 return EINA_TRUE; 341 return EINA_TRUE;
342 } 342 }
@@ -710,7 +710,7 @@ _efl_ui_vg_animation_efl_player_playing_set(Eo *obj, Efl_Ui_Vg_Animation_Data *p
710 710
711 if (pd->state == EFL_UI_VG_ANIMATION_STATE_STOPPED) 711 if (pd->state == EFL_UI_VG_ANIMATION_STATE_STOPPED)
712 { 712 {
713 if (pd->playing_reverse && pd->progress == 0) pd->progress = 1.0; 713 if (pd->playing_reverse && EINA_DBL_EQ(pd->progress, 0)) pd->progress = 1.0;
714 _transit_go_facade(obj, pd); 714 _transit_go_facade(obj, pd);
715 } 715 }
716 else if (rewind) 716 else if (rewind)
@@ -785,7 +785,7 @@ _efl_ui_vg_animation_efl_player_playback_position_set(Eo *obj, Efl_Ui_Vg_Animati
785 EINA_SAFETY_ON_TRUE_RETURN(sec < 0); 785 EINA_SAFETY_ON_TRUE_RETURN(sec < 0);
786 EINA_SAFETY_ON_TRUE_RETURN(sec > pd->frame_duration); 786 EINA_SAFETY_ON_TRUE_RETURN(sec > pd->frame_duration);
787 787
788 efl_player_playback_progress_set(obj, pd->frame_duration != 0 ? sec / pd->frame_duration : 0); 788 efl_player_playback_progress_set(obj, EINA_DBL_NONZERO(pd->frame_duration) ? sec / pd->frame_duration : 0);
789} 789}
790 790
791EOLIAN static double 791EOLIAN static double
@@ -805,7 +805,7 @@ _efl_ui_vg_animation_efl_player_playback_progress_set(Eo *obj EINA_UNUSED, Efl_U
805{ 805{
806 if (progress < 0) progress = 0; 806 if (progress < 0) progress = 0;
807 else if (progress > 1) progress = 1; 807 else if (progress > 1) progress = 1;
808 if (pd->progress == progress) return; 808 if (EINA_DBL_EQ(pd->progress, progress)) return;
809 809
810 pd->progress = progress; 810 pd->progress = progress;
811 811
@@ -844,7 +844,7 @@ _efl_ui_vg_animation_efl_player_playback_speed_set(Eo *obj EINA_UNUSED, Efl_Ui_V
844 pd->playback_speed = speed; 844 pd->playback_speed = speed;
845 speed = speed < 0 ? speed * -1 : speed; 845 speed = speed < 0 ? speed * -1 : speed;
846 if (pd->transit) 846 if (pd->transit)
847 elm_transit_duration_set(pd->transit, pd->playback_speed != 0 ? pd->frame_duration * (1 / speed) : 0); 847 elm_transit_duration_set(pd->transit, EINA_DBL_NONZERO(pd->playback_speed) ? pd->frame_duration * (1 / speed) : 0);
848} 848}
849 849
850EOLIAN static double 850EOLIAN static double
diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c
index b9e51267c3..4b0b8db781 100644
--- a/src/lib/elementary/efl_ui_widget.c
+++ b/src/lib/elementary/efl_ui_widget.c
@@ -1482,7 +1482,7 @@ _efl_ui_widget_widget_parent_set(Eo *obj, Elm_Widget_Smart_Data *pd, Efl_Ui_Widg
1482 1482
1483 if (!pd->on_create) 1483 if (!pd->on_create)
1484 { 1484 {
1485 if ((scale != prev_scale) || (th != prev_th) || 1485 if (!EINA_DBL_EQ(scale, prev_scale) || (th != prev_th) ||
1486 (pmirrored != mirrored)) 1486 (pmirrored != mirrored))
1487 elm_widget_theme(obj); 1487 elm_widget_theme(obj);
1488 } 1488 }
@@ -2343,7 +2343,7 @@ EOLIAN static void
2343_efl_ui_widget_efl_gfx_entity_scale_set(Eo *obj, Elm_Widget_Smart_Data *sd, double scale) 2343_efl_ui_widget_efl_gfx_entity_scale_set(Eo *obj, Elm_Widget_Smart_Data *sd, double scale)
2344{ 2344{
2345 if (scale < 0.0) scale = 0.0; 2345 if (scale < 0.0) scale = 0.0;
2346 if (sd->scale != scale) 2346 if (!EINA_DBL_EQ(sd->scale, scale))
2347 { 2347 {
2348 sd->scale = scale; 2348 sd->scale = scale;
2349 elm_widget_theme(obj); 2349 elm_widget_theme(obj);
@@ -2354,7 +2354,7 @@ EOLIAN static double
2354_efl_ui_widget_efl_gfx_entity_scale_get(const Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd) 2354_efl_ui_widget_efl_gfx_entity_scale_get(const Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *sd)
2355{ 2355{
2356 // FIXME: save walking up the tree by storing/caching parent scale 2356 // FIXME: save walking up the tree by storing/caching parent scale
2357 if (sd->scale == 0.0) 2357 if (EINA_DBL_EQ(sd->scale, 0.0))
2358 { 2358 {
2359 if (sd->parent_obj && elm_widget_is(sd->parent_obj)) 2359 if (sd->parent_obj && elm_widget_is(sd->parent_obj))
2360 { 2360 {
diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c
index 816c7e20fd..ab248dc772 100644
--- a/src/lib/elementary/efl_ui_win.c
+++ b/src/lib/elementary/efl_ui_win.c
@@ -3745,12 +3745,12 @@ _elm_win_resize_objects_eval(Evas_Object *obj, Eina_Bool force_resize)
3745 maxh = sd->max_h; 3745 maxh = sd->max_h;
3746 3746
3747 // Compatibility hack (for E) 3747 // Compatibility hack (for E)
3748 if (sd->single_edje_content && !wx && !wy) 3748 if (sd->single_edje_content && EINA_DBL_EQ(wx, 0) && EINA_DBL_EQ(wy, 0))
3749 wx = wy = 1; 3749 wx = wy = 1;
3750 3750
3751 if (!wx) maxw = minw; 3751 if (EINA_DBL_EQ(wx, 0)) maxw = minw;
3752 if (maxw < 1) maxw = 32767; 3752 if (maxw < 1) maxw = 32767;
3753 if (!wy) maxh = minh; 3753 if (EINA_DBL_EQ(wy, 0)) maxh = minh;
3754 if (maxh < 1) maxh = 32767; 3754 if (maxh < 1) maxh = 32767;
3755 if (maxw < minw) maxw = minw; 3755 if (maxw < minw) maxw = minw;
3756 if (maxh < minh) maxh = minh; 3756 if (maxh < minh) maxh = minh;
diff --git a/src/lib/elementary/elm_atspi_bridge.c b/src/lib/elementary/elm_atspi_bridge.c
index abc442aa25..43f97bf8bf 100644
--- a/src/lib/elementary/elm_atspi_bridge.c
+++ b/src/lib/elementary/elm_atspi_bridge.c
@@ -2602,7 +2602,7 @@ _value_properties_set(const Eldbus_Service_Interface *interface, const char *pro
2602 ret = efl_access_value_and_text_set(obj, value, NULL); 2602 ret = efl_access_value_and_text_set(obj, value, NULL);
2603 else if(efl_isa(obj, EFL_UI_RANGE_DISPLAY_INTERFACE)) { 2603 else if(efl_isa(obj, EFL_UI_RANGE_DISPLAY_INTERFACE)) {
2604 efl_ui_range_value_set(obj, value); 2604 efl_ui_range_value_set(obj, value);
2605 ret = (efl_ui_range_value_get(obj) == value); 2605 ret = EINA_DBL_EQ(efl_ui_range_value_get(obj), value);
2606 } 2606 }
2607 else ret = EINA_FALSE; 2607 else ret = EINA_FALSE;
2608 Eldbus_Message *answer = eldbus_message_method_return_new(request_msg); 2608 Eldbus_Message *answer = eldbus_message_method_return_new(request_msg);
diff --git a/src/lib/elementary/elm_code_widget.c b/src/lib/elementary/elm_code_widget.c
index 11caf63c34..c6cb600647 100644
--- a/src/lib/elementary/elm_code_widget.c
+++ b/src/lib/elementary/elm_code_widget.c
@@ -2112,10 +2112,10 @@ _elm_code_widget_resize(Elm_Code_Widget *widget, Elm_Code_Line *newline)
2112 return; 2112 return;
2113 } 2113 }
2114 2114
2115 if (pd->gravity_x == 1.0 || pd->gravity_y == 1.0) 2115 if (EINA_DBL_EQ(pd->gravity_x, 1.0) || EINA_DBL_EQ(pd->gravity_y, 1.0))
2116 _elm_code_widget_scroll_by(widget, 2116 _elm_code_widget_scroll_by(widget,
2117 (pd->gravity_x == 1.0 && ww > old_width) ? ww - old_width : 0, 2117 (EINA_DBL_EQ(pd->gravity_x, 1.0) && ww > old_width) ? ww - old_width : 0,
2118 (pd->gravity_y == 1.0 && wh > old_height) ? wh - old_height : 0); 2118 (EINA_DBL_EQ(pd->gravity_y, 1.0) && wh > old_height) ? wh - old_height : 0);
2119} 2119}
2120 2120
2121EOAPI void 2121EOAPI void
diff --git a/src/lib/elementary/elm_colorselector.c b/src/lib/elementary/elm_colorselector.c
index 67d8d59715..5a53c69692 100644
--- a/src/lib/elementary/elm_colorselector.c
+++ b/src/lib/elementary/elm_colorselector.c
@@ -398,10 +398,10 @@ _rgb_to_hsl(Elm_Colorselector_Data *sd)
398 g2 = (v - g) / vm; 398 g2 = (v - g) / vm;
399 b2 = (v - b) / vm; 399 b2 = (v - b) / vm;
400 400
401 if (r == v) sd->h = (g == m ? 5.0 + b2 : 1.0 - g2); 401 if (EINA_DBL_EQ(r, v)) sd->h = (EINA_DBL_EQ(g, m) ? 5.0 + b2 : 1.0 - g2);
402 else if (g == v) 402 else if (EINA_DBL_EQ(g, v))
403 sd->h = (b == m ? 1.0 + r2 : 3.0 - b2); 403 sd->h = (EINA_DBL_EQ(b, m) ? 1.0 + r2 : 3.0 - b2);
404 else sd->h = (r == m ? 3.0 + g2 : 5.0 - r2); 404 else sd->h = (EINA_DBL_EQ(r, m) ? 3.0 + g2 : 5.0 - r2);
405 405
406 sd->h *= 60.0; 406 sd->h *= 60.0;
407} 407}
@@ -418,16 +418,16 @@ _hsl_to_rgb(Elm_Colorselector_Data *sd)
418 _s = sd->s; 418 _s = sd->s;
419 _l = sd->l; 419 _l = sd->l;
420 420
421 if (_s == 0.0) r = g = b = _l; 421 if (EINA_DBL_EQ(_s, 0.0)) r = g = b = _l;
422 else 422 else
423 { 423 {
424 if (_h == 360.0) _h = 0.0; 424 if (EINA_DBL_EQ(_h, 360.0)) _h = 0.0;
425 _h /= 60.0; 425 _h /= 60.0;
426 426
427 v = (_l <= 0.5) ? (_l * (1.0 + _s)) : (_l + _s - (_l * _s)); 427 v = (_l <= 0.5) ? (_l * (1.0 + _s)) : (_l + _s - (_l * _s));
428 p = _l + _l - v; 428 p = _l + _l - v;
429 429
430 if (v) sv = (v - p) / v; 430 if (EINA_DBL_NONZERO(v)) sv = (v - p) / v;
431 else sv = 0; 431 else sv = 0;
432 432
433 i = (int)_h; 433 i = (int)_h;
@@ -489,7 +489,7 @@ _hsl_to_rgb(Elm_Colorselector_Data *sd)
489 f = (b * 255.0) - i; 489 f = (b * 255.0) - i;
490 b = (f <= 0.5) ? i : (i + 1); 490 b = (f <= 0.5) ? i : (i + 1);
491 491
492 if (sd->r == r && sd->g == g && sd->b == b) return EINA_FALSE; 492 if (EINA_DBL_EQ(sd->r, r) && EINA_DBL_EQ(sd->g, g) && EINA_DBL_EQ(sd->b, b)) return EINA_FALSE;
493 493
494 sd->r = r; 494 sd->r = r;
495 sd->g = g; 495 sd->g = g;
diff --git a/src/lib/elementary/elm_config.c b/src/lib/elementary/elm_config.c
index d95f5d914b..0298b26b45 100644
--- a/src/lib/elementary/elm_config.c
+++ b/src/lib/elementary/elm_config.c
@@ -2047,7 +2047,7 @@ _config_flush_get(void)
2047 evas_font_reinit(); 2047 evas_font_reinit();
2048 _elm_config_font_overlay_apply(); 2048 _elm_config_font_overlay_apply();
2049 _elm_config_color_overlay_apply(); 2049 _elm_config_color_overlay_apply();
2050 if (pre_scale != _elm_config->scale) 2050 if (!EINA_DBL_EQ(pre_scale, _elm_config->scale))
2051 _elm_rescale(); 2051 _elm_rescale();
2052 _elm_old_clouseau_reload(); 2052 _elm_old_clouseau_reload();
2053 _elm_config_key_binding_hash(); 2053 _elm_config_key_binding_hash();
@@ -2997,7 +2997,7 @@ elm_config_scale_set(double scale)
2997{ 2997{
2998 _elm_config->priv.scale = EINA_TRUE; 2998 _elm_config->priv.scale = EINA_TRUE;
2999 if (scale < 0.0) return; 2999 if (scale < 0.0) return;
3000 if (_elm_config->scale == scale) return; 3000 if (EINA_DBL_EQ(_elm_config->scale, scale)) return;
3001 _elm_config->scale = scale; 3001 _elm_config->scale = scale;
3002 _elm_rescale(); 3002 _elm_rescale();
3003} 3003}
@@ -3049,7 +3049,7 @@ elm_config_password_show_last_timeout_set(double password_show_last_timeout)
3049{ 3049{
3050 _elm_config->priv.password_show_last_timeout = EINA_TRUE; 3050 _elm_config->priv.password_show_last_timeout = EINA_TRUE;
3051 if (password_show_last_timeout < 0.0) return; 3051 if (password_show_last_timeout < 0.0) return;
3052 if (_elm_config->password_show_last_timeout == password_show_last_timeout) return; 3052 if (EINA_DBL_EQ(_elm_config->password_show_last_timeout, password_show_last_timeout)) return;
3053 _elm_config->password_show_last_timeout = password_show_last_timeout; 3053 _elm_config->password_show_last_timeout = password_show_last_timeout;
3054 edje_password_show_last_timeout_set(_elm_config->password_show_last_timeout); 3054 edje_password_show_last_timeout_set(_elm_config->password_show_last_timeout);
3055} 3055}
@@ -4494,12 +4494,13 @@ _elm_config_reload(void)
4494 _elm_config_font_overlay_apply(); 4494 _elm_config_font_overlay_apply();
4495 _elm_config_color_overlay_apply(); 4495 _elm_config_color_overlay_apply();
4496#define CMP(x) (p##x != _elm_config->x) 4496#define CMP(x) (p##x != _elm_config->x)
4497#define DBL_CMP(x) !EINA_DBL_EQ(p##x, _elm_config->x)
4497 if ( 4498 if (
4498 CMP(scale) 4499 DBL_CMP(scale)
4499 || CMP(finger_size) 4500 || CMP(finger_size)
4500 || CMP(icon_size) 4501 || CMP(icon_size)
4501 || CMP(password_show_last) 4502 || CMP(password_show_last)
4502 || CMP(password_show_last_timeout) 4503 || DBL_CMP(password_show_last_timeout)
4503 || CMP(week_start) 4504 || CMP(week_start)
4504 || CMP(weekend_start) 4505 || CMP(weekend_start)
4505 || CMP(weekend_len) 4506 || CMP(weekend_len)
@@ -4513,6 +4514,7 @@ _elm_config_reload(void)
4513 || CMP(icon_theme) 4514 || CMP(icon_theme)
4514 ) 4515 )
4515 _elm_rescale(); 4516 _elm_rescale();
4517#undef DBL_CMP
4516#undef CMP 4518#undef CMP
4517 _elm_old_clouseau_reload(); 4519 _elm_old_clouseau_reload();
4518 _elm_config_key_binding_hash(); 4520 _elm_config_key_binding_hash();
@@ -4695,7 +4697,7 @@ elm_config_transition_duration_factor_set(double factor)
4695{ 4697{
4696 _elm_config->priv.transition_duration_factor = EINA_TRUE; 4698 _elm_config->priv.transition_duration_factor = EINA_TRUE;
4697 if (factor < 0.0) return; 4699 if (factor < 0.0) return;
4698 if (_elm_config->transition_duration_factor == factor) return; 4700 if (EINA_DBL_EQ(_elm_config->transition_duration_factor, factor)) return;
4699 _elm_config->transition_duration_factor = factor; 4701 _elm_config->transition_duration_factor = factor;
4700 edje_transition_duration_factor_set(_elm_config->transition_duration_factor); 4702 edje_transition_duration_factor_set(_elm_config->transition_duration_factor);
4701} 4703}
diff --git a/src/lib/elementary/elm_dnd.c b/src/lib/elementary/elm_dnd.c
index 0dd5d68c94..18ae659bdf 100644
--- a/src/lib/elementary/elm_dnd.c
+++ b/src/lib/elementary/elm_dnd.c
@@ -417,7 +417,7 @@ _cont_obj_anim_start(void *data)
417 _drag_anim_start(st); 417 _drag_anim_start(st);
418 else 418 else
419 { 419 {
420 if (st->anim_tm) 420 if (EINA_DBL_NONZERO(st->anim_tm))
421 { 421 {
422 // even if we don't manage the icons animation, we have 422 // even if we don't manage the icons animation, we have
423 // to wait until it is finished before beginning drag. 423 // to wait until it is finished before beginning drag.
diff --git a/src/lib/elementary/elm_flipselector.c b/src/lib/elementary/elm_flipselector.c
index d7c5741221..51481a9ad0 100644
--- a/src/lib/elementary/elm_flipselector.c
+++ b/src/lib/elementary/elm_flipselector.c
@@ -476,7 +476,7 @@ _items_add(Evas_Object *obj)
476EOLIAN static void 476EOLIAN static void
477_elm_flipselector_efl_ui_range_display_range_limits_set(Eo *obj, Elm_Flipselector_Data *sd, double min, double max) 477_elm_flipselector_efl_ui_range_display_range_limits_set(Eo *obj, Elm_Flipselector_Data *sd, double min, double max)
478{ 478{
479 if ((sd->val_min == min) && (sd->val_max == max)) return; 479 if (EINA_DBL_EQ(sd->val_min, min) && EINA_DBL_EQ(sd->val_max, max)) return;
480 480
481 sd->val_min = min; 481 sd->val_min = min;
482 sd->val_max = max; 482 sd->val_max = max;
@@ -494,9 +494,9 @@ _elm_flipselector_efl_ui_range_display_range_limits_get(const Eo *obj EINA_UNUSE
494EOLIAN static void 494EOLIAN static void
495_elm_flipselector_efl_ui_range_interactive_range_step_set(Eo *obj EINA_UNUSED, Elm_Flipselector_Data *sd, double step) 495_elm_flipselector_efl_ui_range_interactive_range_step_set(Eo *obj EINA_UNUSED, Elm_Flipselector_Data *sd, double step)
496{ 496{
497 if (sd->step == step) return; 497 if (EINA_DBL_EQ(sd->step, step)) return;
498 498
499 if (step == 0.0) step = 1.0; 499 if (EINA_DBL_EQ(step, 0.0)) step = 1.0;
500 else if (step < 0.0) step *= -1; 500 else if (step < 0.0) step *= -1;
501 501
502 sd->step = step; 502 sd->step = step;
@@ -512,7 +512,7 @@ _elm_flipselector_efl_ui_range_interactive_range_step_get(const Eo *obj EINA_UNU
512EOLIAN static double 512EOLIAN static double
513_elm_flipselector_efl_ui_range_display_range_value_get(const Eo *obj EINA_UNUSED, Elm_Flipselector_Data *sd) 513_elm_flipselector_efl_ui_range_display_range_value_get(const Eo *obj EINA_UNUSED, Elm_Flipselector_Data *sd)
514{ 514{
515 if (sd->val_min == 0 && sd->val_max == 0) 515 if (EINA_DBL_EQ(sd->val_min, 0) && EINA_DBL_EQ(sd->val_max, 0))
516 { 516 {
517 WRN("This API can be used only if you set min and max and flipselector values are numericals"); 517 WRN("This API can be used only if you set min and max and flipselector values are numericals");
518 return 0; 518 return 0;
diff --git a/src/lib/elementary/elm_gengrid.c b/src/lib/elementary/elm_gengrid.c
index 8a5bccaa2f..707272be55 100644
--- a/src/lib/elementary/elm_gengrid.c
+++ b/src/lib/elementary/elm_gengrid.c
@@ -4452,7 +4452,7 @@ _elm_gengrid_align_set(Eo *obj EINA_UNUSED, Elm_Gengrid_Data *sd, double align_x
4452 align_y = 0.0; 4452 align_y = 0.0;
4453 sd->align_y = align_y; 4453 sd->align_y = align_y;
4454 4454
4455 if ((old_h != sd->align_x) || (old_y != sd->align_y)) 4455 if (!EINA_DBL_EQ(old_h, sd->align_x) || !EINA_DBL_EQ(old_y, sd->align_y))
4456 evas_object_smart_calculate(sd->pan_obj); 4456 evas_object_smart_calculate(sd->pan_obj);
4457} 4457}
4458 4458
diff --git a/src/lib/elementary/elm_gesture_layer.c b/src/lib/elementary/elm_gesture_layer.c
index de1fe793e3..1f729187df 100644
--- a/src/lib/elementary/elm_gesture_layer.c
+++ b/src/lib/elementary/elm_gesture_layer.c
@@ -3582,7 +3582,7 @@ _rotate_test(Evas_Object *obj,
3582 Gesture_Info *gesture; 3582 Gesture_Info *gesture;
3583 Rotate_Type *st = NULL; 3583 Rotate_Type *st = NULL;
3584 3584
3585 if (!_elm_config->glayer_rotate_finger_enable) 3585 if (EINA_DBL_EQ(_elm_config->glayer_rotate_finger_enable, 0))
3586 return; 3586 return;
3587 3587
3588 if (!pe) 3588 if (!pe)
diff --git a/src/lib/elementary/elm_interface_scrollable.c b/src/lib/elementary/elm_interface_scrollable.c
index 4968332738..0721f94030 100644
--- a/src/lib/elementary/elm_interface_scrollable.c
+++ b/src/lib/elementary/elm_interface_scrollable.c
@@ -946,8 +946,8 @@ _elm_scroll_scroll_bar_size_adjust(Elm_Scrollable_Smart_Interface_Data *sid)
946 -((double)sid->page.y * ((double)vh / (double)h)) / 100.0); 946 -((double)sid->page.y * ((double)vh / (double)h)) / 100.0);
947 947
948 elm_obj_pan_pos_get(sid->pan_obj, &px, &py); 948 elm_obj_pan_pos_get(sid->pan_obj, &px, &py);
949 if (vx != mx) x = px; 949 if (!EINA_DBL_EQ(vx, mx)) x = px;
950 if (vy != my) y = py; 950 if (!EINA_DBL_EQ(vy, my)) y = py;
951 elm_obj_pan_pos_set(sid->pan_obj, x, y); 951 elm_obj_pan_pos_set(sid->pan_obj, x, y);
952 952
953 if (mx > 0) vx = (double)(x - minx) / (double)mx; 953 if (mx > 0) vx = (double)(x - minx) / (double)mx;
@@ -2292,8 +2292,8 @@ _elm_scroll_post_event_up(void *data,
2292static Eina_Bool 2292static Eina_Bool
2293_paging_is_enabled(Elm_Scrollable_Smart_Interface_Data *sid) 2293_paging_is_enabled(Elm_Scrollable_Smart_Interface_Data *sid)
2294{ 2294{
2295 if ((sid->pagerel_h == 0.0) && (!sid->pagesize_h) && 2295 if (EINA_DBL_EQ(sid->pagerel_h, 0.0) && (!sid->pagesize_h) &&
2296 (sid->pagerel_v == 0.0) && (!sid->pagesize_v)) 2296 EINA_DBL_EQ(sid->pagerel_v, 0.0) && (!sid->pagesize_v))
2297 return EINA_FALSE; 2297 return EINA_FALSE;
2298 return EINA_TRUE; 2298 return EINA_TRUE;
2299} 2299}
@@ -2314,7 +2314,7 @@ _elm_scroll_momentum_animator(void *data, const Efl_Event *event EINA_UNUSED)
2314 2314
2315 t = ecore_loop_time_get(); 2315 t = ecore_loop_time_get();
2316 2316
2317 if (sid->down.anim_dur == 0) dt = 1.0; 2317 if (EINA_DBL_EQ(sid->down.anim_dur, 0)) dt = 1.0;
2318 else dt = (t - sid->down.anim_start) / sid->down.anim_dur; 2318 else dt = (t - sid->down.anim_start) / sid->down.anim_dur;
2319 2319
2320 if (dt >= 0.0) 2320 if (dt >= 0.0)
@@ -2675,7 +2675,7 @@ _elm_scroll_momentum_calc(int dx, int dy, double dt, double *vx, double *vy, int
2675 double r = _elm_config->thumbscroll_momentum_friction; 2675 double r = _elm_config->thumbscroll_momentum_friction;
2676 const int min_px = 3; 2676 const int min_px = 3;
2677 2677
2678 if ( dt == 0 ) return EINA_FALSE; 2678 if (EINA_DBL_EQ(dt, 0)) return EINA_FALSE;
2679 2679
2680 // store sign value of distance 2680 // store sign value of distance
2681 sign_dx = (dx > 0) - (dx < 0); 2681 sign_dx = (dx > 0) - (dx < 0);
@@ -3749,7 +3749,7 @@ _elm_scroll_mouse_move_event_cb(void *data,
3749 else 3749 else
3750 vy = 1.0; 3750 vy = 1.0;
3751 } 3751 }
3752 if ((vx != 0.0) || (vy != 0.0)) 3752 if (EINA_DBL_NONZERO(vx) || EINA_DBL_NONZERO(vy))
3753 { 3753 {
3754 sid->down.onhold_vx = vx; 3754 sid->down.onhold_vx = vx;
3755 sid->down.onhold_vy = vy; 3755 sid->down.onhold_vy = vy;
diff --git a/src/lib/elementary/elm_map.c b/src/lib/elementary/elm_map.c
index 6a37e59cb2..2924cb73dd 100644
--- a/src/lib/elementary/elm_map.c
+++ b/src/lib/elementary/elm_map.c
@@ -4331,7 +4331,7 @@ _elm_map_efl_ui_zoom_zoom_level_set(Eo *obj, Elm_Map_Data *sd, double zoom)
4331 4331
4332 if (sd->mode != EFL_UI_ZOOM_MODE_MANUAL) return; 4332 if (sd->mode != EFL_UI_ZOOM_MODE_MANUAL) return;
4333 if (zoom < 0) zoom = 0; 4333 if (zoom < 0) zoom = 0;
4334 if (sd->zoom == zoom) return; 4334 if (EINA_DBL_EQ(sd->zoom, zoom)) return;
4335 4335
4336 sd->calc_job.zoom = zoom; 4336 sd->calc_job.zoom = zoom;
4337 sd->calc_job.zoom_mode_set = _zoom_mode_set; 4337 sd->calc_job.zoom_mode_set = _zoom_mode_set;
diff --git a/src/lib/elementary/elm_notify.c b/src/lib/elementary/elm_notify.c
index ee734b9e39..f4cc7ad4e1 100644
--- a/src/lib/elementary/elm_notify.c
+++ b/src/lib/elementary/elm_notify.c
@@ -32,29 +32,29 @@ _notify_theme_apply(Evas_Object *obj)
32 ax = sd->horizontal_align; 32 ax = sd->horizontal_align;
33 ay = sd->vertical_align; 33 ay = sd->vertical_align;
34 34
35 if (ay == 0.0) 35 if (EINA_DBL_EQ(ay, 0.0))
36 { 36 {
37 if (ax == 0.0) 37 if (EINA_DBL_EQ(ax, 0.0))
38 position = "top_left"; 38 position = "top_left";
39 else if (ax == 1.0) 39 else if (EINA_DBL_EQ(ax, 1.0))
40 position = "top_right"; 40 position = "top_right";
41 else 41 else
42 position = "top"; 42 position = "top";
43 } 43 }
44 else if (ay == 1.0) 44 else if (EINA_DBL_EQ(ay, 1.0))
45 { 45 {
46 if (ax == 0.0) 46 if (EINA_DBL_EQ(ax, 0.0))
47 position = "bottom_left"; 47 position = "bottom_left";
48 else if (ax == 1.0) 48 else if (EINA_DBL_EQ(ax, 1.0))
49 position = "bottom_right"; 49 position = "bottom_right";
50 else 50 else
51 position = "bottom"; 51 position = "bottom";
52 } 52 }
53 else 53 else
54 { 54 {
55 if (ax == 0.0) 55 if (EINA_DBL_EQ(ax, 0.0))
56 position = "left"; 56 position = "left";
57 else if (ax == 1.0) 57 else if (EINA_DBL_EQ(ax, 1.0))
58 position = "right"; 58 position = "right";
59 else 59 else
60 position = "center"; 60 position = "center";
@@ -88,10 +88,10 @@ _notify_move_to_orientation(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_C
88 88
89 ax = sd->horizontal_align; 89 ax = sd->horizontal_align;
90 ay = sd->vertical_align; 90 ay = sd->vertical_align;
91 if ((efl_ui_mirrored_get(obj)) && (ax != ELM_NOTIFY_ALIGN_FILL)) ax = 1.0 - ax; 91 if ((efl_ui_mirrored_get(obj)) && (!EINA_DBL_EQ(ax, ELM_NOTIFY_ALIGN_FILL))) ax = 1.0 - ax;
92 92
93 if (ax == ELM_NOTIFY_ALIGN_FILL) minw = w; 93 if (EINA_DBL_EQ(ax, ELM_NOTIFY_ALIGN_FILL)) minw = w;
94 if (ay == ELM_NOTIFY_ALIGN_FILL) minh = h; 94 if (EINA_DBL_EQ(ay, ELM_NOTIFY_ALIGN_FILL)) minh = h;
95 95
96 x = x + ((w - minw) * ax); 96 x = x + ((w - minw) * ax);
97 y = y + ((h - minh) * ay); 97 y = y + ((h - minh) * ay);
@@ -609,23 +609,23 @@ elm_notify_orient_get(const Evas_Object *obj)
609 609
610 elm_notify_align_get(obj, &horizontal, &vertical); 610 elm_notify_align_get(obj, &horizontal, &vertical);
611 611
612 if ((horizontal == 0.5) && (vertical == 0.0)) 612 if (EINA_DBL_EQ(horizontal, 0.5) && EINA_DBL_EQ(vertical, 0.0))
613 orient = ELM_NOTIFY_ORIENT_TOP; 613 orient = ELM_NOTIFY_ORIENT_TOP;
614 else if ((horizontal == 0.5) && (vertical == 0.5)) 614 else if (EINA_DBL_EQ(horizontal, 0.5) && EINA_DBL_EQ(vertical, 0.5))
615 orient = ELM_NOTIFY_ORIENT_CENTER; 615 orient = ELM_NOTIFY_ORIENT_CENTER;
616 else if ((horizontal == 0.5) && (vertical == 1.0)) 616 else if (EINA_DBL_EQ(horizontal, 0.5) && EINA_DBL_EQ(vertical, 1.0))
617 orient = ELM_NOTIFY_ORIENT_BOTTOM; 617 orient = ELM_NOTIFY_ORIENT_BOTTOM;
618 else if ((horizontal == 0.0) && (vertical == 0.5)) 618 else if (EINA_DBL_EQ(horizontal, 0.0) && EINA_DBL_EQ(vertical, 0.5))
619 orient = ELM_NOTIFY_ORIENT_LEFT; 619 orient = ELM_NOTIFY_ORIENT_LEFT;
620 else if ((horizontal == 1.0) && (vertical == 0.5)) 620 else if (EINA_DBL_EQ(horizontal, 1.0) && EINA_DBL_EQ(vertical, 0.5))
621 orient = ELM_NOTIFY_ORIENT_RIGHT; 621 orient = ELM_NOTIFY_ORIENT_RIGHT;
622 else if ((horizontal == 0.0) && (vertical == 0.0)) 622 else if (EINA_DBL_EQ(horizontal, 0.0) && EINA_DBL_EQ(vertical, 0.0))
623 orient = ELM_NOTIFY_ORIENT_TOP_LEFT; 623 orient = ELM_NOTIFY_ORIENT_TOP_LEFT;
624 else if ((horizontal == 1.0) && (vertical == 0.0)) 624 else if (EINA_DBL_EQ(horizontal, 1.0) && EINA_DBL_EQ(vertical, 0.0))
625 orient = ELM_NOTIFY_ORIENT_TOP_RIGHT; 625 orient = ELM_NOTIFY_ORIENT_TOP_RIGHT;
626 else if ((horizontal == 0.0) && (vertical == 1.0)) 626 else if (EINA_DBL_EQ(horizontal, 0.0) && EINA_DBL_EQ(vertical, 1.0))
627 orient = ELM_NOTIFY_ORIENT_BOTTOM_LEFT; 627 orient = ELM_NOTIFY_ORIENT_BOTTOM_LEFT;
628 else if ((horizontal == 1.0) && (vertical == 1.0)) 628 else if (EINA_DBL_EQ(horizontal, 1.0) && EINA_DBL_EQ(vertical, 1.0))
629 orient = ELM_NOTIFY_ORIENT_BOTTOM_RIGHT; 629 orient = ELM_NOTIFY_ORIENT_BOTTOM_RIGHT;
630 else 630 else
631 orient = ELM_NOTIFY_ORIENT_TOP; 631 orient = ELM_NOTIFY_ORIENT_TOP;
diff --git a/src/lib/elementary/elm_slider.c b/src/lib/elementary/elm_slider.c
index 9292e8a915..439711c392 100644
--- a/src/lib/elementary/elm_slider.c
+++ b/src/lib/elementary/elm_slider.c
@@ -1501,7 +1501,7 @@ elm_slider_step_set(Evas_Object *obj, double step)
1501 ERR("Wrong param. The step(%lf) should be greater than 0.0", step); 1501 ERR("Wrong param. The step(%lf) should be greater than 0.0", step);
1502 return; 1502 return;
1503 } 1503 }
1504 if (sd->step == step) return; 1504 if (EINA_DBL_EQ(sd->step, step)) return;
1505 1505
1506 sd->step = step; 1506 sd->step = step;
1507} 1507}
diff --git a/src/lib/elementary/elm_slideshow.c b/src/lib/elementary/elm_slideshow.c
index 5ab5e662f6..7b2d7810de 100644
--- a/src/lib/elementary/elm_slideshow.c
+++ b/src/lib/elementary/elm_slideshow.c
@@ -63,7 +63,7 @@ _key_action_pause(Evas_Object *obj, const char *params EINA_UNUSED)
63{ 63{
64 ELM_SLIDESHOW_DATA_GET(obj, sd); 64 ELM_SLIDESHOW_DATA_GET(obj, sd);
65 65
66 if (sd->timeout) 66 if (EINA_DBL_NONZERO(sd->timeout))
67 { 67 {
68 if (sd->timer) 68 if (sd->timer)
69 ELM_SAFE_FREE(sd->timer, ecore_timer_del); 69 ELM_SAFE_FREE(sd->timer, ecore_timer_del);
diff --git a/src/lib/elementary/elm_spinner.c b/src/lib/elementary/elm_spinner.c
index 6be95b7d3a..7441cbd338 100644
--- a/src/lib/elementary/elm_spinner.c
+++ b/src/lib/elementary/elm_spinner.c
@@ -134,7 +134,7 @@ _entry_show(Elm_Spinner_Data *sd)
134 134
135 EINA_LIST_FOREACH(sd->special_values, l, sv) 135 EINA_LIST_FOREACH(sd->special_values, l, sv)
136 { 136 {
137 if (sv->value == sd->val) 137 if (EINA_DBL_EQ(sv->value, sd->val))
138 { 138 {
139 snprintf(buf, sizeof(buf), "%s", sv->label); 139 snprintf(buf, sizeof(buf), "%s", sv->label);
140 goto apply; 140 goto apply;
@@ -196,7 +196,7 @@ _label_write(Evas_Object *obj)
196 196
197 EINA_LIST_FOREACH(sd->special_values, l, sv) 197 EINA_LIST_FOREACH(sd->special_values, l, sv)
198 { 198 {
199 if (sv->value == sd->val) 199 if (EINA_DBL_EQ(sv->value, sd->val))
200 { 200 {
201 snprintf(buf, sizeof(buf), "%s", sv->label); 201 snprintf(buf, sizeof(buf), "%s", sv->label);
202 goto apply; 202 goto apply;
@@ -245,7 +245,7 @@ _value_set(Evas_Object *obj,
245 if (sd->round > 0) 245 if (sd->round > 0)
246 { 246 {
247 //Spin value changed by entry input. 247 //Spin value changed by entry input.
248 if (changed != 0) 248 if (EINA_DBL_NONZERO(changed))
249 new_val = sd->val_base + 249 new_val = sd->val_base +
250 (double)((((int)((val + changed) - sd->val_base)) / sd->round) * sd->round); 250 (double)((((int)((val + changed) - sd->val_base)) / sd->round) * sd->round);
251 else 251 else
@@ -270,12 +270,12 @@ _value_set(Evas_Object *obj,
270 new_val = sd->val_max; 270 new_val = sd->val_max;
271 } 271 }
272 272
273 if (new_val == sd->val) return EINA_FALSE; 273 if (EINA_DBL_EQ(new_val, sd->val)) return EINA_FALSE;
274 sd->val = new_val; 274 sd->val = new_val;
275 275
276 if (sd->val == sd->val_min) 276 if (EINA_DBL_EQ(sd->val, sd->val_min))
277 efl_event_callback_legacy_call(obj, ELM_SPINNER_EVENT_MIN_REACHED, NULL); 277 efl_event_callback_legacy_call(obj, ELM_SPINNER_EVENT_MIN_REACHED, NULL);
278 else if (sd->val == sd->val_max) 278 else if (EINA_DBL_EQ(sd->val, sd->val_max))
279 efl_event_callback_legacy_call(obj, ELM_SPINNER_EVENT_MAX_REACHED, NULL); 279 efl_event_callback_legacy_call(obj, ELM_SPINNER_EVENT_MAX_REACHED, NULL);
280 280
281 efl_event_callback_legacy_call(obj, ELM_SPINNER_EVENT_CHANGED, NULL); 281 efl_event_callback_legacy_call(obj, ELM_SPINNER_EVENT_CHANGED, NULL);
@@ -334,7 +334,7 @@ _drag_cb(void *data,
334 else 334 else
335 efl_ui_drag_value_get(efl_part(wd->resize_obj, "elm.dragable.slider"), &pos, NULL); 335 efl_ui_drag_value_get(efl_part(wd->resize_obj, "elm.dragable.slider"), &pos, NULL);
336 336
337 if (sd->drag_prev_pos != 0) 337 if (EINA_DBL_NONZERO(sd->drag_prev_pos))
338 sd->drag_val_step = pow((pos - sd->drag_prev_pos), 2); 338 sd->drag_val_step = pow((pos - sd->drag_prev_pos), 2);
339 else 339 else
340 sd->drag_val_step = 1; 340 sd->drag_val_step = 1;
@@ -688,7 +688,7 @@ _spin_value(void *data)
688 double real_speed = sd->spin_speed; 688 double real_speed = sd->spin_speed;
689 689
690 /* Sanity check: our step size should be at least as large as our rounding value */ 690 /* Sanity check: our step size should be at least as large as our rounding value */
691 if ((sd->spin_speed != 0.0) && (fabs(sd->spin_speed) < sd->round)) 691 if (EINA_DBL_NONZERO(sd->spin_speed) && (fabs(sd->spin_speed) < sd->round))
692 { 692 {
693 WRN("The spinning step is smaller than the rounding value, please check your code"); 693 WRN("The spinning step is smaller than the rounding value, please check your code");
694 real_speed = sd->spin_speed > 0 ? sd->round : -sd->round; 694 real_speed = sd->spin_speed > 0 ? sd->round : -sd->round;
@@ -800,11 +800,11 @@ _button_inc_dec_start_cb(void *data,
800 { 800 {
801 if (sd->inc_btn_activated) 801 if (sd->inc_btn_activated)
802 { 802 {
803 if (sd->val == sd->val_min) return; 803 if (EINA_DBL_EQ(sd->val, sd->val_min)) return;
804 } 804 }
805 else 805 else
806 { 806 {
807 if (sd->val == sd->val_max) return; 807 if (EINA_DBL_EQ(sd->val, sd->val_max)) return;
808 } 808 }
809 } 809 }
810 } 810 }
@@ -1438,7 +1438,7 @@ _elm_spinner_label_format_get(const Eo *obj EINA_UNUSED, Elm_Spinner_Data *sd)
1438EOLIAN static void 1438EOLIAN static void
1439_elm_spinner_efl_ui_range_display_range_limits_set(Eo *obj, Elm_Spinner_Data *sd, double min, double max) 1439_elm_spinner_efl_ui_range_display_range_limits_set(Eo *obj, Elm_Spinner_Data *sd, double min, double max)
1440{ 1440{
1441 if ((sd->val_min == min) && (sd->val_max == max)) return; 1441 if (EINA_DBL_EQ(sd->val_min, min) && EINA_DBL_EQ(sd->val_max, max)) return;
1442 1442
1443 sd->val_min = min; 1443 sd->val_min = min;
1444 sd->val_max = max; 1444 sd->val_max = max;
@@ -1472,7 +1472,7 @@ _elm_spinner_efl_ui_range_interactive_range_step_get(const Eo *obj EINA_UNUSED,
1472EOLIAN static void 1472EOLIAN static void
1473_elm_spinner_efl_ui_range_display_range_value_set(Eo *obj, Elm_Spinner_Data *sd, double val) 1473_elm_spinner_efl_ui_range_display_range_value_set(Eo *obj, Elm_Spinner_Data *sd, double val)
1474{ 1474{
1475 if (sd->val == val) return; 1475 if (EINA_DBL_EQ(sd->val, val)) return;
1476 1476
1477 sd->val = (sd->round <= 0) ? val : sd->val_base + 1477 sd->val = (sd->round <= 0) ? val : sd->val_base +
1478 (double)((((int)(val - sd->val_base + (sd->round / 2))) / sd->round) * sd->round); 1478 (double)((((int)(val - sd->val_base + (sd->round / 2))) / sd->round) * sd->round);
@@ -1520,7 +1520,7 @@ _elm_spinner_special_value_add(Eo *obj, Elm_Spinner_Data *sd, double value, cons
1520 1520
1521 EINA_LIST_FOREACH(sd->special_values, l, sv) 1521 EINA_LIST_FOREACH(sd->special_values, l, sv)
1522 { 1522 {
1523 if (sv->value != value) 1523 if (!EINA_DBL_EQ(sv->value, value))
1524 continue; 1524 continue;
1525 1525
1526 eina_stringshare_replace(&sv->label, label); 1526 eina_stringshare_replace(&sv->label, label);
@@ -1549,7 +1549,7 @@ elm_spinner_special_value_del(Evas_Object *obj,
1549 1549
1550 EINA_LIST_FOREACH(sd->special_values, l, sv) 1550 EINA_LIST_FOREACH(sd->special_values, l, sv)
1551 { 1551 {
1552 if (sv->value != value) 1552 if (!EINA_DBL_EQ(sv->value, value))
1553 continue; 1553 continue;
1554 1554
1555 sd->special_values = eina_list_remove_list(sd->special_values, l); 1555 sd->special_values = eina_list_remove_list(sd->special_values, l);
@@ -1572,7 +1572,7 @@ elm_spinner_special_value_get(Evas_Object *obj,
1572 1572
1573 EINA_LIST_FOREACH(sd->special_values, l, sv) 1573 EINA_LIST_FOREACH(sd->special_values, l, sv)
1574 { 1574 {
1575 if (sv->value == value) 1575 if (EINA_DBL_EQ(sv->value, value))
1576 return sv->label; 1576 return sv->label;
1577 } 1577 }
1578 1578
diff --git a/src/lib/elementary/elm_toolbar.c b/src/lib/elementary/elm_toolbar.c
index e3480cd6ad..77b38f5ffe 100644
--- a/src/lib/elementary/elm_toolbar.c
+++ b/src/lib/elementary/elm_toolbar.c
@@ -3498,12 +3498,12 @@ _elm_toolbar_align_set(Eo *obj EINA_UNUSED, Elm_Toolbar_Data *sd, double align)
3498{ 3498{
3499 if (!efl_ui_layout_orientation_is_horizontal(sd->dir, EINA_TRUE)) 3499 if (!efl_ui_layout_orientation_is_horizontal(sd->dir, EINA_TRUE))
3500 { 3500 {
3501 if (sd->align != align) 3501 if (!EINA_DBL_EQ(sd->align, align))
3502 evas_object_box_align_set(sd->bx, 0.5, align); 3502 evas_object_box_align_set(sd->bx, 0.5, align);
3503 } 3503 }
3504 else 3504 else
3505 { 3505 {
3506 if (sd->align != align) 3506 if (!EINA_DBL_EQ(sd->align, align))
3507 evas_object_box_align_set(sd->bx, align, 0.5); 3507 evas_object_box_align_set(sd->bx, align, 0.5);
3508 } 3508 }
3509 sd->align = align; 3509 sd->align = align;
diff --git a/src/lib/elementary/elm_transit.c b/src/lib/elementary/elm_transit.c
index a7b829c6dc..6774e74589 100644
--- a/src/lib/elementary/elm_transit.c
+++ b/src/lib/elementary/elm_transit.c
@@ -346,7 +346,7 @@ _transit_animate_cb(void *data)
346 duration = transit->time.duration; 346 duration = transit->time.duration;
347 transit->progress = elapsed_time / duration; 347 transit->progress = elapsed_time / duration;
348 348
349 if (transit->revert_mode && transit->revert_begin_progress == 0) 349 if (transit->revert_mode && EINA_DBL_EQ(transit->revert_begin_progress, 0))
350 { 350 {
351 transit->revert_begin_progress = transit->progress; 351 transit->revert_begin_progress = transit->progress;
352 transit->time.revert_start = transit->time.current; 352 transit->time.revert_start = transit->time.current;
@@ -932,14 +932,14 @@ elm_transit_paused_set(Elm_Transit *transit, Eina_Bool paused)
932 { 932 {
933 if (transit->revert_mode) 933 if (transit->revert_mode)
934 { 934 {
935 if (transit->time.revert_paused == 0) return; 935 if (EINA_DBL_EQ(transit->time.revert_paused, 0)) return;
936 ecore_animator_thaw(transit->animator); 936 ecore_animator_thaw(transit->animator);
937 transit->time.revert_delayed += (ecore_loop_time_get() - transit->time.revert_paused); 937 transit->time.revert_delayed += (ecore_loop_time_get() - transit->time.revert_paused);
938 transit->time.revert_paused = 0; 938 transit->time.revert_paused = 0;
939 } 939 }
940 else 940 else
941 { 941 {
942 if (transit->time.paused == 0) return; 942 if (EINA_DBL_EQ(transit->time.paused, 0)) return;
943 ecore_animator_thaw(transit->animator); 943 ecore_animator_thaw(transit->animator);
944 transit->time.delayed += (ecore_loop_time_get() - transit->time.paused); 944 transit->time.delayed += (ecore_loop_time_get() - transit->time.paused);
945 transit->time.paused = 0; 945 transit->time.paused = 0;
@@ -952,7 +952,7 @@ elm_transit_paused_get(const Elm_Transit *transit)
952{ 952{
953 ELM_TRANSIT_CHECK_OR_RETURN(transit, EINA_FALSE); 953 ELM_TRANSIT_CHECK_OR_RETURN(transit, EINA_FALSE);
954 954
955 if (transit->time.paused == 0) 955 if (EINA_DBL_EQ(transit->time.paused, 0))
956 return EINA_FALSE; 956 return EINA_FALSE;
957 957
958 return EINA_TRUE; 958 return EINA_TRUE;
diff --git a/src/lib/elementary/els_box.c b/src/lib/elementary/els_box.c
index 9d7b4644bf..73ff133824 100644
--- a/src/lib/elementary/els_box.c
+++ b/src/lib/elementary/els_box.c
@@ -395,7 +395,7 @@ _els_box_layout(Evas_Object *o, Evas_Object_Box_Data *priv, Eina_Bool horizontal
395 } 395 }
396 count = eina_list_count(priv->children); 396 count = eina_list_count(priv->children);
397 397
398 if (!expand) 398 if (EINA_DBL_EQ(expand, 0))
399 { 399 {
400 if (rtl) ax = 1.0 - ax; 400 if (rtl) ax = 1.0 - ax;
401 if (horizontal) 401 if (horizontal)
@@ -435,8 +435,8 @@ _els_box_layout(Evas_Object *o, Evas_Object_Box_Data *priv, Eina_Bool horizontal
435 fw = fh = 0; 435 fw = fh = 0;
436 xw = xh = 0; 436 xw = xh = 0;
437 /* align(-1) means fill to maximum apportioned size */ 437 /* align(-1) means fill to maximum apportioned size */
438 if (ax == -1.0) {fw = 1; ax = 0.5;} 438 if (EINA_DBL_EQ(ax, -1.0)) {fw = 1; ax = 0.5;}
439 if (ay == -1.0) {fh = 1; ay = 0.5;} 439 if (EINA_DBL_EQ(ay, -1.0)) {fh = 1; ay = 0.5;}
440 if (rtl) ax = 1.0 - ax; 440 if (rtl) ax = 1.0 - ax;
441 if (wx > 0.0) xw = 1; 441 if (wx > 0.0) xw = 1;
442 if (wy > 0.0) xh = 1; 442 if (wy > 0.0) xh = 1;
diff --git a/src/lib/elementary/els_tooltip.c b/src/lib/elementary/els_tooltip.c
index 78b09e8373..6613745653 100644
--- a/src/lib/elementary/els_tooltip.c
+++ b/src/lib/elementary/els_tooltip.c
@@ -385,7 +385,7 @@ _elm_tooltip_reconfigure_orient(Elm_Tooltip *tt,
385 { 385 {
386 dx = -mx; 386 dx = -mx;
387 mx = -(px / 2); 387 mx = -(px / 2);
388 if (tt->rel_pos.x == 0.5) 388 if (EINA_DBL_EQ(tt->rel_pos.x, 0.5))
389 { 389 {
390 tt->rel_pos.x = 0.5 - dx / (double)tcw; 390 tt->rel_pos.x = 0.5 - dx / (double)tcw;
391 if (tt->rel_pos.x < 0.0) tt->rel_pos.x = 0.0; 391 if (tt->rel_pos.x < 0.0) tt->rel_pos.x = 0.0;
@@ -395,7 +395,7 @@ _elm_tooltip_reconfigure_orient(Elm_Tooltip *tt,
395 { 395 {
396 dx = mx + tw - cw; 396 dx = mx + tw - cw;
397 mx = cw - tw + px / 2; 397 mx = cw - tw + px / 2;
398 if (tt->rel_pos.x == 0.5) 398 if (EINA_DBL_EQ(tt->rel_pos.x, 0.5))
399 { 399 {
400 tt->rel_pos.x = 0.5 + dx / (double)tcw; 400 tt->rel_pos.x = 0.5 + dx / (double)tcw;
401 if (tt->rel_pos.x > 1.0) tt->rel_pos.x = 1.0; 401 if (tt->rel_pos.x > 1.0) tt->rel_pos.x = 1.0;
@@ -406,7 +406,7 @@ _elm_tooltip_reconfigure_orient(Elm_Tooltip *tt,
406 { 406 {
407 dy = -my; 407 dy = -my;
408 my = -(py / 2); 408 my = -(py / 2);
409 if (tt->rel_pos.y == 0.5) 409 if (EINA_DBL_EQ(tt->rel_pos.y, 0.5))
410 { 410 {
411 tt->rel_pos.y = 0.5 - dy / (double)tch; 411 tt->rel_pos.y = 0.5 - dy / (double)tch;
412 if (tt->rel_pos.y < 0.0) tt->rel_pos.y = 0.0; 412 if (tt->rel_pos.y < 0.0) tt->rel_pos.y = 0.0;
@@ -416,7 +416,7 @@ _elm_tooltip_reconfigure_orient(Elm_Tooltip *tt,
416 { 416 {
417 dy = my + th - ch; 417 dy = my + th - ch;
418 my = ch - th + py / 2; 418 my = ch - th + py / 2;
419 if (tt->rel_pos.y == 0.5) 419 if (EINA_DBL_EQ(tt->rel_pos.y, 0.5))
420 { 420 {
421 tt->rel_pos.y = 0.5 + dy / (double)tch; 421 tt->rel_pos.y = 0.5 + dy / (double)tch;
422 if (tt->rel_pos.y > 1.0) tt->rel_pos.y = 1.0; 422 if (tt->rel_pos.y > 1.0) tt->rel_pos.y = 1.0;