mir: Fixed memory leak if system cursor id is unknown.

This commit is contained in:
Philipp Wiesemann
2017-05-06 21:46:00 +02:00
parent 1b843a390b
commit 1e1cf0ce21

View File

@@ -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;