Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre Guilet2018-08-14 14:40:35 +0000
committerPierre Guilet2018-08-20 09:38:20 +0000
commitabfdd9dc039327b5d19ddf5a133f62b7715d6707 (patch)
tree1ec6a45eec4decfbda1b6532ae18139740fba669
parentf6e77cc3a601c5441693d910b2f868a0d77a8c3d (diff)
downloadorg.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.java13
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);

Back to the top