X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Flib%2Fels_scroller.c;h=bb2607590515d1f4cb8da0df6a1bfde9efe01e45;hb=946da8754526ba1917ff54e029a1e48847c83f5b;hp=08ba71a8aa2092e316ab51ce5714ba6c201a9405;hpb=7285f194cf7598385ebb3094628f67afdc83b2d2;p=framework%2Fuifw%2Felementary.git diff --git a/src/lib/els_scroller.c b/src/lib/els_scroller.c index 08ba71a..bb26075 100644 --- a/src/lib/els_scroller.c +++ b/src/lib/els_scroller.c @@ -70,6 +70,7 @@ struct _Smart_Data Eina_Bool bounce_x_hold : 1; Eina_Bool bounce_y_hold : 1; Eina_Bool scroll : 1; + Eina_Bool want_reset : 1; } down; struct { @@ -1774,6 +1775,10 @@ _smart_event_mouse_down(void *data, Evas *e __UNUSED__, Evas_Object *obj __UNUSE sd->down.dragged_began = EINA_FALSE; sd->down.hold_parent = EINA_FALSE; sd->down.cancelled = EINA_FALSE; + if(sd->hold || sd->freeze) + sd->down.want_reset = EINA_TRUE; + else + sd->down.want_reset = EINA_FALSE; } } @@ -2392,6 +2397,12 @@ _smart_event_mouse_move(void *data, Evas *e, Evas_Object *obj __UNUSED__, void * y = sd->down.sy - (ev->cur.canvas.y - sd->down.y); else y = sd->down.sy; + if(sd->down.want_reset) + { + sd->down.x = ev->cur.canvas.x; + sd->down.y = ev->cur.canvas.y; + sd->down.want_reset = EINA_FALSE; + } if ((sd->down.dir_x) || (sd->down.dir_y)) { if (!sd->down.locked)