Mercurial > sdl-ios-xcode
changeset 3422:ec4db979dddb
Fixed bug #847
Roger Willcocks 2009-10-25 08:45:37 PDT
appDidFinishLaunching is triggered before all the setup's complete. The easiest
fix is to arrange for another event to be sent when it's really ready, and run
SDL_main from there. Ref.
http://blog.rightsprite.com/2008/11/iphone-applicationdidfinishlaunching.html
SDL-1.3.0-4563/src/video/uikit/SDL_uikitappdelegate.m:
- (void)postFinishLaunch {
/* run the user's application, passing argc and argv */
int exit_status = SDL_main(forward_argc, forward_argv);
/* free the memory we used to hold copies of argc and argv */
int i;
for (i=0; i<forward_argc; i++) {
free(forward_argv[i]);
}
free(forward_argv);
/* exit, passing the return status from the user's application */
exit(exit_status);
}
- (void)applicationDidFinishLaunching:(UIApplication *)application {
/* Set working directory to resource path */
[[NSFileManager defaultManager] changeCurrentDirectoryPath: [[NSBundle
mainBundle] resourcePath]];
[self performSelector:@selector(postFinishLaunch) withObject:nil
afterDelay:0.0];
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 02 Nov 2009 07:55:42 +0000 |
parents | 7bc83a9e09fd |
children | 45ad54b4d9d6 |
files | src/video/uikit/SDL_uikitappdelegate.m |
diffstat | 1 files changed, 11 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/video/uikit/SDL_uikitappdelegate.m Fri Oct 30 05:02:47 2009 +0000 +++ b/src/video/uikit/SDL_uikitappdelegate.m Mon Nov 02 07:55:42 2009 +0000 @@ -71,11 +71,8 @@ return self; } -- (void)applicationDidFinishLaunching:(UIApplication *)application { - - /* Set working directory to resource path */ - [[NSFileManager defaultManager] changeCurrentDirectoryPath: [[NSBundle mainBundle] resourcePath]]; - +- (void)postFinishLaunch { + /* run the user's application, passing argc and argv */ int exit_status = SDL_main(forward_argc, forward_argv); @@ -88,7 +85,15 @@ /* exit, passing the return status from the user's application */ exit(exit_status); - +} + +- (void)applicationDidFinishLaunching:(UIApplication *)application { + + /* Set working directory to resource path */ + [[NSFileManager defaultManager] changeCurrentDirectoryPath: [[NSBundle mainBundle] resourcePath]]; + + [self performSelector:@selector(postFinishLaunch) withObject:nil +afterDelay:0.0]; } - (void)applicationWillTerminate:(UIApplication *)application {