mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-04-04 14:49:40 +00:00
video: Fix memory leak when deleting a video display
The display deletion code would not free the driver data or name if the display index was the last, or only one, in the list.
This commit is contained in:
@@ -677,9 +677,9 @@ void SDL_DelVideoDisplay(int index)
|
||||
|
||||
SDL_SendDisplayEvent(&_this->displays[index], SDL_DISPLAYEVENT_DISCONNECTED, 0);
|
||||
|
||||
SDL_free(_this->displays[index].driverdata);
|
||||
SDL_free(_this->displays[index].name);
|
||||
if (index < (_this->num_displays - 1)) {
|
||||
SDL_free(_this->displays[index].driverdata);
|
||||
SDL_free(_this->displays[index].name);
|
||||
SDL_memmove(&_this->displays[index], &_this->displays[index + 1], (_this->num_displays - index - 1) * sizeof(_this->displays[index]));
|
||||
}
|
||||
--_this->num_displays;
|
||||
|
||||
Reference in New Issue
Block a user