Bug 276202 [Forms] NPE if dispose() called on FormToolkit more than once
Build id: I20090512-2000 java.lang.NullPointerException at org.eclipse.ui.forms.widgets.FormToolkit.dispose(FormToolkit.java:711) At the moment, if you invoke dispose() twice on a FormToolkit instance, an NPE will be thrown. public void dispose() { if (colors.isShared() == false) { colors.dispose(); colors = null; } boldFontHolder.dispose(); } As can be seen, the 'colors' field is set to 'null' which is the cause of the NPE. It's okay to repeatedly invoke dispose() on an SWT widget so I feel this pattern should be extended for a FormToolkit also.
tests/org.eclipse.ui.tests.forms/forms/org/eclipse/ui/tests/forms/util/AllUtilityTests.java
/*
	 * Returns the entire test suite.
	 */
	public static Test suite() {
		return new AllUtilityTests();
	}
	/*
	 * Constructs a new performance test suite.
	 */
	public AllUtilityTests() {
		addTestSuite(FormImagesTests.class);
		addTestSuite(FormFontsTests.class);
		addTestSuite(FormColorsTests.class);
	}
}