Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaxime Porhel2016-09-23 13:43:42 +0000
committerMaxime Porhel2016-09-27 07:46:14 +0000
commit4d55ea1ff4fba5b01edcba33c4bfc16b78b05e91 (patch)
treed775e3a7389ccf8e114ce422656d5c7c3adf388b
parente82e19ab7dafa9775a1b11bd0424b8d46cbbfe2c (diff)
downloadorg.eclipse.sirius-4d55ea1ff4fba5b01edcba33c4bfc16b78b05e91.tar.gz
org.eclipse.sirius-4d55ea1ff4fba5b01edcba33c4bfc16b78b05e91.tar.xz
org.eclipse.sirius-4d55ea1ff4fba5b01edcba33c4bfc16b78b05e91.zip
[502053] Avoid potential NPE
If the Sirius diagram editor is used in a multi page editor, it is not registered in the editor registry. Bug: 502053 Change-Id: Ifc1e649f6e942625ed4fc1b7414aee8844b2c4fb Signed-off-by: Maxime Porhel <maxime.porhel@obeo.fr>
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorSessionListenerDelegate.java12
1 files changed, 7 insertions, 5 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorSessionListenerDelegate.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorSessionListenerDelegate.java
index fad172d938..e65fa14492 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorSessionListenerDelegate.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/DDiagramEditorSessionListenerDelegate.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2011, 2012 THALES GLOBAL SERVICES.
+ * Copyright (c) 2011, 2016 THALES GLOBAL SERVICES and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -73,7 +73,7 @@ public class DDiagramEditorSessionListenerDelegate implements Runnable {
private ToolFilter toolFilterWhenRepresentationIsLocked;
private int changeKind;
-
+
private Image noWritePermissionImage;
/**
@@ -99,6 +99,7 @@ public class DDiagramEditorSessionListenerDelegate implements Runnable {
* {@inheritDoc}
*/
// CHECKSTYLE:OFF
+ @Override
public void run() {
PaletteManager paletteManager = dDiagramEditorImpl.getPaletteManager();
Diagram gmfDiagram = dDiagramEditorImpl.getDiagram();
@@ -224,7 +225,9 @@ public class DDiagramEditorSessionListenerDelegate implements Runnable {
if (initialTitleImage == null || initialTitleImage.isDisposed()) {
IEditorRegistry editorRegistry = PlatformUI.getWorkbench().getEditorRegistry();
IEditorDescriptor editorDesc = editorRegistry.findEditor(dDiagramEditorImpl.getSite().getId());
- initialTitleImage = DiagramUIPlugin.getPlugin().getImage(editorDesc.getImageDescriptor());
+ if (editorDesc != null) {
+ initialTitleImage = DiagramUIPlugin.getPlugin().getImage(editorDesc.getImageDescriptor());
+ }
}
return initialTitleImage;
}
@@ -263,8 +266,7 @@ public class DDiagramEditorSessionListenerDelegate implements Runnable {
Image refreshImage = DiagramUIPlugin.getPlugin().getImage(DiagramUIPlugin.Implementation.getBundledImageDescriptor(DiagramImagesPath.REFRESH_IMG));
List<Object> images = new ArrayList<Object>(2);
images.add(refreshImage);
- Image lockByOtherOverlayImage = SiriusEditPlugin.getPlugin()
- .getImage(SiriusEditPlugin.Implementation.getBundledImageDescriptor("icons/full/decorator/permission_denied_overlay.gif")); //$NON-NLS-1$
+ Image lockByOtherOverlayImage = SiriusEditPlugin.getPlugin().getImage(SiriusEditPlugin.Implementation.getBundledImageDescriptor("icons/full/decorator/permission_denied_overlay.gif")); //$NON-NLS-1$
images.add(lockByOtherOverlayImage);
ImageDescriptor composedImageDescriptor = new ComposedImageDescriptor(new ComposedImage(images));
frozenRepresentationImage = DiagramUIPlugin.getPlugin().getImage(composedImageDescriptor);

Back to the top