7159381: [macosx] Dock Icon defaults to Generic Java Application Category

Reviewed-by: anthony
This commit is contained in:
Leonid Romanov 2012-08-13 17:53:56 +04:00
parent dd32d97101
commit 402fcded14
2 changed files with 5 additions and 11 deletions

View file

@ -28,7 +28,6 @@
@interface NSApplicationAWT : NSApplication { @interface NSApplicationAWT : NSApplication {
NSString *fApplicationName; NSString *fApplicationName;
BOOL fUseDefaultIcon;
NSWindow *eventTransparentWindow; NSWindow *eventTransparentWindow;
} }

View file

@ -52,7 +52,6 @@ BOOL postEventDuringEventSynthesis = NO;
AWT_ASSERT_APPKIT_THREAD; AWT_ASSERT_APPKIT_THREAD;
fApplicationName = nil; fApplicationName = nil;
fUseDefaultIcon = NO;
// NSApplication will call _RegisterApplication with the application's bundle, but there may not be one. // NSApplication will call _RegisterApplication with the application's bundle, but there may not be one.
// So, we need to call it ourselves to ensure the app is set up properly. // So, we need to call it ourselves to ensure the app is set up properly.
@ -147,10 +146,6 @@ AWT_ASSERT_APPKIT_THREAD;
if (appName != NULL) { if (appName != NULL) {
fApplicationName = [NSString stringWithUTF8String:appName]; fApplicationName = [NSString stringWithUTF8String:appName];
unsetenv(envVar); unsetenv(envVar);
// If this environment variable was set we were launched from the command line, so we
// should use a generic app icon if one wasn't set.
fUseDefaultIcon = YES;
} }
// If it wasn't specified as an argument, see if it was specified as a system property. // If it wasn't specified as an argument, see if it was specified as a system property.
@ -171,9 +166,6 @@ AWT_ASSERT_APPKIT_THREAD;
if (lastPeriod.location != NSNotFound) { if (lastPeriod.location != NSNotFound) {
fApplicationName = [fApplicationName substringFromIndex:lastPeriod.location + 1]; fApplicationName = [fApplicationName substringFromIndex:lastPeriod.location + 1];
} }
// If this environment variable was set we were launched from the command line, so we
// should use a generic app icon if one wasn't set.
fUseDefaultIcon = YES;
} }
} }
@ -266,9 +258,12 @@ AWT_ASSERT_APPKIT_THREAD;
// If the icon file wasn't specified as an argument and we need to get an icon // If the icon file wasn't specified as an argument and we need to get an icon
// we'll use the generic java app icon. // we'll use the generic java app icon.
NSString *defaultIconPath = [NSString stringWithFormat:@"%@%@", SHARED_FRAMEWORK_BUNDLE, @"/Resources/GenericApp.icns"]; NSString *defaultIconPath = [NSString stringWithFormat:@"%@%@", SHARED_FRAMEWORK_BUNDLE, @"/Resources/GenericApp.icns"];
if (fUseDefaultIcon && (theIconPath == nil)) { if (theIconPath == nil) {
NSString* bundleIcon = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleIconFile"];
if (bundleIcon == nil) {
theIconPath = defaultIconPath; theIconPath = defaultIconPath;
} }
}
// Set up the dock icon if we have an icon name. // Set up the dock icon if we have an icon name.
if (theIconPath != nil) { if (theIconPath != nil) {