diff options
author | marha <marha@users.sourceforge.net> | 2013-03-06 08:39:27 +0100 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2013-03-06 08:39:27 +0100 |
commit | b5acb643ab1a86b31409900a7c03281fcc48c8e3 (patch) | |
tree | 85db12bb6d437f616b2f91d547426d0e2d3173e6 /xorg-server/Xi | |
parent | 6ddd685990187ec5f5996a16951a3d780c820272 (diff) | |
parent | 84798668341b15890d625e3bffbbc2d19f434568 (diff) | |
download | vcxsrv-b5acb643ab1a86b31409900a7c03281fcc48c8e3.tar.gz vcxsrv-b5acb643ab1a86b31409900a7c03281fcc48c8e3.tar.bz2 vcxsrv-b5acb643ab1a86b31409900a7c03281fcc48c8e3.zip |
Merge remote-tracking branch 'origin/released'
* origin/released:
fontconfig libfontenc mesa xserver git update 6 Mar 2013
Diffstat (limited to 'xorg-server/Xi')
-rw-r--r-- | xorg-server/Xi/xibarriers.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/xorg-server/Xi/xibarriers.c b/xorg-server/Xi/xibarriers.c index 2aa4f51ff..b8a27af25 100644 --- a/xorg-server/Xi/xibarriers.c +++ b/xorg-server/Xi/xibarriers.c @@ -434,6 +434,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); @@ -443,6 +444,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; @@ -465,7 +468,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; @@ -675,8 +678,8 @@ BarrierFreeBarrier(void *data, XID id) continue; ev.deviceid = dev->id; - ev.event_id = pbd->barrier_event_id, - ev.dt = ms - pbd->last_timestamp, + ev.event_id = pbd->barrier_event_id; + ev.dt = ms - pbd->last_timestamp; GetSpritePosition(dev, &root_x, &root_y); ev.root_x = root_x; |