aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/dix/getevents.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2014-11-29 16:13:30 +0100
committermarha <marha@users.sourceforge.net>2014-11-29 16:13:30 +0100
commit7147e58c389cffeb930bdd8e3a2fdfc5d5bb3a0c (patch)
treee5b941fdff86328a065c46582ba53e0cc73c8576 /xorg-server/dix/getevents.c
parent0dbe845b2f4ba08924d6fcb9634d09dc3dde13d6 (diff)
parenta1011d63ffb5cc4f41bf0f4622ee3f1493d419d9 (diff)
downloadvcxsrv-7147e58c389cffeb930bdd8e3a2fdfc5d5bb3a0c.tar.gz
vcxsrv-7147e58c389cffeb930bdd8e3a2fdfc5d5bb3a0c.tar.bz2
vcxsrv-7147e58c389cffeb930bdd8e3a2fdfc5d5bb3a0c.zip
Merge remote-tracking branch 'origin/released'
Conflicts: xorg-server/dix/dispatch.c xorg-server/hw/xwin/ddraw.h xorg-server/hw/xwin/glx/glshim.c xorg-server/hw/xwin/winclipboard/xevents.c xorg-server/hw/xwin/windialogs.c xorg-server/hw/xwin/winmultiwindowshape.c xorg-server/hw/xwin/winmultiwindowwindow.c xorg-server/hw/xwin/winprefslex.l xorg-server/hw/xwin/winshadddnl.c xorg-server/hw/xwin/winshadgdi.c xorg-server/hw/xwin/winwndproc.c xorg-server/mi/miarc.c xorg-server/os/connection.c
Diffstat (limited to 'xorg-server/dix/getevents.c')
-rw-r--r--xorg-server/dix/getevents.c22
1 files changed, 11 insertions, 11 deletions
diff --git a/xorg-server/dix/getevents.c b/xorg-server/dix/getevents.c
index 366bc9558..2c4287b01 100644
--- a/xorg-server/dix/getevents.c
+++ b/xorg-server/dix/getevents.c
@@ -1264,8 +1264,8 @@ transformAbsolute(DeviceIntPtr dev, ValuatorMask *mask)
double x, y, ox, oy;
int has_x, has_y;
- has_x = valuator_mask_fetch_double(mask, 0, &ox);
- has_y = valuator_mask_fetch_double(mask, 1, &oy);
+ has_x = valuator_mask_isset(mask, 0);
+ has_y = valuator_mask_isset(mask, 1);
if (!has_x && !has_y)
return;
@@ -1279,23 +1279,23 @@ transformAbsolute(DeviceIntPtr dev, ValuatorMask *mask)
pixman_f_transform_invert(&invert, &dev->scale_and_transform);
transform(&invert, &ox, &oy);
-
- x = ox;
- y = oy;
}
- if (valuator_mask_isset(mask, 0))
- ox = x = valuator_mask_get_double(mask, 0);
+ if (has_x)
+ ox = valuator_mask_get_double(mask, 0);
- if (valuator_mask_isset(mask, 1))
- oy = y = valuator_mask_get_double(mask, 1);
+ if (has_y)
+ oy = valuator_mask_get_double(mask, 1);
+
+ x = ox;
+ y = oy;
transform(&dev->scale_and_transform, &x, &y);
- if (valuator_mask_isset(mask, 0) || ox != x)
+ if (has_x || ox != x)
valuator_mask_set_double(mask, 0, x);
- if (valuator_mask_isset(mask, 1) || oy != y)
+ if (has_y || oy != y)
valuator_mask_set_double(mask, 1, y);
}