diff options
| author | Pierre Guilet | 2018-08-14 14:40:35 +0000 |
|---|---|---|
| committer | Pierre Guilet | 2018-08-20 09:38:20 +0000 |
| commit | abfdd9dc039327b5d19ddf5a133f62b7715d6707 (patch) | |
| tree | 1ec6a45eec4decfbda1b6532ae18139740fba669 | |
| parent | f6e77cc3a601c5441693d910b2f868a0d77a8c3d (diff) | |
| download | org.eclipse.sirius-abfdd9dc039327b5d19ddf5a133f62b7715d6707.tar.gz org.eclipse.sirius-abfdd9dc039327b5d19ddf5a133f62b7715d6707.tar.xz org.eclipse.sirius-abfdd9dc039327b5d19ddf5a133f62b7715d6707.zip | |
[527109] Fix potential NPE in case of proxy element
Bug: 527109
Change-Id: I2f275905164bc89cef1d32758d7d1b71f84c6d91
Signed-off-by: Pierre Guilet <pierre.guilet@obeo.fr>
| -rw-r--r-- | plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/business/internal/view/ShowingViewUtil.java | 13 |
1 files changed, 8 insertions, 5 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 47afb0e071..e759767758 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 @@ -266,11 +266,14 @@ public final class ShowingViewUtil { if (figure instanceof SiriusWrapLabel) { // labels do not have any view associated so we have to check the filters on the node view containing the // 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 && !((DDiagramElement) correspondingView.getElement()).isVisible()); - if (isLabelFiltered && viewQuery.isInShowingMode()) { - graphics.setAlpha(50); + EObject element = correspondingView.getElement(); + if (element instanceof DDiagramElement) { + EList<GraphicalFilter> graphicalFilters = ((DDiagramElement) element).getGraphicalFilters(); + boolean isLabelFiltered = graphicalFilters.stream().anyMatch(HideLabelFilter.class::isInstance) || graphicalFilters.stream().anyMatch(HideFilter.class::isInstance) + || (correspondingView instanceof Edge && !((DDiagramElement) correspondingView.getElement()).isVisible()); + if (isLabelFiltered && viewQuery.isInShowingMode()) { + graphics.setAlpha(50); + } } } else if (figure.isVisible() != correspondingView.isVisible() && viewQuery.isInShowingMode()) { graphics.setAlpha(50); |
