Commit 1fc724be authored by Ryan C. Gordon's avatar Ryan C. Gordon

Properly set up default resolutions.

Fixes Bugzilla #1191.

Thanks to Jeremy Jurksztowicz for the fix!
parent dfe63993
...@@ -202,7 +202,7 @@ UIKit_GetDisplayModes(_THIS, SDL_VideoDisplay * display) ...@@ -202,7 +202,7 @@ UIKit_GetDisplayModes(_THIS, SDL_VideoDisplay * display)
static void static void
UIKit_AddDisplay(UIScreen *uiscreen, int w, int h) UIKit_AddDisplay(UIScreen *uiscreen, UIScreenMode *uimode, int w, int h)
{ {
SDL_VideoDisplay display; SDL_VideoDisplay display;
SDL_DisplayMode mode; SDL_DisplayMode mode;
...@@ -211,6 +211,9 @@ UIKit_AddDisplay(UIScreen *uiscreen, int w, int h) ...@@ -211,6 +211,9 @@ UIKit_AddDisplay(UIScreen *uiscreen, int w, int h)
mode.w = w; mode.w = w;
mode.h = h; mode.h = h;
mode.refresh_rate = 0; mode.refresh_rate = 0;
[uimode retain];
mode.driverdata = uimode;
SDL_zero(display); SDL_zero(display);
display.desktop_mode = mode; display.desktop_mode = mode;
...@@ -238,8 +241,9 @@ UIKit_VideoInit(_THIS) ...@@ -238,8 +241,9 @@ UIKit_VideoInit(_THIS)
if (!SDL_UIKit_supports_multiple_displays) { if (!SDL_UIKit_supports_multiple_displays) {
// Just give 'em the whole main screen. // Just give 'em the whole main screen.
UIScreen *uiscreen = [UIScreen mainScreen]; UIScreen *uiscreen = [UIScreen mainScreen];
UIScreenMode *uiscreenmode = [uiscreen currentMode];
const CGRect rect = [uiscreen bounds]; const CGRect rect = [uiscreen bounds];
UIKit_AddDisplay(uiscreen, (int)rect.size.width, (int)rect.size.height); UIKit_AddDisplay(uiscreen, uiscreenmode, (int)rect.size.width, (int)rect.size.height);
} else { } else {
const NSArray *screens = [UIScreen screens]; const NSArray *screens = [UIScreen screens];
const NSUInteger screen_count = [screens count]; const NSUInteger screen_count = [screens count];
...@@ -247,8 +251,9 @@ UIKit_VideoInit(_THIS) ...@@ -247,8 +251,9 @@ UIKit_VideoInit(_THIS)
for (i = 0; i < screen_count; i++) { for (i = 0; i < screen_count; i++) {
// the main screen is the first element in the array. // the main screen is the first element in the array.
UIScreen *uiscreen = (UIScreen *) [screens objectAtIndex:i]; UIScreen *uiscreen = (UIScreen *) [screens objectAtIndex:i];
UIScreenMode *uiscreenmode = [uiscreen currentMode];
const CGSize size = [[uiscreen currentMode] size]; const CGSize size = [[uiscreen currentMode] size];
UIKit_AddDisplay(uiscreen, (int) size.width, (int) size.height); UIKit_AddDisplay(uiscreen, uiscreenmode, (int)size.width, (int)size.height);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment