src/video/SDL_video.c
changeset 2789 985001797115
parent 2787 93764fe8601a
child 2810 27cb878a278e
equal deleted inserted replaced
2788:44be910366a9 2789:985001797115
   486 
   486 
   487     match = NULL;
   487     match = NULL;
   488     for (i = 0; i < SDL_GetNumDisplayModes(); ++i) {
   488     for (i = 0; i < SDL_GetNumDisplayModes(); ++i) {
   489         current = &SDL_CurrentDisplay.display_modes[i];
   489         current = &SDL_CurrentDisplay.display_modes[i];
   490 
   490 
   491         if ((current->w && current->h) &&
   491         if (current->w && (current->w < mode->w)) {
   492             (current->w < mode->w || current->h < mode->h)) {
       
   493             /* Out of sorted modes large enough here */
   492             /* Out of sorted modes large enough here */
   494             break;
   493             break;
       
   494         }
       
   495         if (current->h && (current->h < mode->h)) {
       
   496             if (current->w && (current->w == mode->w)) {
       
   497                 /* Out of sorted modes large enough here */
       
   498                 break;
       
   499             }
       
   500             /* Wider, but not tall enough, due to a different
       
   501                aspect ratio. This mode must be skipped, but closer
       
   502                modes may still follow. */
       
   503             continue;
   495         }
   504         }
   496         if (!match || current->w < match->w || current->h < match->h) {
   505         if (!match || current->w < match->w || current->h < match->h) {
   497             match = current;
   506             match = current;
   498             continue;
   507             continue;
   499         }
   508         }