Simplified build ID code
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/splash/EclipseSplashHandler.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/splash/EclipseSplashHandler.java
index f075c44..95addd2 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/splash/EclipseSplashHandler.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/splash/EclipseSplashHandler.java
@@ -12,12 +12,10 @@
 
 import org.eclipse.core.runtime.IProduct;
 import org.eclipse.core.runtime.Platform;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.events.PaintEvent;
+import org.eclipse.swt.events.PaintListener;
 import org.eclipse.swt.graphics.RGB;
 import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Shell;
 import org.eclipse.ui.branding.IProductConstants;
 import org.eclipse.ui.internal.util.PrefUtil;
@@ -69,25 +67,16 @@
 		// the following code will be removed for release time
 		if (PrefUtil.getInternalPreferenceStore().getBoolean(
 				"SHOW_BUILDID_ON_STARTUP")) { //$NON-NLS-1$
-			String buildId = System.getProperty("eclipse.buildId"); //$NON-NLS-1$
-			if (buildId == null)
-				buildId = "Unknown Build"; //$NON-NLS-1$
-			// Point versionLocation = new Point(322,200); // hardcoded to be
-			// sensible with our current Europa Graphic
-			Label label = new Label(getContent(), SWT.NONE);
-			label.setForeground(getForeground());
-			label.setText(buildId);
-			GC gc = new GC(label);
-			Point stringExtent = gc.stringExtent(buildId);
-			gc.dispose();
-			label.setBounds(new Rectangle(322, 190, stringExtent.x,
-					stringExtent.y)); // hardcoded to work with the eclipse
-										// "Europa" label
-			getContent().setBackgroundMode(SWT.INHERIT_NONE); // set the state to something new so that the next call actually does work on the label background
-			getContent().setBackgroundMode(SWT.INHERIT_FORCE); // reforce the background for GTK.  
-			getContent().setBackgroundImage(getContent().getShell().getBackgroundImage());
-			while (label.getDisplay().readAndDispatch())
-				; // force painting of the label
+			final String buildId = System.getProperty("eclipse.buildId", "Unknown Build"); //$NON-NLS-1$ //$NON-NLS-2$
+			
+			getContent().addPaintListener(new PaintListener() {
+
+				public void paintControl(PaintEvent e) {
+					e.gc.setForeground(getForeground());
+					// hardcoded to be sensible with our current Europa Graphic
+					e.gc.drawText(buildId, 322, 190, true);
+					
+				}});
 		}
 	}