From: ChunEon P. <he...@na...> - 2012-03-26 10:19:18
|
You didn't update position history. Maybe it should be ignored the all mouse events once the down is happened on the freeze/hold status. ------------------------------------ -Regards, Hermet- -----Original Message----- From: "Enlightenment SVN"<no-...@en...> To: <enl...@li...>; Cc: Sent: 2012-03-26 (월) 19:05:27 Subject: E SVN: jaehwan trunk/elementary/src/lib Log: When the scroller is holded and scrolled, it can be jump. The squence is hold push -> mouse down -> mouse move -> hold pop -> mouse move continuously. After upper sequence, the scroller will jump. So I fixed this issue. Author: jaehwan Date: 2012-03-26 03:05:26 -0700 (Mon, 26 Mar 2012) New Revision: 69631 Trac: http://trac.enlightenment.org/e/changeset/69631 Modified: trunk/elementary/src/lib/els_scroller.c Modified: trunk/elementary/src/lib/els_scroller.c =================================================================== --- trunk/elementary/src/lib/els_scroller.c 2012-03-26 09:22:15 UTC (rev 69630) +++ trunk/elementary/src/lib/els_scroller.c 2012-03-26 10:05:26 UTC (rev 69631) @@ -70,6 +70,7 @@ 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 @@ 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 @@ 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) ------------------------------------------------------------------------------ This SF email is sponsosred by: Try Windows Azure free for 90 days Click Here http://p.sf.net/sfu/sfd2d-msazure _______________________________________________ enlightenment-svn mailing list enl...@li... https://lists.sourceforge.net/lists/listinfo/enlightenment-svn |