Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
If there isn't a GetGlobalMouseState() implementation, fall back to t…
…he normal one.
  • Loading branch information
slouken committed May 26, 2020
1 parent 437577f commit bcbaa4e
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 33 deletions.
27 changes: 14 additions & 13 deletions src/events/SDL_mouse.c
Expand Up @@ -722,23 +722,24 @@ Uint32
SDL_GetGlobalMouseState(int *x, int *y)
{
SDL_Mouse *mouse = SDL_GetMouse();
int tmpx, tmpy;

/* make sure these are never NULL for the backend implementations... */
if (!x) {
x = &tmpx;
}
if (!y) {
y = &tmpy;
}
if (mouse->GetGlobalMouseState) {
int tmpx, tmpy;

/* make sure these are never NULL for the backend implementations... */
if (!x) {
x = &tmpx;
}
if (!y) {
y = &tmpy;
}

*x = *y = 0;
*x = *y = 0;

if (!mouse->GetGlobalMouseState) {
return 0;
return mouse->GetGlobalMouseState(x, y);
} else {
return SDL_GetMouseState(x, y);
}

return mouse->GetGlobalMouseState(x, y);
}

void
Expand Down
2 changes: 0 additions & 2 deletions src/video/kmsdrm/SDL_kmsdrmmouse.c
Expand Up @@ -466,8 +466,6 @@ KMSDRM_InitMouse(_THIS)
mouse->FreeCursor = KMSDRM_FreeCursor;
mouse->WarpMouse = KMSDRM_WarpMouse;
mouse->WarpMouseGlobal = KMSDRM_WarpMouseGlobal;
/* No desktop on KMSDRM, so just return the normal mouse state. */
mouse->GetGlobalMouseState = SDL_GetMouseState;

SDL_SetDefaultCursor(KMSDRM_CreateDefaultCursor());
}
Expand Down
18 changes: 0 additions & 18 deletions src/video/offscreen/SDL_offscreenvideo.c
Expand Up @@ -109,19 +109,6 @@ VideoBootStrap OFFSCREEN_bootstrap = {
OFFSCREEN_Available, OFFSCREEN_CreateDevice
};

static Uint32
OFFSCREEN_GetGlobalMouseState(int *x, int *y)
{
if (x) {
*x = 0;
}

if (y) {
*y = 0;
}
return 0;
}

int
OFFSCREEN_VideoInit(_THIS)
{
Expand All @@ -141,11 +128,6 @@ OFFSCREEN_VideoInit(_THIS)
SDL_zero(mode);
SDL_AddDisplayMode(&_this->displays[0], &mode);

/* Init mouse */
mouse = SDL_GetMouse();
/* This function needs to be implemented by every driver */
mouse->GetGlobalMouseState = OFFSCREEN_GetGlobalMouseState;

/* We're done! */
return 0;
}
Expand Down

0 comments on commit bcbaa4e

Please sign in to comment.