title: How can I make my Eclipse RCP app's keyboard shortcuts (accelerators) work immediately after startup?
body: <p>Our Eclipse RCP application was originally built in the 3.1/3.2 era and was running on 3.2 until we switched to 3.6 recently.  Its <code>IApplication</code> runs via <code>PlatformUI.createAndRunWorkbench(...)</code>.  The <code>WorkbenchAdvisor</code> we pass to that function overrides<code>createWorkbenchWindowAdvisor(...)</code> to return a <code>WorkbenchWindowAdvisor</code> whose <code>createActionBarAdvisor(...)</code> returns an <code>ActionBarAdvisor</code>.</p>
  
  <p>This <code>ActionBarAdvisor</code>'s <code>makeActions(...)</code> creates and <code>register()</code>s a bunch of <code>org.eclipse.jface.action.Action</code>s, many of which do things like <code>setAccelerator(SWT.CTRL | 'O');</code> in their constructors.  The <code>Action</code>s are subsequently installed in the <code>ActionBarAdvisor</code>'s <code>fillMenuBar(...)</code> and <code>fillCoolBar(...)</code> methods.</p>
  
  <p>The problem we are having (now that we are on Eclipse RCP 3.6) is that these accelerators don't seem to be active until their menus are shown (even if no action is taken besides closing the menu again).</p>
  
  <p>We see <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=243758" rel="nofollow">a relevant bug</a> but are having some difficulty understanding how to apply its remedy to our situation.  We recognize that instead of <code>Action</code>s we "ought" to be using commands, handlers, and key bindings.  But we're hoping we don't have to go down that path just yet.</p>
  
  <p>How can we make our accelerators "live" as soon as the application starts up?</p>