Bug 9819 ImageDescriptorRegistry must empty hash map in dispose
Current code is: public void dispose() { for (Iterator iter= fRegistry.values().iterator(); iter.hasNext(); ) { Image image= (Image)iter.next(); image.dispose(); } } Statement fRegistry.clear() missing after dispose Current implementation doesn't cause harm since calling dispose on a dispose image is ignored. Must be fixed after M3
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/viewsupport/ImageDescriptorRegistry.java
Image result= (Image)fRegistry.get(descriptor);
		if (result != null)
			return result;
	
		Assert.isTrue(fDisplay == SWTUtil.getStandardDisplay(), "Allocating image for wrong display.");
		result= descriptor.createImage();
		if (result != null)
			fRegistry.put(descriptor, result);
		return result;
	}
	/**
	 * Disposes all images managed by this registry.
	 */	
	public void dispose() {
		for (Iterator iter= fRegistry.values().iterator(); iter.hasNext(); ) {
			Image image= (Image)iter.next();
			image.dispose();
		}
	}
	
	private void hookDisplay() {
		fDisplay.disposeExec(new Runnable() {
			public void run() {
				dispose();
			}	
		});
	}
}