Bug 562389 - initialize imageDescriptor correctly
Fixes NPE on dispose when no icon is configured.
Change-Id: I996065da924631cd9d2dad2065b7b41e96fff325
Signed-off-by: visjho <Julian.Honnen@vector.com>
diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IntroPart.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IntroPart.java
index e8ca302..3496f2b 100644
--- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IntroPart.java
+++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/part/IntroPart.java
@@ -66,7 +66,7 @@
private IConfigurationElement configElement;
- private Optional<ImageDescriptor> imageDescriptor;
+ private Optional<ImageDescriptor> imageDescriptor = Optional.empty();
private IIntroSite partSite;
@@ -248,11 +248,11 @@
titleLabel = cfig.getAttribute(IWorkbenchRegistryConstants.ATT_LABEL);
// Icon.
String strIcon = cfig.getAttribute(IWorkbenchRegistryConstants.ATT_ICON);
- if (strIcon == null) {
- return;
+ if (strIcon != null) {
+ imageDescriptor = ResourceLocator.imageDescriptorFromBundle(configElement.getContributor().getName(),
+ strIcon);
+ imageDescriptor.ifPresent(d -> titleImage = JFaceResources.getResources().createImageWithDefault(d));
}
- imageDescriptor = ResourceLocator.imageDescriptorFromBundle(configElement.getContributor().getName(), strIcon);
- imageDescriptor.ifPresent(d -> titleImage = JFaceResources.getResources().createImageWithDefault(d));
}
/**