Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 173764 - Mac OS X icon changes from 'nice' to 'nasty' during launch of 3.3M5
Summary: Mac OS X icon changes from 'nice' to 'nasty' during launch of 3.3M5
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: SWT (show other bugs)
Version: 3.3   Edit
Hardware: Macintosh Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: 3.3 M6   Edit
Assignee: Andrew Niefer CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-02-10 20:07 EST by Alex Blewitt CLA
Modified: 2007-07-29 09:21 EDT (History)
3 users (show)

See Also:


Attachments
Whilst 3.3M5 is launching (bottom Eclipse icon) (369.31 KB, image/png)
2007-02-10 20:13 EST, Alex Blewitt CLA
no flags Details
Launch afterwards - note lower Eclipse icon changed to nasty (307.35 KB, image/png)
2007-02-10 20:15 EST, Alex Blewitt CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alex Blewitt CLA 2007-02-10 20:07:08 EST
The 'nice' OS X icon for Eclipse is in Eclipse.app/Contents/Resources/Eclipse.icns, and is the one shown in finder. When launching Eclipse 3.3M5, the 'nice' icon is set.

However, during startup, the product configurator gets called, which then subsequently does an SWT setImage on the Display/Shell, which has 'nasty' icons (plugins/org.eclipse.sdk.../eclipse32.gif)

In 3.3M4, if a dock icon was specified, then the setImages on the display/shell had no effect. However, now it appears to take precedence over whatever the dock icon is. It wouldn't be so bad if the icon was the nice one  (see also additional bug in PDE/UI re: Mac icon looking different on PDE launches; however this same problem affects the host Eclipse too)

Mac OS X 10.4.8, Eclipse 3.3M5. An oddity; I'm running PPC but the configuration runs with -arch x86. However, osgi.processor=ppc in the environment settings.
Comment 1 Alex Blewitt CLA 2007-02-10 20:13:32 EST
Created attachment 58722 [details]
Whilst 3.3M5 is launching (bottom Eclipse icon)

Note that the icon mid-way up is Eclipse 3.3M4 and the one at the bottom is Eclipse 3.3M5 during launch
Comment 2 Alex Blewitt CLA 2007-02-10 20:15:04 EST
Created attachment 58723 [details]
Launch afterwards - note lower Eclipse icon changed to nasty

Once the dialog is up and the Display/Shell setImages has been called, the icon goes from nice to nasty. Lower icon now clearly different from icon mid-point up.
Comment 3 Steve Northover CLA 2007-02-12 11:01:03 EST
If someone sets the icon to a nasty one, we still need to draw it.  Am I missing something or this this a WONTFIX for SWT?
Comment 4 Andrew Niefer CLA 2007-02-19 12:34:38 EST

*** This bug has been marked as a duplicate of bug 170216 ***
Comment 5 Alex Blewitt CLA 2007-02-19 16:55:59 EST
This isn't a duplicate of 170216; it's a regression/change of behaviour.

170216 has icons in the plugin that are set with setImage on the display, and the icons are the wrong ones. In 3.3M4 and below, if the dock icon was set with -Xdock:icon then the call to setImage had no effect; in other words, it only set the dock icon if the dock icon wasn't already set.

Now, the behaviour is different; the setImage overrides the icon in the dock. In both cases the setImage was being called; in 3.3M5 the setImage is obliterating whatever icon may have been on the dock initially.

Other people who bundle an app may well be confused by this behaviour; if an icon has been set on the -Xdock:icon, then it shouldn't be overwritten in the setImages call.

Comment 6 Silenio Quarti CLA 2007-02-20 10:11:39 EST
No change was made to SWT in this area. The -Xdock:icon option is not overriding by Shell.setImage()/setImages(). I believe that the problem is happening because the eclipse executable does not exec java anymore, so the option -Xdock:icon is not converted into a system environment variable called APP_ICON_<pid>. Note that it works fine if you set the option (through VM args in run configuration dialog) and self-host. That is because "java" is used when self-hosting, not the eclipse executable.
Comment 7 Andrew Niefer CLA 2007-02-26 14:17:14 EST
The launcher is now setting the APP_ICON_<pid> and APP_NAME_<pid> environment variables.  The nice icon is staying.
Comment 8 Eclipse Webmaster CLA 2007-07-29 09:21:43 EDT
Changing OS from Mac OS to Mac OS X as per bug 185991