[170015] Protect against null active page
diff --git a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/providers/XSDSectionLabelProvider.java b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/providers/XSDSectionLabelProvider.java
index 8bd4c05..ef9b469 100644
--- a/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/providers/XSDSectionLabelProvider.java
+++ b/bundles/org.eclipse.wst.xsd.ui/src-common/org/eclipse/wst/xsd/ui/internal/common/properties/providers/XSDSectionLabelProvider.java
@@ -15,6 +15,7 @@
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
import org.eclipse.wst.xsd.ui.internal.adapters.XSDAdapterFactory;
@@ -119,11 +120,18 @@
IWorkbench workbench = PlatformUI.getWorkbench();
IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
- IEditorPart editorPart = workbenchWindow.getActivePage().getActiveEditor();
- XSDSchema xsdSchema = ((XSDConcreteComponent) selected).getSchema();
- if (xsdSchema != editorPart.getAdapter(XSDSchema.class))
+ if (workbenchWindow != null)
{
- sb.append(" (" + Messages.UI_LABEL_READ_ONLY + ")"); //$NON-NLS-1$ //$NON-NLS-2$
+ IWorkbenchPage page = workbenchWindow.getActivePage();
+ if (page != null)
+ {
+ IEditorPart editorPart = page.getActiveEditor();
+ XSDSchema xsdSchema = ((XSDConcreteComponent) selected).getSchema();
+ if (editorPart != null && xsdSchema != editorPart.getAdapter(XSDSchema.class))
+ {
+ sb.append(" (" + Messages.UI_LABEL_READ_ONLY + ")"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
}
return sb.toString();
}