Bug 320989 NPE in CocoaUIHandler
This happened in my Tutorial-RCP when opening a second window and hitting CMD+Q. !ENTRY org.eclipse.e4.ui.workbench 4 0 2010-07-27 12:18:00.823 !MESSAGE Internal Error !STACK 0 java.lang.NullPointerException at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler.findAction(CocoaUIHandler.java:662) at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler.runAction(CocoaUIHandler.java:554) at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler.quitMenuItemSelected(CocoaUIHandler.java:725) at org.eclipse.e4.ui.workbench.renderers.swt.cocoa.CocoaUIHandler.actionProc(CocoaUIHandler.java:748) at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method) at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:4582) at org.eclipse.swt.widgets.Display.applicationProc(Display.java:4659) at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method) at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:115) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3274) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:713)
bundles/org.eclipse.e4.ui.workbench.renderers.swt.cocoa/src/org/eclipse/e4/ui/workbench/renderers/swt/cocoa/CocoaUIHandler.java
private void hookApplicationMenu() {
		try {
			
			NSMenu mainMenu = NSApplication.sharedApplication().mainMenu();
			NSMenuItem mainMenuItem = (NSMenuItem) invokeMethod(NSMenu.class,
					mainMenu, "itemAtIndex", new Object[] { wrapPointer(0) }); 
			NSMenu appMenu = mainMenuItem.submenu();
			
			NSMenuItem aboutMenuItem = (NSMenuItem) invokeMethod(NSMenu.class,
					appMenu,
					"itemAtIndex", new Object[] { wrapPointer(kAboutMenuItem) }); 
			aboutMenuItem.setTitle(NSString.stringWith(fAboutActionName));
			
			if (fHideActionName != null) {
				NSMenuItem hideMenuItem = (NSMenuItem) invokeMethod(
						NSMenu.class,
						appMenu,
						"itemAtIndex", new Object[] { wrapPointer(kHideApplicationMenuItem) }); 
				hideMenuItem.setTitle(NSString.stringWith(fHideActionName));
			}
			
			NSMenuItem quitMenuItem = (NSMenuItem) invokeMethod(NSMenu.class,
					appMenu,
					"itemAtIndex", new Object[] { wrapPointer(kQuitMenuItem) }); 
			if (fQuitActionName != null) {
				quitMenuItem.setTitle(NSString.stringWith(fQuitActionName));
			}
			
			NSMenuItem prefMenuItem = (NSMenuItem) invokeMethod(
					NSMenu.class,