diff --git a/src/video/mir/SDL_mirmouse.c b/src/video/mir/SDL_mirmouse.c index 40f774428..5d00dc0e2 100644 --- a/src/video/mir/SDL_mirmouse.c +++ b/src/video/mir/SDL_mirmouse.c @@ -139,15 +139,9 @@ static SDL_Cursor* MIR_CreateSystemCursor(SDL_SystemCursor id) { char const* cursor_name = NULL; - SDL_Cursor* cursor = MIR_CreateDefaultCursor(); + SDL_Cursor* cursor; MIR_Cursor* mir_cursor; - if (!cursor) { - return NULL; - } - - mir_cursor = (MIR_Cursor*)cursor->driverdata; - switch(id) { case SDL_SYSTEM_CURSOR_ARROW: cursor_name = MIR_mir_arrow_cursor_name; @@ -192,6 +186,12 @@ MIR_CreateSystemCursor(SDL_SystemCursor id) return NULL; } + cursor = MIR_CreateDefaultCursor(); + if (!cursor) { + return NULL; + } + + mir_cursor = (MIR_Cursor*)cursor->driverdata; mir_cursor->name = cursor_name; return cursor;