diff options
| author | Maxime Porhel | 2016-09-23 13:43:42 +0000 |
|---|---|---|
| committer | Maxime Porhel | 2016-09-27 07:46:14 +0000 |
| commit | 4d55ea1ff4fba5b01edcba33c4bfc16b78b05e91 (patch) | |
| tree | d775e3a7389ccf8e114ce422656d5c7c3adf388b | |
| parent | e82e19ab7dafa9775a1b11bd0424b8d46cbbfe2c (diff) | |
| download | org.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.java | 12 |
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); |
