From ece95a4115749c775cad701c0091166133d1426b Mon Sep 17 00:00:00 2001 From: Jaehwan Kim Date: Tue, 4 Oct 2011 07:33:28 +0000 Subject: [PATCH] From: Jaehwan Kim Subject: [E-devel] [Patch] els_scroller - bouncing doesn't work in specific case I found the bouncing of the scroller doesn't work in specific case. When the scroller is scrolled but the animation doesn't occur, sd->down.dy is not changed. Then in elm_smart_scroller_child_pos_set, it's possible not to pass the below conditional sentence even if it have to has the bounce. if (((y < miny) && (0 <= sd->down.dy)) || ((y > (my + miny)) && (0 >= sd->down.dy))) So I reset the value sd->down.dx and sd->down.dy to 0 when mouse is up. Please check patch file. SVN revision: 63797 --- legacy/elementary/src/lib/els_scroller.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/legacy/elementary/src/lib/els_scroller.c b/legacy/elementary/src/lib/els_scroller.c index 13126f20ed..0d720df107 100644 --- a/legacy/elementary/src/lib/els_scroller.c +++ b/legacy/elementary/src/lib/els_scroller.c @@ -1912,6 +1912,8 @@ _smart_event_mouse_up(void *data, Evas *e, Evas_Object *obj __UNUSED__, void *ev sd = data; ev = event_info; sd->down.hold_parent = 0; + sd->down.dx = 0; + sd->down.dy = 0; // if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD) return ; evas_post_event_callback_push(e, _smart_event_post_up, sd); // FIXME: respect elm_widget_scroll_hold_get of parent container