Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 422092

Summary: Help of Shell is overriden by Eclipse when Workbench starts
Product: [Eclipse Project] Platform Reporter: Paul Webster <pwebster>
Component: UIAssignee: Paul Webster <pwebster>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: jli1, pwebster
Version: 4.2.1   
Target Milestone: 4.2.2+   
Hardware: PC   
OS: Windows 7   
Whiteboard:
Bug Depends on: 400042    
Bug Blocks:    

Description Paul Webster CLA 2013-11-19 16:42:11 EST
Backport to 4.2.2+

+++ This bug was initially created as a clone of Bug #400042 +++

Our product (IBM Installation Manager) has one perspective with a stand-alone view. In the ViewPart.setFocus(), we set the help id by using:

public void setFocus() {
    PlatformUI.getWorkbench().getHelpSystem().setHelp(this.getSite().getShell(), getHelpRef());
   //....
}

But ViewPart.setFocus() is called in 'page.setPerspective(perspective)' in WorkbenchWindow.setup():

public void setup() {
  //...
  page.setPerspective(perspective);
  //...
  workbench.getHelpSystem().setHelp(getShell(),
IWorkbenchHelpContextIds.WORKBENCH_WINDOW);
  //...
}

And later one, the help id for our product shell was overriden by workbench.getHelpSystem().setHelp(getShell(),
IWorkbenchHelpContextIds.WORKBENCH_WINDOW);

as you can see from WorkbenchWindow.setup(). This is a regression from Eclipse 4.2.1 adoption.