[PATCH v2] Xi: force dtime to 0 on the first BarrierHit
Jasper St. Pierre
jstpierre at mecheye.net
Mon Mar 4 20:42:25 PST 2013
On Mon, Mar 4, 2013 at 7:14 PM, Peter Hutterer <peter.hutterer at who-t.net>wrote:
> dtime to the previous event is 0 on the first BarrierHit event.
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
> changes to v1:
> - check pbd->hit to see if we're the start of a new sequence instead of a
> timestamp of 0.
>
> Xi/xibarriers.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/Xi/xibarriers.c b/Xi/xibarriers.c
> index a225cbc..fccab86 100644
> --- a/Xi/xibarriers.c
> +++ b/Xi/xibarriers.c
> @@ -435,6 +435,7 @@ input_constrain_cursor(DeviceIntPtr dev, ScreenPtr
> screen,
> dir = barrier_get_direction(current_x, current_y, x, y);
>
> while (dir != 0) {
> + int new_sequence;
> struct PointerBarrierDevice *pbd;
>
> c = barrier_find_nearest(cs, master, dir, current_x, current_y,
> x, y);
> @@ -444,6 +445,8 @@ input_constrain_cursor(DeviceIntPtr dev, ScreenPtr
> screen,
> nearest = &c->barrier;
>
> pbd = GetBarrierDevice(c, master->id);
> + new_sequence = !pbd->hit;
> +
> pbd->seen = TRUE;
> pbd->hit = TRUE;
>
> @@ -466,7 +469,7 @@ input_constrain_cursor(DeviceIntPtr dev, ScreenPtr
> screen,
> ev.event_id = pbd->barrier_event_id;
> ev.barrierid = c->id;
>
> - ev.dt = ms - pbd->last_timestamp;
> + ev.dt = new_sequence ? 0 : ms - pbd->last_timestamp;
> ev.window = c->window;
> pbd->last_timestamp = ms;
>
> --
> 1.8.1.4
>
>
Reviewed-by: Jasper St. Pierre <jstpierre at mecheye.net>
--
Jasper
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20130304/ad83c00d/attachment.html>
More information about the xorg-devel
mailing list