Bug 125779

Summary: [Forms] hard-coded manifest path is not always correct
Product: [Eclipse Project] Platform Reporter: Derrick Hudson <dman>
Component: User AssistanceAssignee: Dejan Glozic <dejan>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P1 CC: veronika_irvine
Version: 3.2   
Target Milestone: 3.2 RC1   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Derrick Hudson CLA 2006-01-30 17:43:52 EST
This applies to all eclipse 3.1 versions and the current HEAD.

In FormToolkit.initializeBorder(), the existence of a theme manifest is checked to determine whether or not the native widgets will supply the desired border appearance.  However, the logic in this test is not always correct.  The file name "javaw.exe.manifest" is hard-coded in the method.  Eclipse can be executed with 'java.exe' instead of 'javaw.exe'.  It is also conceivable (though probably improbable) that someone would rename the java executed to something else entirely.  I noticed the issue while I was using 'java.exe' to be able to see any messages sent to stdout.  The toolkit should instead look for a manifest file corresponding to the executable that actually launched eclipse.  A rather ugly (appearance-wise) scenario occurs if javaw.exe.manifest exists but java.exe.manifest does not and java.exe is used to launch eclipse -- the forms will use SWT.BORDER yielding the 3D border of classic windows in the form.

Bug #110310 is related to this one.
Comment 1 Veronika Irvine CLA 2006-04-06 15:05:19 EDT
As of today, javaw.exe.manifest is no longer required to see the Windows XP theme.  All Windows XP users will see the theme.  This means the check for the file javaw.exe.manifest is incorrect.  You will need to check that you are running on Windows XP.
Comment 2 Dejan Glozic CLA 2006-04-06 16:15:19 EDT
Veronika, this is one of the best news in months!! I hated this manifest checking more than poison :-).
Comment 3 Dejan Glozic CLA 2006-05-03 11:27:42 EDT
Fixed - Forms can now expect skins on XP all the time.