diff options
| author | Pierre Guilet | 2018-08-10 09:02:31 +0000 |
|---|---|---|
| committer | Pierre Guilet | 2018-08-10 09:02:31 +0000 |
| commit | 325ecd1f207849e49f0f29a6d0507934e4be29f1 (patch) | |
| tree | 3240409819440d6e1d3d23a7c6616175c8bd12f1 | |
| parent | 8ba161bf7798cdc51b376988297786a5d2605c06 (diff) | |
| download | org.eclipse.sirius-325ecd1f207849e49f0f29a6d0507934e4be29f1.tar.gz org.eclipse.sirius-325ecd1f207849e49f0f29a6d0507934e4be29f1.tar.xz org.eclipse.sirius-325ecd1f207849e49f0f29a6d0507934e4be29f1.zip | |
[527109] Fix potential NPE and class cast
Bug: 527109
Change-Id: I089afec52f033120c93b6fa7b6b3b0de74661d53
Signed-off-by: Pierre Guilet <pierre.guilet@obeo.fr>
2 files changed, 3 insertions, 4 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/view/ShowingViewUtil.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/view/ShowingViewUtil.java index 2c2bdb1d2f..47afb0e071 100644 --- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/view/ShowingViewUtil.java +++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/view/ShowingViewUtil.java @@ -30,7 +30,6 @@ import org.eclipse.sirius.diagram.DDiagramElement; import org.eclipse.sirius.diagram.GraphicalFilter; import org.eclipse.sirius.diagram.HideFilter; import org.eclipse.sirius.diagram.HideLabelFilter; -import org.eclipse.sirius.diagram.business.internal.metamodel.spec.DEdgeSpec; import org.eclipse.sirius.diagram.ui.business.api.query.ViewQuery; import org.eclipse.sirius.diagram.ui.edit.internal.part.DiagramElementEditPartOperation; import org.eclipse.sirius.diagram.ui.tools.api.figure.SiriusWrapLabel; @@ -269,7 +268,7 @@ public final class ShowingViewUtil { // label. EList<GraphicalFilter> graphicalFilters = ((DDiagramElement) correspondingView.getElement()).getGraphicalFilters(); boolean isLabelFiltered = graphicalFilters.stream().anyMatch(HideLabelFilter.class::isInstance) || graphicalFilters.stream().anyMatch(HideFilter.class::isInstance) - || (correspondingView instanceof Edge && !((DEdgeSpec) correspondingView.getElement()).isVisible()); + || (correspondingView instanceof Edge && !((DDiagramElement) correspondingView.getElement()).isVisible()); if (isLabelFiltered && viewQuery.isInShowingMode()) { graphics.setAlpha(50); } diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/tabbar/contributions/ModesMenuManager.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/tabbar/contributions/ModesMenuManager.java index 6ed9ba1a53..2f1e9d6eed 100644 --- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/tabbar/contributions/ModesMenuManager.java +++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/editor/tabbar/contributions/ModesMenuManager.java @@ -122,9 +122,9 @@ public class ModesMenuManager extends ActionMenuManager { if (LayoutingModeSwitchingAction.diagramAllowsLayoutingMode(editorDiagram)) { add(new LayoutingModeSwitchingAction(page.getActivePart(), editorDiagram)); } - if (editorDiagram.isIsInLayoutingMode()) { + if (editorDiagram != null && editorDiagram.isIsInLayoutingMode()) { setDefaultAction(ActionIds.SWITCH_LAYOUTING_MODE); - } else if (editorDiagram.isIsInShowingMode()) { + } else if (editorDiagram != null && editorDiagram.isIsInShowingMode()) { setDefaultAction(ActionIds.SWITCH_SHOWING_MODE); } else { setDefaultAction(ActionIds.DEFAULT_MODE); |
