Bug 283340 NPE is thrown when last child of stack is removed
1. Close the 'Outline' view. 2. That stack is now gone. An NPE is logged. java.lang.NullPointerException at org.eclipse.e4.workbench.ui.renderers.swt.StackModelFactory.childRemoved(StackModelFactory.java:315) at org.eclipse.e4.workbench.ui.renderers.swt.StackModelFactory$2.notifyChanged(StackModelFactory.java:265) at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:280) at org.eclipse.e4.ui.model.internal.application.MPartImpl.setVisible(MPartImpl.java:457) at org.eclipse.e4.workbench.ui.renderers.swt.StackModelFactory$5.close(StackModelFactory.java:344) at org.eclipse.swt.custom.CTabFolder.onMouse(CTabFolder.java:2199) at org.eclipse.swt.custom.CTabFolder$1.handleEvent(CTabFolder.java:327)
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/workbench/ui/renderers/swt/StackRenderer.java
tb = (ToolBar) createToolBar(part.getParent(), ctf, tbModel);
		} else {
			tb = new ToolBar(ctf, SWT.FLAT | SWT.HORIZONTAL);
		}
		
		if (part.getMenu() != null) {
			addMenuButton(part, tb, part.getMenu());
		}
		tb.pack();
		return tb;
	}
	/**
	 * @param tb
	 */
	private void addMenuButton(MItemPart<?> part, ToolBar tb, MMenu menu) {
		ToolItem ti = new ToolItem(tb, SWT.PUSH);
		ti.setImage(getViewMenuImage());
		ti.setHotImage(null);
		ti.setToolTipText("View Menu"); 
		ti.setData("theMenu", menu); 
		ti.setData("thePart", part); 
		ti.addSelectionListener(new SelectionListener() {
			public void widgetSelected(SelectionEvent e) {
				showMenu((ToolItem) e.widget);
			}
			public void widgetDefaultSelected(SelectionEvent e) {
				showMenu((ToolItem) e.widget);
			}
		});
	}