project_files/HedgewarsMobile/SDL.patch
branch0.9.15
changeset 4773 69f8431a5d20
parent 4454 42bfc1a70968
child 4933 86bd82d58a0b
equal deleted inserted replaced
4771:6bb64d38003e 4773:69f8431a5d20
     1 diff -r d716dff4b13e Xcode-iPhoneOS/SDL/SDLiPhoneOS.xcodeproj/project.pbxproj
     1 diff -r f2c2f0ecba5f Xcode-iPhoneOS/SDL/SDLiPhoneOS.xcodeproj/project.pbxproj
     2 --- a/Xcode-iPhoneOS/SDL/SDLiPhoneOS.xcodeproj/project.pbxproj	Thu Dec 02 11:56:23 2010 -0800
     2 --- a/Xcode-iPhoneOS/SDL/SDLiPhoneOS.xcodeproj/project.pbxproj	Sun Jan 30 13:42:05 2011 -0800
     3 +++ b/Xcode-iPhoneOS/SDL/SDLiPhoneOS.xcodeproj/project.pbxproj	Thu Dec 02 22:38:57 2010 +0100
     3 +++ b/Xcode-iPhoneOS/SDL/SDLiPhoneOS.xcodeproj/project.pbxproj	Mon Jan 31 23:57:58 2011 +0100
     4 @@ -1262,7 +1262,14 @@
     4 @@ -1564,11 +1564,15 @@
     5  			isa = PBXProject;
       
     6  			buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "SDLiPhoneOS" */;
       
     7  			compatibilityVersion = "Xcode 3.1";
       
     8 +			developmentRegion = English;
       
     9  			hasScannedForEncodings = 1;
       
    10 +			knownRegions = (
       
    11 +				English,
       
    12 +				Japanese,
       
    13 +				French,
       
    14 +				German,
       
    15 +			);
       
    16  			mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
       
    17  			projectDirPath = "";
       
    18  			projectRoot = ../..;
       
    19 @@ -1549,15 +1556,19 @@
       
    20  			isa = XCBuildConfiguration;
     5  			isa = XCBuildConfiguration;
    21  			buildSettings = {
     6  			buildSettings = {
    22  				ALWAYS_SEARCH_USER_PATHS = NO;
     7  				ALWAYS_SEARCH_USER_PATHS = NO;
    23 +				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
     8 +				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
    24  				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
     9  				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
    30  				GCC_WARN_UNUSED_VARIABLE = NO;
    15  				GCC_WARN_UNUSED_VARIABLE = NO;
    31 +				HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../include\"";
    16 +				HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../include\"";
    32  				IPHONEOS_DEPLOYMENT_TARGET = 3.1;
    17  				IPHONEOS_DEPLOYMENT_TARGET = 3.1;
    33  				ONLY_ACTIVE_ARCH = NO;
    18  				ONLY_ACTIVE_ARCH = NO;
    34  				PREBINDING = NO;
    19  				PREBINDING = NO;
    35 -				SDKROOT = iphoneos3.2;
    20 @@ -1581,12 +1585,18 @@
    36 +				SDKROOT = iphoneos;
       
    37  				TARGETED_DEVICE_FAMILY = "1,2";
       
    38  			};
       
    39  			name = Debug;
       
    40 @@ -1566,14 +1577,19 @@
       
    41  			isa = XCBuildConfiguration;
    21  			isa = XCBuildConfiguration;
    42  			buildSettings = {
    22  			buildSettings = {
    43  				ALWAYS_SEARCH_USER_PATHS = NO;
    23  				ALWAYS_SEARCH_USER_PATHS = NO;
    44 -				ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)";
    24 -				ARCHS = "$(ARCHS_UNIVERSAL_IPHONE_OS)";
    45 +				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
    25 +				ARCHS = "$(ARCHS_STANDARD_32_BIT)";
    46  				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
    26  				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
    47  				GCC_C_LANGUAGE_STANDARD = c99;
    27  				GCC_C_LANGUAGE_STANDARD = c99;
    48 +				GCC_OPTIMIZATION_LEVEL = 2;
    28 +				GCC_OPTIMIZATION_LEVEL = s;
    49 +				GCC_THUMB_SUPPORT = NO;
    29 +				GCC_THUMB_SUPPORT = NO;
    50 +				GCC_UNROLL_LOOPS = YES;
    30 +				GCC_UNROLL_LOOPS = NO;
    51 +				GCC_VERSION = com.apple.compilers.llvmgcc42;
    31 +				GCC_VERSION = com.apple.compilers.llvmgcc42;
    52  				GCC_WARN_ABOUT_RETURN_TYPE = YES;
    32  				GCC_WARN_ABOUT_RETURN_TYPE = YES;
    53  				GCC_WARN_UNUSED_VARIABLE = NO;
    33  				GCC_WARN_UNUSED_VARIABLE = NO;
    54 +				HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../include\"";
    34 +				HEADER_SEARCH_PATHS = "\"$(SRCROOT)/../../include\"";
    55  				IPHONEOS_DEPLOYMENT_TARGET = 3.1;
    35  				IPHONEOS_DEPLOYMENT_TARGET = 3.1;
       
    36 +				OTHER_CFLAGS = "";
    56  				PREBINDING = NO;
    37  				PREBINDING = NO;
    57 -				SDKROOT = iphoneos3.2;
    38  				SDKROOT = iphoneos;
    58 +				SDKROOT = iphoneos;
       
    59  				TARGETED_DEVICE_FAMILY = "1,2";
    39  				TARGETED_DEVICE_FAMILY = "1,2";
    60  			};
    40 diff -r f2c2f0ecba5f Xcode-iPhoneOS/SDL/testsdl-Info.plist
    61  			name = Release;
    41 --- a/Xcode-iPhoneOS/SDL/testsdl-Info.plist	Sun Jan 30 13:42:05 2011 -0800
    62 diff -r d716dff4b13e Xcode-iPhoneOS/SDL/testsdl-Info.plist
    42 +++ b/Xcode-iPhoneOS/SDL/testsdl-Info.plist	Mon Jan 31 23:57:58 2011 +0100
    63 --- a/Xcode-iPhoneOS/SDL/testsdl-Info.plist	Thu Dec 02 11:56:23 2010 -0800
       
    64 +++ b/Xcode-iPhoneOS/SDL/testsdl-Info.plist	Thu Dec 02 22:38:57 2010 +0100
       
    65 @@ -16,7 +16,5 @@
    43 @@ -16,7 +16,5 @@
    66  	<string>????</string>
    44  	<string>????</string>
    67  	<key>CFBundleVersion</key>
    45  	<key>CFBundleVersion</key>
    68  	<string>1.0</string>
    46  	<string>1.0</string>
    69 -	<key>NSMainNibFile</key>
    47 -	<key>NSMainNibFile</key>
    70 -	<string>MainWindow</string>
    48 -	<string>MainWindow</string>
    71  </dict>
    49  </dict>
    72  </plist>
    50  </plist>
    73 diff -r d716dff4b13e include/SDL_config_iphoneos.h
    51 diff -r f2c2f0ecba5f include/SDL_config_iphoneos.h
    74 --- a/include/SDL_config_iphoneos.h	Thu Dec 02 11:56:23 2010 -0800
    52 --- a/include/SDL_config_iphoneos.h	Sun Jan 30 13:42:05 2011 -0800
    75 +++ b/include/SDL_config_iphoneos.h	Thu Dec 02 22:38:57 2010 +0100
    53 +++ b/include/SDL_config_iphoneos.h	Mon Jan 31 23:57:58 2011 +0100
    76 @@ -98,6 +98,8 @@
    54 @@ -119,7 +119,7 @@
    77  #define HAVE_COS	1
       
    78  #define HAVE_COSF	1
       
    79  #define HAVE_FABS	1
       
    80 +#define HAVE_ATAN       1
       
    81 +#define HAVE_ATAN2      1
       
    82  #define HAVE_FLOOR	1
       
    83  #define HAVE_LOG	1
       
    84  #define HAVE_POW	1
       
    85 @@ -114,7 +116,7 @@
       
    86  /* enable iPhone version of Core Audio driver */
    55  /* enable iPhone version of Core Audio driver */
    87  #define SDL_AUDIO_DRIVER_COREAUDIOIPHONE 1
    56  #define SDL_AUDIO_DRIVER_COREAUDIOIPHONE 1
    88  /* Enable the dummy audio driver (src/audio/dummy/\*.c) */
    57  /* Enable the dummy audio driver (src/audio/dummy/\*.c) */
    89 -#define SDL_AUDIO_DRIVER_DUMMY	1
    58 -#define SDL_AUDIO_DRIVER_DUMMY	1
    90 +#define SDL_AUDIO_DRIVER_DUMMY	0
    59 +#define SDL_AUDIO_DRIVER_DUMMY	0
    91  
    60  
    92  /* Enable the stub haptic driver (src/haptic/dummy/\*.c) */
    61  /* Enable the stub haptic driver (src/haptic/dummy/\*.c) */
    93  #define SDL_HAPTIC_DISABLED	1
    62  #define SDL_HAPTIC_DISABLED	1
    94 @@ -135,7 +137,7 @@
    63 @@ -140,14 +140,17 @@
    95  
    64  
    96  /* Supported video drivers */
    65  /* Supported video drivers */
    97  #define SDL_VIDEO_DRIVER_UIKIT	1
    66  #define SDL_VIDEO_DRIVER_UIKIT	1
    98 -#define SDL_VIDEO_DRIVER_DUMMY	1
    67 -#define SDL_VIDEO_DRIVER_DUMMY	1
    99 +#define SDL_VIDEO_DRIVER_DUMMY	0
    68 +#define SDL_VIDEO_DRIVER_DUMMY	0
   100  
    69  
   101  /* enable OpenGL ES */
    70  /* enable OpenGL ES */
   102  #define SDL_VIDEO_OPENGL_ES	1
    71  #define SDL_VIDEO_OPENGL_ES	1
   103 @@ -152,4 +154,7 @@
    72  #define SDL_VIDEO_RENDER_OGL_ES	1
       
    73  
       
    74  /* Enable system power support */
       
    75 -#define SDL_POWER_UIKIT 1
       
    76 +#define SDL_POWER_UIKIT 0
       
    77 +
       
    78 +/* enable joystick subsystem */
       
    79 +#define SDL_JOYSTICK_DISABLED 1
       
    80  
       
    81  /* enable iPhone keyboard support */
       
    82  #define SDL_IPHONE_KEYBOARD 1
       
    83 @@ -157,4 +160,7 @@
   104   */
    84   */
   105  #define SDL_IPHONE_MAX_GFORCE 5.0
    85  #define SDL_IPHONE_MAX_GFORCE 5.0
   106  
    86  
   107 +/* Tag to grab the uikit view from external code for further modification */
    87 +/* Tag to grab the uikit view from external code for further modification */
   108 +#define SDL_VIEW_TAG 456987
    88 +#define SDL_VIEW_TAG 456987
   109 +
    89 +
   110  #endif /* _SDL_config_iphoneos_h */
    90  #endif /* _SDL_config_iphoneos_h */
   111 diff -r d716dff4b13e src/SDL_fatal.c
    91 diff -r f2c2f0ecba5f src/video/SDL_video.c
   112 --- a/src/SDL_fatal.c	Thu Dec 02 11:56:23 2010 -0800
    92 --- a/src/video/SDL_video.c	Sun Jan 30 13:42:05 2011 -0800
   113 +++ b/src/SDL_fatal.c	Thu Dec 02 22:38:57 2010 +0100
    93 +++ b/src/video/SDL_video.c	Mon Jan 31 23:57:58 2011 +0100
   114 @@ -38,9 +38,9 @@
    94 @@ -1414,9 +1414,9 @@
   115  static void
       
   116  SDL_Parachute(int sig)
       
   117  {
       
   118 -    signal(sig, SIG_DFL);
       
   119 +    /*signal(sig, SIG_DFL);
       
   120      SDL_Quit();
       
   121 -    raise(sig);
       
   122 +    raise(sig);*/
       
   123  }
       
   124  
       
   125  static const int SDL_fatal_signals[] = {
       
   126 diff -r d716dff4b13e src/video/SDL_renderer_gles.c
       
   127 --- a/src/video/SDL_renderer_gles.c	Thu Dec 02 11:56:23 2010 -0800
       
   128 +++ b/src/video/SDL_renderer_gles.c	Thu Dec 02 22:38:57 2010 +0100
       
   129 @@ -324,6 +324,9 @@
       
   130      data->glDisable(GL_CULL_FACE);
       
   131      data->updateSize = SDL_TRUE;
       
   132  
       
   133 +    data->glEnableClientState(GL_VERTEX_ARRAY);
       
   134 +    data->glEnableClientState(GL_TEXTURE_COORD_ARRAY);
       
   135 +    
       
   136      return renderer;
       
   137  }
       
   138  
       
   139 @@ -665,9 +668,7 @@
       
   140          vertices[2*i+1] = (GLshort)points[i].y;
       
   141      }
       
   142      data->glVertexPointer(2, GL_SHORT, 0, vertices);
       
   143 -    data->glEnableClientState(GL_VERTEX_ARRAY);
       
   144      data->glDrawArrays(GL_POINTS, 0, count);
       
   145 -    data->glDisableClientState(GL_VERTEX_ARRAY);
       
   146      SDL_stack_free(vertices);
       
   147  
       
   148      return 0;
       
   149 @@ -694,7 +695,6 @@
       
   150          vertices[2*i+1] = (GLshort)points[i].y;
       
   151      }
       
   152      data->glVertexPointer(2, GL_SHORT, 0, vertices);
       
   153 -    data->glEnableClientState(GL_VERTEX_ARRAY);
       
   154      if (count > 2 && 
       
   155          points[0].x == points[count-1].x && points[0].y == points[count-1].y) {
       
   156          /* GL_LINE_LOOP takes care of the final segment */
       
   157 @@ -703,7 +703,6 @@
       
   158      } else {
       
   159          data->glDrawArrays(GL_LINE_STRIP, 0, count);
       
   160      }
       
   161 -    data->glDisableClientState(GL_VERTEX_ARRAY);
       
   162      SDL_stack_free(vertices);
       
   163  
       
   164      return 0;
       
   165 @@ -723,7 +722,6 @@
       
   166                      (GLfloat) renderer->b * inv255f,
       
   167                      (GLfloat) renderer->a * inv255f);
       
   168  
       
   169 -    data->glEnableClientState(GL_VERTEX_ARRAY);
       
   170      for (i = 0; i < count; ++i) {
       
   171          const SDL_Rect *rect = rects[i];
       
   172          GLshort minx = rect->x;
       
   173 @@ -743,7 +741,6 @@
       
   174          data->glVertexPointer(2, GL_SHORT, 0, vertices);
       
   175          data->glDrawArrays(GL_LINE_LOOP, 0, 4);
       
   176      }
       
   177 -    data->glDisableClientState(GL_VERTEX_ARRAY);
       
   178  
       
   179      return 0;
       
   180  }
       
   181 @@ -762,7 +759,6 @@
       
   182                      (GLfloat) renderer->b * inv255f,
       
   183                      (GLfloat) renderer->a * inv255f);
       
   184  
       
   185 -    data->glEnableClientState(GL_VERTEX_ARRAY);
       
   186      for (i = 0; i < count; ++i) {
       
   187          const SDL_Rect *rect = rects[i];
       
   188          GLshort minx = rect->x;
       
   189 @@ -782,7 +778,6 @@
       
   190          data->glVertexPointer(2, GL_SHORT, 0, vertices);
       
   191          data->glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
       
   192      }
       
   193 -    data->glDisableClientState(GL_VERTEX_ARRAY);
       
   194  
       
   195      return 0;
       
   196  }
       
   197 @@ -925,12 +920,8 @@
       
   198          texCoords[7] = maxv;
       
   199  
       
   200          data->glVertexPointer(2, GL_SHORT, 0, vertices);
       
   201 -        data->glEnableClientState(GL_VERTEX_ARRAY);
       
   202          data->glTexCoordPointer(2, GL_FLOAT, 0, texCoords);
       
   203 -        data->glEnableClientState(GL_TEXTURE_COORD_ARRAY);
       
   204          data->glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
       
   205 -        data->glDisableClientState(GL_TEXTURE_COORD_ARRAY);
       
   206 -        data->glDisableClientState(GL_VERTEX_ARRAY);
       
   207      }
       
   208  
       
   209      data->glDisable(GL_TEXTURE_2D);
       
   210 diff -r d716dff4b13e src/video/SDL_video.c
       
   211 --- a/src/video/SDL_video.c	Thu Dec 02 11:56:23 2010 -0800
       
   212 +++ b/src/video/SDL_video.c	Thu Dec 02 22:38:57 2010 +0100
       
   213 @@ -1421,9 +1421,9 @@
       
   214          SDL_MinimizeWindow(window);
    95          SDL_MinimizeWindow(window);
   215      }
    96      }
   216  
    97  
   217 -    if (display->gamma && _this->SetDisplayGammaRamp) {
    98 -    if (display->gamma && _this->SetDisplayGammaRamp) {
   218 +    /*if (display->gamma && _this->SetDisplayGammaRamp) {
    99 +    /*if (display->gamma && _this->SetDisplayGammaRamp) {
   220 -    }
   101 -    }
   221 +    }*/
   102 +    }*/
   222      if ((window->flags & (SDL_WINDOW_INPUT_GRABBED | SDL_WINDOW_FULLSCREEN))
   103      if ((window->flags & (SDL_WINDOW_INPUT_GRABBED | SDL_WINDOW_FULLSCREEN))
   223          && _this->SetWindowGrab) {
   104          && _this->SetWindowGrab) {
   224          _this->SetWindowGrab(_this, window);
   105          _this->SetWindowGrab(_this, window);
   225 diff -r d716dff4b13e src/video/uikit/SDL_uikitopengles.m
   106 diff -r f2c2f0ecba5f src/video/uikit/SDL_uikitopengles.m
   226 --- a/src/video/uikit/SDL_uikitopengles.m	Thu Dec 02 11:56:23 2010 -0800
   107 --- a/src/video/uikit/SDL_uikitopengles.m	Sun Jan 30 13:42:05 2011 -0800
   227 +++ b/src/video/uikit/SDL_uikitopengles.m	Thu Dec 02 22:38:57 2010 +0100
   108 +++ b/src/video/uikit/SDL_uikitopengles.m	Mon Jan 31 23:57:58 2011 +0100
   228 @@ -114,8 +114,8 @@
   109 @@ -115,6 +115,7 @@
   229  									bBits: _this->gl_config.blue_size \
       
   230  									aBits: _this->gl_config.alpha_size \
   110  									aBits: _this->gl_config.alpha_size \
   231  									depthBits: _this->gl_config.depth_size];
   111  									depthBits: _this->gl_config.depth_size];
   232 -	
   112  	
   233 -	data->view = view;
   113 +	view.tag = SDL_VIEW_TAG;
   234 +        view.tag = SDL_VIEW_TAG;
   114  	data->view = view;
   235 +        data->view = view;
       
   236  	
   115  	
   237  	/* add the view to our window */
   116  	/* add the view to our window */
   238  	[uiwindow addSubview: view ];
   117 diff -r f2c2f0ecba5f src/video/uikit/SDL_uikitopenglview.m
   239 diff -r d716dff4b13e src/video/uikit/SDL_uikitopenglview.m
   118 --- a/src/video/uikit/SDL_uikitopenglview.m	Sun Jan 30 13:42:05 2011 -0800
   240 --- a/src/video/uikit/SDL_uikitopenglview.m	Thu Dec 02 11:56:23 2010 -0800
   119 +++ b/src/video/uikit/SDL_uikitopenglview.m	Mon Jan 31 23:57:58 2011 +0100
   241 +++ b/src/video/uikit/SDL_uikitopenglview.m	Thu Dec 02 22:38:57 2010 +0100
       
   242 @@ -117,6 +117,8 @@
   120 @@ -117,6 +117,8 @@
   243  			return NO;
   121  			return NO;
   244  		}
   122  		}
   245  		/* end create buffers */
   123  		/* end create buffers */
   246 +            if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
   124 +            if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)])
   247 +                self.contentScaleFactor = [UIScreen mainScreen].scale;
   125 +                self.contentScaleFactor = [UIScreen mainScreen].scale;
   248  	}
   126  	}
   249  	return self;
   127  	return self;
   250  }
   128  }
   251 diff -r d716dff4b13e src/video/uikit/SDL_uikitview.h
   129 diff -r f2c2f0ecba5f src/video/uikit/SDL_uikitview.h
   252 --- a/src/video/uikit/SDL_uikitview.h	Thu Dec 02 11:56:23 2010 -0800
   130 --- a/src/video/uikit/SDL_uikitview.h	Sun Jan 30 13:42:05 2011 -0800
   253 +++ b/src/video/uikit/SDL_uikitview.h	Thu Dec 02 22:38:57 2010 +0100
   131 +++ b/src/video/uikit/SDL_uikitview.h	Mon Jan 31 23:57:58 2011 +0100
   254 @@ -23,11 +23,11 @@
   132 @@ -23,11 +23,11 @@
   255  #include "SDL_stdinc.h"
   133  #include "SDL_stdinc.h"
   256  #include "SDL_events.h"
   134  #include "SDL_events.h"
   257  
   135  
   258 -#define IPHONE_TOUCH_EFFICIENT_DANGEROUS
   136 -#define IPHONE_TOUCH_EFFICIENT_DANGEROUS
   264 -#define MAX_SIMULTANEOUS_TOUCHES 5
   142 -#define MAX_SIMULTANEOUS_TOUCHES 5
   265 +#define MAX_SIMULTANEOUS_TOUCHES 0
   143 +#define MAX_SIMULTANEOUS_TOUCHES 0
   266  #endif
   144  #endif
   267  
   145  
   268  /* *INDENT-OFF* */
   146  /* *INDENT-OFF* */
   269 diff -r d716dff4b13e src/video/uikit/SDL_uikitview.m
   147 diff -r f2c2f0ecba5f src/video/uikit/SDL_uikitview.m
   270 --- a/src/video/uikit/SDL_uikitview.m	Thu Dec 02 11:56:23 2010 -0800
   148 --- a/src/video/uikit/SDL_uikitview.m	Sun Jan 30 13:42:05 2011 -0800
   271 +++ b/src/video/uikit/SDL_uikitview.m	Thu Dec 02 22:38:57 2010 +0100
   149 +++ b/src/video/uikit/SDL_uikitview.m	Mon Jan 31 23:57:58 2011 +0100
   272 @@ -35,9 +35,6 @@
   150 @@ -298,6 +298,7 @@
   273  @implementation SDL_uikitview
       
   274  
       
   275  - (void)dealloc {
       
   276 -#if SDL_IPHONE_KEYBOARD
       
   277 -	[textField release];
       
   278 -#endif
       
   279  	[super dealloc];
       
   280  }
       
   281  
       
   282 @@ -220,7 +217,7 @@
       
   283  /* Set ourselves up as a UITextFieldDelegate */
       
   284  - (void)initializeKeyboard {
       
   285  		
       
   286 -	textField = [[[UITextField alloc] initWithFrame: CGRectZero] autorelease];
       
   287 +	textField = [[UITextField alloc] initWithFrame: CGRectZero];
       
   288  	textField.delegate = self;
       
   289  	/* placeholder so there is something to delete! */
       
   290  	textField.text = @" ";	
       
   291 @@ -238,6 +235,7 @@
       
   292  	keyboardVisible = NO;
       
   293  	/* add the UITextField (hidden) to our view */
       
   294  	[self addSubview: textField];
       
   295 +        [textField release];
       
   296  }
       
   297  
       
   298  /* reveal onscreen virtual keyboard */
       
   299 @@ -300,6 +298,7 @@
       
   300  
   151  
   301  /* Terminates the editing session */
   152  /* Terminates the editing session */
   302  - (BOOL)textFieldShouldReturn:(UITextField*)_textField {
   153  - (BOOL)textFieldShouldReturn:(UITextField*)_textField {
   303 +        SDL_SendKeyboardKey(SDL_PRESSED, SDL_SCANCODE_RETURN);
   154 +	SDL_SendKeyboardKey(SDL_PRESSED, SDL_SCANCODE_RETURN);
   304  	[self hideKeyboard];
   155  	[self hideKeyboard];
   305  	return YES;
   156  	return YES;
   306  }
   157  }
   307 @@ -314,7 +313,7 @@
   158 @@ -312,7 +313,7 @@
   308  int SDL_iPhoneKeyboardShow(SDL_Window * window) {
   159  int SDL_iPhoneKeyboardShow(SDL_Window * window) {
   309  	
   160  	
   310  	SDL_WindowData *data;
   161  	SDL_WindowData *data;
   311 -	SDL_uikitview *view;
   162 -	SDL_uikitview *view;
   312 +	SDL_uikitview *view = NULL;
   163 +	SDL_uikitview *view = NULL;
   313  	
   164  	
   314  	if (NULL == window) {
   165  	if (NULL == window) {
   315  		SDL_SetError("Window does not exist");
   166  		SDL_SetError("Window does not exist");
   316 @@ -322,7 +321,8 @@
   167 @@ -320,7 +321,8 @@
   317  	}
   168  	}
   318  	
   169  	
   319  	data = (SDL_WindowData *)window->driverdata;
   170  	data = (SDL_WindowData *)window->driverdata;
   320 -	view = data->view;
   171 -	view = data->view;
   321 +	if (data != NULL)
   172 +	if (data != NULL)
   322 +            view = data->view;
   173 +            view = data->view;
   323  	
   174  	
   324  	if (nil == view) {
   175  	if (nil == view) {
   325  		SDL_SetError("Window has no view");
   176  		SDL_SetError("Window has no view");
   326 @@ -337,7 +337,7 @@
   177 @@ -335,7 +337,7 @@
   327  int SDL_iPhoneKeyboardHide(SDL_Window * window) {
   178  int SDL_iPhoneKeyboardHide(SDL_Window * window) {
   328  	
   179  	
   329  	SDL_WindowData *data;
   180  	SDL_WindowData *data;
   330 -	SDL_uikitview *view;
   181 -	SDL_uikitview *view;
   331 +	SDL_uikitview *view = NULL;
   182 +	SDL_uikitview *view = NULL;
   332  	
   183  	
   333  	if (NULL == window) {
   184  	if (NULL == window) {
   334  		SDL_SetError("Window does not exist");
   185  		SDL_SetError("Window does not exist");
   335 @@ -345,7 +345,8 @@
   186 @@ -343,7 +345,8 @@
   336  	}	
   187  	}	
   337  	
   188  	
   338  	data = (SDL_WindowData *)window->driverdata;
   189  	data = (SDL_WindowData *)window->driverdata;
   339 -	view = data->view;
   190 -	view = data->view;
   340 +	if (data != NULL)
   191 +	if (data != NULL)
   341 +            view = data->view;
   192 +            view = data->view;
   342  	
   193  	
   343  	if (NULL == view) {
   194  	if (NULL == view) {
   344  		SDL_SetError("Window has no view");
   195  		SDL_SetError("Window has no view");
   345 @@ -360,7 +361,7 @@
   196 @@ -358,7 +361,7 @@
   346  SDL_bool SDL_iPhoneKeyboardIsShown(SDL_Window * window) {
   197  SDL_bool SDL_iPhoneKeyboardIsShown(SDL_Window * window) {
   347  	
   198  	
   348  	SDL_WindowData *data;
   199  	SDL_WindowData *data;
   349 -	SDL_uikitview *view;
   200 -	SDL_uikitview *view;
   350 +	SDL_uikitview *view = NULL;
   201 +	SDL_uikitview *view = NULL;
   351  	
   202  	
   352  	if (NULL == window) {
   203  	if (NULL == window) {
   353  		SDL_SetError("Window does not exist");
   204  		SDL_SetError("Window does not exist");
   354 @@ -368,7 +369,8 @@
   205 @@ -366,7 +369,8 @@
   355  	}	
   206  	}	
   356  	
   207  	
   357  	data = (SDL_WindowData *)window->driverdata;
   208  	data = (SDL_WindowData *)window->driverdata;
   358 -	view = data->view;
   209 -	view = data->view;
   359 +	if (data != NULL)
   210 +	if (data != NULL)
   360 +            view = data->view;
   211 +            view = data->view;
   361  	
   212  	
   362  	if (NULL == view) {
   213  	if (NULL == view) {
   363  		SDL_SetError("Window has no view");
   214  		SDL_SetError("Window has no view");
   364 @@ -382,7 +384,7 @@
   215 @@ -380,7 +384,7 @@
   365  int SDL_iPhoneKeyboardToggle(SDL_Window * window) {
   216  int SDL_iPhoneKeyboardToggle(SDL_Window * window) {
   366  	
   217  	
   367  	SDL_WindowData *data;
   218  	SDL_WindowData *data;
   368 -	SDL_uikitview *view;
   219 -	SDL_uikitview *view;
   369 +	SDL_uikitview *view = NULL;
   220 +	SDL_uikitview *view = NULL;
   370  	
   221  	
   371  	if (NULL == window) {
   222  	if (NULL == window) {
   372  		SDL_SetError("Window does not exist");
   223  		SDL_SetError("Window does not exist");
   373 @@ -390,7 +392,8 @@
   224 @@ -388,7 +392,8 @@
   374  	}	
   225  	}	
   375  	
   226  	
   376  	data = (SDL_WindowData *)window->driverdata;
   227  	data = (SDL_WindowData *)window->driverdata;
   377 -	view = data->view;
   228 -	view = data->view;
   378 +	if (data != NULL)
   229 +	if (data != NULL)
   379 +            view = data->view;
   230 +            view = data->view;
   380  	
   231  	
   381  	if (NULL == view) {
   232  	if (NULL == view) {
   382  		SDL_SetError("Window has no view");
   233  		SDL_SetError("Window has no view");
   383 diff -r d716dff4b13e src/video/uikit/SDL_uikitwindow.m
   234 diff -r f2c2f0ecba5f src/video/uikit/SDL_uikitwindow.m
   384 --- a/src/video/uikit/SDL_uikitwindow.m	Thu Dec 02 11:56:23 2010 -0800
   235 --- a/src/video/uikit/SDL_uikitwindow.m	Sun Jan 30 13:42:05 2011 -0800
   385 +++ b/src/video/uikit/SDL_uikitwindow.m	Thu Dec 02 22:38:57 2010 +0100
   236 +++ b/src/video/uikit/SDL_uikitwindow.m	Mon Jan 31 23:57:58 2011 +0100
   386 @@ -144,7 +144,10 @@
   237 @@ -145,7 +145,10 @@
   387      if (SDL_UIKit_supports_multiple_displays) {
   238      if (SDL_UIKit_supports_multiple_displays) {
   388          [uiwindow setScreen:uiscreen];
   239          [uiwindow setScreen:uiscreen];
   389      }
   240      }
   390 -
   241 -
   391 +    
   242 +    
   393 +        uiwindow.screen = [[UIScreen screens] objectAtIndex:1];
   244 +        uiwindow.screen = [[UIScreen screens] objectAtIndex:1];
   394 +    
   245 +    
   395      if (SetupWindowData(_this, window, uiwindow, SDL_TRUE) < 0) {
   246      if (SetupWindowData(_this, window, uiwindow, SDL_TRUE) < 0) {
   396          [uiwindow release];
   247          [uiwindow release];
   397          return -1;
   248          return -1;
   398 diff -r d716dff4b13e src/video/uikit/keyinfotable.h
   249 diff -r f2c2f0ecba5f src/video/uikit/keyinfotable.h
   399 --- a/src/video/uikit/keyinfotable.h	Thu Dec 02 11:56:23 2010 -0800
   250 --- a/src/video/uikit/keyinfotable.h	Sun Jan 30 13:42:05 2011 -0800
   400 +++ b/src/video/uikit/keyinfotable.h	Thu Dec 02 22:38:57 2010 +0100
   251 +++ b/src/video/uikit/keyinfotable.h	Mon Jan 31 23:57:58 2011 +0100
   401 @@ -54,7 +54,7 @@
   252 @@ -54,7 +54,7 @@
   402  /*  10 */ {   SDL_SCANCODE_UNKNOWN, 0 },
   253  /*  10 */ {   SDL_SCANCODE_UNKNOWN, 0 },
   403  /*  11 */ {   SDL_SCANCODE_UNKNOWN, 0 },
   254  /*  11 */ {   SDL_SCANCODE_UNKNOWN, 0 },
   404  /*  12 */ {   SDL_SCANCODE_UNKNOWN, 0 },
   255  /*  12 */ {   SDL_SCANCODE_UNKNOWN, 0 },
   405 -/*  13 */ {   SDL_SCANCODE_UNKNOWN, 0 },
   256 -/*  13 */ {   SDL_SCANCODE_UNKNOWN, 0 },