Fixed crash if SDL_GetDisplays() is called before video is initialized

This commit is contained in:
Sam Lantinga
2023-03-29 14:44:03 -07:00
parent aec0cfe5ee
commit c3d3c2c672

View File

@@ -744,6 +744,13 @@ SDL_DisplayID *SDL_GetDisplays(int *count)
int i; int i;
SDL_DisplayID *displays; SDL_DisplayID *displays;
if (!_this) {
if (count) {
*count = 0;
}
return SDL_UninitializedVideo();
}
displays = (SDL_DisplayID *)SDL_malloc((_this->num_displays + 1) * sizeof(*displays)); displays = (SDL_DisplayID *)SDL_malloc((_this->num_displays + 1) * sizeof(*displays));
if (displays) { if (displays) {
if (count) { if (count) {
@@ -794,8 +801,7 @@ int SDL_GetDisplayIndex(SDL_DisplayID displayID)
int display_index; int display_index;
if (!_this) { if (!_this) {
SDL_UninitializedVideo(); return SDL_UninitializedVideo();
return -1;
} }
for (display_index = 0; display_index < _this->num_displays; ++display_index) { for (display_index = 0; display_index < _this->num_displays; ++display_index) {