From 83e2586f0b8bc319b6b5df35ffdc6df67943b5b5 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Tue, 26 Aug 2008 07:34:23 +0000 Subject: [PATCH] Fixed crash when tablet isn't detected properly --- src/events/SDL_mouse.c | 5 +++++ src/events/SDL_mouse_c.h | 9 ++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/events/SDL_mouse.c b/src/events/SDL_mouse.c index 685fd18fd..682d24833 100644 --- a/src/events/SDL_mouse.c +++ b/src/events/SDL_mouse.c @@ -374,6 +374,11 @@ SDL_SendProximity(int id, int x, int y, int type) int index = SDL_GetMouseIndexId(id); SDL_Mouse *mouse = SDL_GetMouse(index); int posted = 0; + + if (!mouse) { + return 0; + } + last_x = x; last_y = y; if (SDL_ProcessEvents[type] == SDL_ENABLE) { diff --git a/src/events/SDL_mouse_c.h b/src/events/SDL_mouse_c.h index 2bd37506b..cc29eb5a4 100644 --- a/src/events/SDL_mouse_c.h +++ b/src/events/SDL_mouse_c.h @@ -112,15 +112,18 @@ extern void SDL_ResetMouse(int index); /* Set the mouse focus window */ extern void SDL_SetMouseFocus(int id, SDL_WindowID windowID); -/* Send a mouse motion event for a mouse at an index */ +/* Send a mouse motion event for a mouse */ extern int SDL_SendMouseMotion(int id, int relative, int x, int y, int z); -/* Send a mouse button event for a mouse at an index */ +/* Send a mouse button event for a mouse */ extern int SDL_SendMouseButton(int id, Uint8 state, Uint8 button); -/* Send a mouse wheel event for a mouse at an index */ +/* Send a mouse wheel event for a mouse */ extern int SDL_SendMouseWheel(int id, int x, int y); +/* Send a proximity event for a mouse */ +extern int SDL_SendProximity(int id, int x, int y, int type); + /* Shutdown the mouse subsystem */ extern void SDL_MouseQuit(void);