Fix for  Bug 109932 Should not access resources plug-in on ide startup
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java
index 2886065..86854d1 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchAdvisor.java
@@ -44,6 +44,7 @@
 import org.eclipse.ui.application.WorkbenchAdvisor;
 import org.eclipse.ui.application.WorkbenchWindowAdvisor;
 import org.eclipse.ui.ide.IDE;
+import org.eclipse.ui.internal.decorators.DecoratorUpdateListener;
 import org.eclipse.ui.internal.ide.model.WorkbenchAdapterBuilder;
 import org.eclipse.ui.internal.progress.ProgressMonitorJobsDialog;
 import org.eclipse.ui.progress.IProgressService;
@@ -185,6 +186,7 @@
         try {
             refreshFromLocal();
             checkUpdates();
+            DecoratorUpdateListener.startUp();
         } finally {//Resume background jobs after we startup
             Platform.getJobManager().resume();
         }
@@ -206,6 +208,14 @@
             disconnectFromWorkspace();
         }
     }
+    
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.application.WorkbenchAdvisor#preShutdown()
+     */
+    public boolean preShutdown() {
+    	DecoratorUpdateListener.shutDown();
+    	return super.preShutdown();
+    }
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.application.WorkbenchAdvisor#eventLoopException
diff --git a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchPlugin.java b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchPlugin.java
index 6177880..8e802ba 100644
--- a/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchPlugin.java
+++ b/bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/IDEWorkbenchPlugin.java
@@ -26,13 +26,11 @@
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.jface.resource.ImageDescriptor;
 import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.ui.internal.decorators.DecoratorUpdateListener;
 import org.eclipse.ui.internal.ide.registry.CapabilityRegistry;
 import org.eclipse.ui.internal.ide.registry.MarkerImageProviderRegistry;
 import org.eclipse.ui.internal.ide.registry.ProjectImageRegistry;
 import org.eclipse.ui.plugin.AbstractUIPlugin;
 import org.osgi.framework.Bundle;
-import org.osgi.framework.BundleContext;
 
 /**
  * This internal class represents the top of the IDE workbench.
@@ -323,19 +321,5 @@
 		return imageDescriptorFromPlugin(IDE_WORKBENCH, ICONS_PATH + relativePath);
 	}
 	
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
-	 */
-	public void start(BundleContext context) throws Exception {
-		super.start(context);
-		DecoratorUpdateListener.startUp();
-	}
 	
-	/* (non-Javadoc)
-	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
-	 */
-	public void stop(BundleContext context) throws Exception {
-		super.stop(context);
-		DecoratorUpdateListener.shutDown();
-	}
 }