diff options
Diffstat (limited to 'xorg-server/dix/getevents.c')
-rw-r--r-- | xorg-server/dix/getevents.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/xorg-server/dix/getevents.c b/xorg-server/dix/getevents.c index 794df420b..f58c41df2 100644 --- a/xorg-server/dix/getevents.c +++ b/xorg-server/dix/getevents.c @@ -65,6 +65,21 @@ #include "extnsionst.h" #include "listdev.h" /* for sizing up DeviceClassesChangedEvent */ +#ifdef _MSC_VER +#include <math.h> + +float roundf(float f) +{ + return ((f<0.0f) ? ceil(f-.5) : floor (f+.5)); +} +double roundd(double f) +{ + return ((f<0.0) ? ceil(f-.5) : floor (f+.5)); +} +#define lroundf(val) ((int)roundf(val)) +#define lround(val) ((int)roundd(val)) +#endif + /* Number of motion history events to store. */ #define MOTION_HISTORY_SIZE 256 @@ -949,7 +964,7 @@ GetKeyboardValuatorEvents(EventList *events, DeviceIntPtr pDev, int type, ValuatorMask mask; /* refuse events from disabled devices */ - if (!pDev->enabled) + if (!pDev || !pDev->enabled) return 0; if (!events ||!pDev->key || !pDev->focus || !pDev->kbdfeed || |