From: <li...@us...> - 2003-07-29 21:26:04
|
Update of /cvsroot/alleg/allegro/src/macosx In directory sc8-pr-cvs1:/tmp/cvs-serv10647/src/macosx Modified Files: main.m Log Message: Little changes to let application bundles accept files dragged onto the app icon (the filename is passed as argument to the exe) Index: main.m =================================================================== RCS file: /cvsroot/alleg/allegro/src/macosx/main.m,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- main.m 22 Jun 2003 14:06:01 -0000 1.14 +++ main.m 29 Jul 2003 18:57:42 -0000 1.15 @@ -33,7 +33,7 @@ extern char **__crt0_argv; extern void *_mangled_main_address; -static char *arg0; +static char *arg0, *arg1 = NULL; static int refresh_rate = 70; @@ -52,6 +52,13 @@ @implementation AllegroAppDelegate +- (BOOL)application: (NSApplication *)theApplication openFile: (NSString *)filename +{ + arg1 = strdup([filename lossyCString]); +} + + + /* applicationDidFinishLaunching: * Called when the app is ready to run. This runs the system events pump and * updates the app window if it exists. @@ -84,8 +91,17 @@ chdir(path); osx_bundle = [NSBundle mainBundle]; arg0 = strdup([[osx_bundle bundlePath] lossyCString]); - __crt0_argv = &arg0; - __crt0_argc = 1; + if (arg1) { + static char *args[2]; + args[0] = arg0; + args[1] = arg1; + __crt0_argv = args; + __crt0_argc = 2; + } + else { + __crt0_argv = &arg0; + __crt0_argc = 1; + } } /* QuickTime Note Allocator seems not to like being initialized from a |