Fixed memory leak when removing existing displays
(cherry picked from commit cfc7cac3c9f33fada3d3da1ba974f33ddb4ddfc5)main
parent
653e484da1
commit
98fa97de91
|
@ -623,6 +623,7 @@ void SDL_DelVideoDisplay(int index)
|
||||||
SDL_SendDisplayEvent(&_this->displays[index], SDL_DISPLAYEVENT_DISCONNECTED, 0);
|
SDL_SendDisplayEvent(&_this->displays[index], SDL_DISPLAYEVENT_DISCONNECTED, 0);
|
||||||
|
|
||||||
if (index < (_this->num_displays - 1)) {
|
if (index < (_this->num_displays - 1)) {
|
||||||
|
SDL_free(_this->displays[index].driverdata);
|
||||||
SDL_memmove(&_this->displays[index], &_this->displays[index + 1], (_this->num_displays - index - 1) * sizeof(_this->displays[index]));
|
SDL_memmove(&_this->displays[index], &_this->displays[index + 1], (_this->num_displays - index - 1) * sizeof(_this->displays[index]));
|
||||||
}
|
}
|
||||||
--_this->num_displays;
|
--_this->num_displays;
|
||||||
|
|
Loading…
Reference in New Issue