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();
- }
}