From 05e3e450e5ecb67f80c1be3df8ab7a08e8d33da2 Mon Sep 17 00:00:00 2001 From: Hosang Kim Date: Thu, 20 Jul 2017 15:21:34 +0900 Subject: [PATCH] slider: fix jumping handler bug. Summary: Actual slider value is not changed. So when user release mouse or touch, slider value is returned to the value by user set. This is a partial revert of f41e2761608fff7b070d630a738 Fixes T5745 Test Plan: elementary_test -> slider Reviewers: jpeg Subscribers: cedric Maniphest Tasks: T5745 Differential Revision: https://phab.enlightenment.org/D5031 --- src/bin/elementary/test_slider.c | 5 +++++ src/lib/edje/edje_calc.c | 5 +---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/bin/elementary/test_slider.c b/src/bin/elementary/test_slider.c index 68e3f884ef..8a84926dbb 100644 --- a/src/bin/elementary/test_slider.c +++ b/src/bin/elementary/test_slider.c @@ -79,6 +79,11 @@ _change_cb2(void *data, Evas_Object *obj, void *event_info EINA_UNUSED) elm_slider_value_set(obj, 80.0); _popup_add(api); } + else if (api->popup) + { + evas_object_del(api->popup); + api->popup = NULL; + } } void diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c index 1bad0321cc..4ec2d0288a 100644 --- a/src/lib/edje/edje_calc.c +++ b/src/lib/edje/edje_calc.c @@ -1075,6 +1075,7 @@ _edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T x, FLOAT_T y) Evas_Coord ex = 0, ey = 0; /* check whether this part is dragable at all */ if (!ep->drag) return; + if (ep->drag->down.count > 0) return; /* instead of checking for equality, we really should check that * the difference is greater than foo, but I have no idea what @@ -1085,8 +1086,6 @@ _edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T x, FLOAT_T y) if (NEQ(ep->drag->x, x) || ep->drag->tmp.x) { - if (ep->drag->down.count > 0) - ep->drag->down.x = ex; ep->drag->x = x; ep->drag->tmp.x = 0; ep->drag->need_reset = 0; @@ -1096,8 +1095,6 @@ _edje_dragable_pos_set(Edje *ed, Edje_Real_Part *ep, FLOAT_T x, FLOAT_T y) if (NEQ(ep->drag->y, y) || ep->drag->tmp.y) { - if (ep->drag->down.count > 0) - ep->drag->down.y = ey; ep->drag->y = y; ep->drag->tmp.y = 0; ep->drag->need_reset = 0;