From 8a5ea62de9541704c4bfccd67ad2114df5cefea1 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 5 Jan 2009 07:04:54 +0000 Subject: [PATCH] Fixed mouse events with --disable-video-x11-xinput --- src/video/x11/SDL_x11events.c | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/video/x11/SDL_x11events.c b/src/video/x11/SDL_x11events.c index 8e3135806..a9aad34e5 100644 --- a/src/video/x11/SDL_x11events.c +++ b/src/video/x11/SDL_x11events.c @@ -281,14 +281,14 @@ X11_DispatchEvent(_THIS) break; default:{ -#if SDL_VIDEO_DRIVER_X11_XINPUT for (i = 0; i < SDL_GetNumMice(); ++i) { SDL_Mouse *mouse; +#if SDL_VIDEO_DRIVER_X11_XINPUT X11_MouseData *data; +#endif mouse = SDL_GetMouse(i); - data = (X11_MouseData *) mouse->driverdata; - if (!data) { + if (!mouse->driverdata) { switch (xevent.type) { case MotionNotify: #ifdef DEBUG_MOTION @@ -312,7 +312,9 @@ X11_DispatchEvent(_THIS) continue; } - if (xevent.type == data->motion) { /* MotionNotify */ +#if SDL_VIDEO_DRIVER_X11_XINPUT + data = (X11_MouseData *) mouse->driverdata; + if (xevent.type == data->motion) { XDeviceMotionEvent *move = (XDeviceMotionEvent *) & xevent; #ifdef DEBUG_MOTION @@ -322,14 +324,14 @@ X11_DispatchEvent(_THIS) move->axis_data[2]); return; } - if (xevent.type == data->button_pressed) { /* ButtonPress */ + if (xevent.type == data->button_pressed) { XDeviceButtonPressedEvent *pressed = (XDeviceButtonPressedEvent *) & xevent; SDL_SendMouseButton(pressed->deviceid, SDL_PRESSED, pressed->button); return; } - if (xevent.type == data->button_released) { /* ButtonRelease */ + if (xevent.type == data->button_released) { XDeviceButtonReleasedEvent *released = (XDeviceButtonReleasedEvent *) & xevent; SDL_SendMouseButton(released->deviceid, SDL_RELEASED, @@ -350,8 +352,8 @@ X11_DispatchEvent(_THIS) proximity->y, SDL_PROXIMITYOUT); return; } - } #endif + } #ifdef DEBUG_XEVENTS printf("Unhandled event %d\n", xevent.type); #endif