Bug 319877 Infinite NPE can fill log file up quickly
Looks like I have ten megabytes worth of logs complaining about this NPE. I would never have noticed if I didn't open up the 'Error Log' view. java.lang.NullPointerException at org.eclipse.e4.ui.workbench.renderers.swt.ToolItemRenderer$7$1.run(ToolItemRenderer.java:378) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.e4.ui.workbench.renderers.swt.ToolItemRenderer$7.run(ToolItemRenderer.java:366) at org.eclipse.swt.widgets.Display.runTimer(Display.java:4167) at org.eclipse.swt.widgets.Display.messageProc(Display.java:3256) at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method) at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2459) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3655) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:693) at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332) at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:618)
bundles/org.eclipse.e4.ui.workbench.renderers.swt/src/org/eclipse/e4/ui/workbench/renderers/swt/ToolItemRenderer.java
import org.eclipse.swt.widgets.ToolBar;
import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.swt.widgets.Widget;
import org.osgi.service.event.Event;
import org.osgi.service.event.EventHandler;
/**
 * Create a contribute part.
 */
public class ToolItemRenderer extends SWTPartRenderer {
	@Inject
	Logger logger;
	@Inject
	IEventBroker eventBroker;
	@Inject
	private IPresentationEngine engine;
	private EventHandler itemUpdater = new EventHandler() {
		public void handleEvent(Event event) {
			
			if (!(event.getProperty(UIEvents.EventTags.ELEMENT) instanceof MToolItem))
				return;
			MToolItem itemModel = (MToolItem) event
					.getProperty(UIEvents.EventTags.ELEMENT);
			ToolItem toolItem = (ToolItem) itemModel.getWidget();
			
			if (toolItem == null)
				return;
			String attName = (String) event
					.getProperty(UIEvents.EventTags.ATTNAME);
			if (UIEvents.UILabel.LABEL.equals(attName)) {
				setItemText(itemModel, toolItem);