[Commits] SDL: Properly set up default resolutions.

libsdl.org revision control commits-owner at libsdl.org
Tue Jul 5 19:06:50 PDT 2011


details:   http://hg.libsdl.org/SDL/rev/dd0f52bf2bfa
changeset: 5558:dd0f52bf2bfa
user:      Ryan C. Gordon <icculus at icculus.org>
date:      Tue Jul 05 22:05:56 2011 -0400
description:
Properly set up default resolutions.

Fixes Bugzilla #1191.

Thanks to Jeremy Jurksztowicz for the fix!

diffstat:

 src/video/uikit/SDL_uikitvideo.m |  11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

diffs (44 lines):

diff -r c1ed57cbfd66 -r dd0f52bf2bfa src/video/uikit/SDL_uikitvideo.m
--- a/src/video/uikit/SDL_uikitvideo.m	Wed Jun 22 10:33:48 2011 +0000
+++ b/src/video/uikit/SDL_uikitvideo.m	Tue Jul 05 22:05:56 2011 -0400
@@ -202,7 +202,7 @@
 
 
 static void
-UIKit_AddDisplay(UIScreen *uiscreen, int w, int h)
+UIKit_AddDisplay(UIScreen *uiscreen, UIScreenMode *uimode, int w, int h)
 {
     SDL_VideoDisplay display;
     SDL_DisplayMode mode;
@@ -211,6 +211,9 @@
     mode.w = w;
     mode.h = h;
     mode.refresh_rate = 0;
+    
+    [uimode retain];
+    mode.driverdata = uimode;
 
     SDL_zero(display);
     display.desktop_mode = mode;
@@ -238,8 +241,9 @@
     if (!SDL_UIKit_supports_multiple_displays) {
         // Just give 'em the whole main screen.
         UIScreen *uiscreen = [UIScreen mainScreen];
+        UIScreenMode *uiscreenmode = [uiscreen currentMode];
         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 {
         const NSArray *screens = [UIScreen screens];
         const NSUInteger screen_count = [screens count];
@@ -247,8 +251,9 @@
         for (i = 0; i < screen_count; i++) {
             // the main screen is the first element in the array.
             UIScreen *uiscreen = (UIScreen *) [screens objectAtIndex:i];
+            UIScreenMode *uiscreenmode = [uiscreen currentMode];
             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);
         }
     }
 


More information about the commits mailing list