### Eclipse Workspace Patch 1.0 #P org.eclipse.ui.workbench Index: Eclipse UI/org/eclipse/ui/internal/WorkbenchImages.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkbenchImages.java,v retrieving revision 1.65 diff -u -r1.65 WorkbenchImages.java --- Eclipse UI/org/eclipse/ui/internal/WorkbenchImages.java 6 Jan 2009 21:08:54 -0000 1.65 +++ Eclipse UI/org/eclipse/ui/internal/WorkbenchImages.java 6 Mar 2009 17:37:09 -0000 @@ -70,6 +70,8 @@ private static ImageRegistry imageRegistry; + private static boolean isInitialized; + /* Declare Common paths */ public final static String ICONS_PATH = "$nl$/icons/full/";//$NON-NLS-1$ @@ -595,6 +597,7 @@ imageRegistry = new ImageRegistry(); descriptors = new HashMap(); declareImages(); + isInitialized = true; } /** @@ -620,4 +623,12 @@ public static ImageDescriptor getWorkbenchImageDescriptor(String relativePath){ return ImageDescriptor.createFromURL(BundleUtility.find(PlatformUI.PLUGIN_ID, ICONS_PATH + relativePath)); } + + /** + * Returns whether the image registry is been initialized or not + * @return true if initialized, false otherwise + */ + public static boolean isInitialized() { + return isInitialized; + } } Index: Eclipse UI/org/eclipse/ui/internal/SharedImages.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/SharedImages.java,v retrieving revision 1.7 diff -u -r1.7 SharedImages.java --- Eclipse UI/org/eclipse/ui/internal/SharedImages.java 8 May 2006 20:55:34 -0000 1.7 +++ Eclipse UI/org/eclipse/ui/internal/SharedImages.java 6 Mar 2009 17:37:08 -0000 @@ -46,4 +46,11 @@ public ImageDescriptor getImageDescriptor(String symbolicName) { return WorkbenchImages.getImageDescriptor(symbolicName); } + /** + * Returns whether the image registry is been initialized or not + * @return true if initialized, false otherwise + */ + public boolean isInitialized() { + return WorkbenchImages.isInitialized(); + } } Index: Eclipse UI/org/eclipse/ui/plugin/AbstractUIPlugin.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/plugin/AbstractUIPlugin.java,v retrieving revision 1.51 diff -u -r1.51 AbstractUIPlugin.java --- Eclipse UI/org/eclipse/ui/plugin/AbstractUIPlugin.java 5 Mar 2009 22:46:30 -0000 1.51 +++ Eclipse UI/org/eclipse/ui/plugin/AbstractUIPlugin.java 6 Mar 2009 17:37:10 -0000 @@ -34,6 +34,7 @@ import org.eclipse.swt.widgets.Display; import org.eclipse.ui.IWorkbench; import org.eclipse.ui.PlatformUI; +import org.eclipse.ui.internal.SharedImages; import org.eclipse.ui.internal.WWinPluginAction; import org.eclipse.ui.internal.util.BundleUtility; import org.eclipse.ui.preferences.ScopedPreferenceStore; @@ -664,12 +665,13 @@ throw new IllegalArgumentException(); } -// commented out temporarily - see bug 246224 comment 18 -// ImageDescriptor imageDescriptor = PlatformUI.getWorkbench() -// .getSharedImages().getImageDescriptor(imageFilePath); -// if (imageDescriptor != null) -// return imageDescriptor; // found in the shared images - + SharedImages sharedImages = (SharedImages) PlatformUI.getWorkbench() + .getSharedImages(); + if(sharedImages.isInitialized()) { + ImageDescriptor imageDescriptor = sharedImages.getImageDescriptor(imageFilePath); + if (imageDescriptor != null) + return imageDescriptor; // found in the shared images + } // if the bundle is not ready then there is no image Bundle bundle = Platform.getBundle(pluginId); if (!BundleUtility.isReady(bundle)) {