From: Jaehwan Kim <jae.hwan.kim@samsung.com>
authorJaehwan Kim <jae.hwan.kim@samsung.com>
Tue, 4 Oct 2011 07:33:28 +0000 (07:33 +0000)
committerCarsten Haitzler <raster@rasterman.com>
Tue, 4 Oct 2011 07:33:28 +0000 (07:33 +0000)
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

src/lib/els_scroller.c

index 13126f20ed37367c5aad305e46742bf8cc2c6924..0d720df107189e3d7693dfe9a53fc94a712938f9 100644 (file)
@@ -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