[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