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
Display display = Display.getCurrent();
			GC gc = new GC(viewMenu);
			GC maskgc = new GC(viewMenuMask);
			gc.setForeground(display
					.getSystemColor(SWT.COLOR_WIDGET_DARK_SHADOW));
			gc.setBackground(display.getSystemColor(SWT.COLOR_LIST_BACKGROUND));
			int[] shapeArray = new int[] { 6, 1, 15, 1, 11, 5, 10, 5 };
			gc.fillPolygon(shapeArray);
			gc.drawPolygon(shapeArray);
			Color black = display.getSystemColor(SWT.COLOR_BLACK);
			Color white = display.getSystemColor(SWT.COLOR_WHITE);
			maskgc.setBackground(black);
			maskgc.fillRectangle(0, 0, 16, 16);
			maskgc.setBackground(white);
			maskgc.setForeground(white);
			maskgc.fillPolygon(shapeArray);
			maskgc.drawPolygon(shapeArray);
			gc.dispose();
			maskgc.dispose();
			ImageData data = viewMenu.getImageData();
			data.transparentPixel = data.getPixel(0, 0);
			viewMenuImage = new Image(d, viewMenu.getImageData(), viewMenuMask
					.getImageData());
			viewMenu.dispose();
			viewMenuMask.dispose();
		}
		return viewMenuImage;
	}
}