diff --git a/ChangeLog b/ChangeLog index 66a27c6fd..0e965ca4e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,10 @@ -Fri Jan 7 18:37:00 2000 Richard Frith-Macdonald +Fri Jan 7 10:32:00 2000 Richard Frith-Macdonald + + * Source/Functions.m: NSApplicationMain() added suggestions from + karl@nfox.com to destroy application before exit and log if the + info file contains an invalid class. + +Fri Jan 7 8:37:00 2000 Richard Frith-Macdonald * Source/NSApplication.m: ([-finishLoading]) add support for loading main nib. diff --git a/Source/Functions.m b/Source/Functions.m index 4b3bbfcc4..6af0a9196 100644 --- a/Source/Functions.m +++ b/Source/Functions.m @@ -41,11 +41,10 @@ char **NSArgv = NULL; int NSApplicationMain(int argc, const char **argv) { - NSAutoreleasePool *pool; NSDictionary *infoDict; NSString *className; Class appClass; - + CREATE_AUTORELEASE_POOL(pool); #if LIB_FOUNDATION_LIBRARY extern char **environ; @@ -54,8 +53,6 @@ NSApplicationMain(int argc, const char **argv) environment: environ]; #endif - pool = [NSAutoreleasePool new]; - #ifndef NX_CURRENT_COMPILER_RELEASE initialize_gnustep_backend(); #endif @@ -66,12 +63,15 @@ NSApplicationMain(int argc, const char **argv) if (appClass == 0) { + NSLog(@"Bad application class '%@' specified", className); appClass = [NSApplication class]; } [[appClass sharedApplication] run]; - [pool release]; + DESTROY(NSApp); + + RELEASE(pool); return 0; } diff --git a/Source/NSApplication.m b/Source/NSApplication.m index 44eeb8a94..f14a1adef 100644 --- a/Source/NSApplication.m +++ b/Source/NSApplication.m @@ -277,7 +277,7 @@ static NSCell* tileCell = nil; NSAppIconView *iv; if (app_icon == nil) - app_icon = [[NSImage imageNamed: @"GNUstep"] retain]; + app_icon = RETAIN([NSImage imageNamed: @"GNUstep"]); _app_icon_window = [[NSIconWindow alloc] initWithContentRect: NSMakeRect(0,0,64,64) @@ -562,9 +562,9 @@ static NSCell* tileCell = nil; { if ([NSBundle loadNibNamed: mainModelFile owner: self] == NO) { - if (![GMModel loadIMFile: mainModelFile - owner: [NSApplication sharedApplication]]) - NSLog (@"Cannot load the main model file '%@", mainModelFile); + if ([GMModel loadIMFile: mainModelFile + owner: self] == NO) + NSLog (@"Cannot load the main model file '%@'", mainModelFile); } }