Fixed crash when trying to disconnect secondary display on iOS
(cherry picked from commit 934d6954e2)
This commit is contained in:
1 parent
97002d81a7
commit
1650c0289d
2 files changed
+3
No files matched your search
@@ -688,7 +688,9 @@ void SDL_DelVideoDisplay(int index)
|
|||||||
SDL_SendDisplayEvent(&_this->displays[index], SDL_DISPLAYEVENT_DISCONNECTED, 0);
|
SDL_SendDisplayEvent(&_this->displays[index], SDL_DISPLAYEVENT_DISCONNECTED, 0);
|
||||||
|
|
||||||
SDL_free(_this->displays[index].driverdata);
|
SDL_free(_this->displays[index].driverdata);
|
||||||
|
_this->displays[index].driverdata = NULL;
|
||||||
SDL_free(_this->displays[index].name);
|
SDL_free(_this->displays[index].name);
|
||||||
|
_this->displays[index].name = NULL;
|
||||||
if (index < (_this->num_displays - 1)) {
|
if (index < (_this->num_displays - 1)) {
|
||||||
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]));
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -344,6 +344,7 @@ void UIKit_DelDisplay(UIScreen *uiscreen)
|
|||||||
|
|
||||||
if (data && data.uiscreen == uiscreen) {
|
if (data && data.uiscreen == uiscreen) {
|
||||||
CFRelease(SDL_GetDisplayDriverData(i));
|
CFRelease(SDL_GetDisplayDriverData(i));
|
||||||
|
SDL_GetDisplay(i)->driverdata = NULL;
|
||||||
SDL_DelVideoDisplay(i);
|
SDL_DelVideoDisplay(i);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in new issue
Block a user