Mir: Fixed crash if allocating memory for cursor failed.
parent
697984df20
commit
92209c260d
|
@ -59,6 +59,8 @@ MIR_CreateDefaultCursor()
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
SDL_OutOfMemory();
|
SDL_OutOfMemory();
|
||||||
|
SDL_free(cursor);
|
||||||
|
cursor = NULL;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -108,7 +110,13 @@ MIR_CreateCursor(SDL_Surface* surface, int hot_x, int hot_y)
|
||||||
|
|
||||||
MIR_Data* mir_data = (MIR_Data*)SDL_GetVideoDevice()->driverdata;
|
MIR_Data* mir_data = (MIR_Data*)SDL_GetVideoDevice()->driverdata;
|
||||||
SDL_Cursor* cursor = MIR_CreateDefaultCursor();
|
SDL_Cursor* cursor = MIR_CreateDefaultCursor();
|
||||||
MIR_Cursor* mir_cursor = (MIR_Cursor*)cursor->driverdata;
|
MIR_Cursor* mir_cursor;
|
||||||
|
|
||||||
|
if (!cursor) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
mir_cursor = (MIR_Cursor*)cursor->driverdata;
|
||||||
|
|
||||||
stream = MIR_mir_connection_create_buffer_stream_sync(mir_data->connection,
|
stream = MIR_mir_connection_create_buffer_stream_sync(mir_data->connection,
|
||||||
s_w, s_h, mir_data->pixel_format,
|
s_w, s_h, mir_data->pixel_format,
|
||||||
|
@ -132,6 +140,10 @@ MIR_CreateSystemCursor(SDL_SystemCursor id)
|
||||||
MirCursorConfiguration* conf;
|
MirCursorConfiguration* conf;
|
||||||
SDL_Cursor* cursor = MIR_CreateDefaultCursor();
|
SDL_Cursor* cursor = MIR_CreateDefaultCursor();
|
||||||
|
|
||||||
|
if (!cursor) {
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
switch(id) {
|
switch(id) {
|
||||||
case SDL_SYSTEM_CURSOR_ARROW:
|
case SDL_SYSTEM_CURSOR_ARROW:
|
||||||
cursor_name = MIR_mir_arrow_cursor_name;
|
cursor_name = MIR_mir_arrow_cursor_name;
|
||||||
|
|
Loading…
Reference in New Issue