Xi: force dtime to 0 on the first BarrierHit
dtime to the previous event is 0 on the first BarrierHit event. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
604169af8b
commit
dd4ab8b572
|
@ -435,6 +435,7 @@ input_constrain_cursor(DeviceIntPtr dev, ScreenPtr screen,
|
||||||
dir = barrier_get_direction(current_x, current_y, x, y);
|
dir = barrier_get_direction(current_x, current_y, x, y);
|
||||||
|
|
||||||
while (dir != 0) {
|
while (dir != 0) {
|
||||||
|
int new_sequence;
|
||||||
struct PointerBarrierDevice *pbd;
|
struct PointerBarrierDevice *pbd;
|
||||||
|
|
||||||
c = barrier_find_nearest(cs, master, dir, current_x, current_y, x, y);
|
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;
|
nearest = &c->barrier;
|
||||||
|
|
||||||
pbd = GetBarrierDevice(c, master->id);
|
pbd = GetBarrierDevice(c, master->id);
|
||||||
|
new_sequence = !pbd->hit;
|
||||||
|
|
||||||
pbd->seen = TRUE;
|
pbd->seen = TRUE;
|
||||||
pbd->hit = TRUE;
|
pbd->hit = TRUE;
|
||||||
|
|
||||||
|
@ -466,7 +469,7 @@ input_constrain_cursor(DeviceIntPtr dev, ScreenPtr screen,
|
||||||
ev.event_id = pbd->barrier_event_id;
|
ev.event_id = pbd->barrier_event_id;
|
||||||
ev.barrierid = c->id;
|
ev.barrierid = c->id;
|
||||||
|
|
||||||
ev.dt = ms - pbd->last_timestamp;
|
ev.dt = new_sequence ? 0 : ms - pbd->last_timestamp;
|
||||||
ev.window = c->window;
|
ev.window = c->window;
|
||||||
pbd->last_timestamp = ms;
|
pbd->last_timestamp = ms;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue