From 15a500d3edb03668b43cc6898fafcda024d0f006 Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 29 Feb 2012 13:34:55 +0100 Subject: xserver fontconfig mesa pixman git update 29 Feb 2012 --- xorg-server/dix/getevents.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'xorg-server') diff --git a/xorg-server/dix/getevents.c b/xorg-server/dix/getevents.c index 6ea4ba010..306d0ff09 100644 --- a/xorg-server/dix/getevents.c +++ b/xorg-server/dix/getevents.c @@ -840,10 +840,15 @@ scale_to_desktop(DeviceIntPtr dev, ValuatorMask *mask, ScreenPtr scr = miPointerGetScreen(dev); double x, y; - BUG_WARN(!dev->valuator); - BUG_WARN(dev->valuator->numAxes < 2); + BUG_WARN(!dev->valuator || dev->valuator->numAxes < 2); if (!dev->valuator || dev->valuator->numAxes < 2) + { + /* if we have no axes, last.valuators must be in screen coords + * anyway */ + *devx = *screenx = dev->last.valuators[0]; + *devy = *screeny = dev->last.valuators[1]; return scr; + } if (valuator_mask_isset(mask, 0)) x = valuator_mask_get_double(mask, 0); @@ -1493,8 +1498,6 @@ GetPointerEvents(InternalEvent *events, DeviceIntPtr pDev, int type, { CARD32 ms = GetTimeInMillis(); int num_events = 0, nev_tmp; - int h_scroll_axis = pDev->valuator->h_scroll_axis; - int v_scroll_axis = pDev->valuator->v_scroll_axis; ValuatorMask mask; ValuatorMask scroll; int i; @@ -1519,6 +1522,14 @@ GetPointerEvents(InternalEvent *events, DeviceIntPtr pDev, int type, { double val, adj; int axis; + int h_scroll_axis = -1; + int v_scroll_axis = -1; + + if (pDev->valuator) + { + h_scroll_axis = pDev->valuator->h_scroll_axis; + v_scroll_axis = pDev->valuator->v_scroll_axis; + } /* Up is negative on valuators, down positive */ switch (buttons) { -- cgit v1.2.3