aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/Xi
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-03-06 08:39:27 +0100
committermarha <marha@users.sourceforge.net>2013-03-06 08:39:27 +0100
commitb5acb643ab1a86b31409900a7c03281fcc48c8e3 (patch)
tree85db12bb6d437f616b2f91d547426d0e2d3173e6 /xorg-server/Xi
parent6ddd685990187ec5f5996a16951a3d780c820272 (diff)
parent84798668341b15890d625e3bffbbc2d19f434568 (diff)
downloadvcxsrv-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.c9
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;