Mercurial > sdl-ios-xcode
changeset 2789:985001797115
Fixed bug #605, per Martin's suggestion
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 25 Nov 2008 20:06:27 +0000 |
parents | 44be910366a9 |
children | 8c9fa61a521c |
files | src/video/SDL_video.c |
diffstat | 1 files changed, 11 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/video/SDL_video.c Tue Nov 25 08:40:52 2008 +0000 +++ b/src/video/SDL_video.c Tue Nov 25 20:06:27 2008 +0000 @@ -488,11 +488,20 @@ for (i = 0; i < SDL_GetNumDisplayModes(); ++i) { current = &SDL_CurrentDisplay.display_modes[i]; - if ((current->w && current->h) && - (current->w < mode->w || current->h < mode->h)) { + if (current->w && (current->w < mode->w)) { /* Out of sorted modes large enough here */ break; } + if (current->h && (current->h < mode->h)) { + if (current->w && (current->w == mode->w)) { + /* Out of sorted modes large enough here */ + break; + } + /* Wider, but not tall enough, due to a different + aspect ratio. This mode must be skipped, but closer + modes may still follow. */ + continue; + } if (!match || current->w < match->w || current->h < match->h) { match = current; continue;