Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPierre Guilet2018-08-21 12:50:42 +0000
committerPierre Guilet2018-08-22 09:50:16 +0000
commit41f2886c98e5ebe12f5ef7ac231b23172403a14d (patch)
tree8e60bfce373c1a828889b1a348c9a8021f9c9504
parent439351165960464c8623456e00ba5faff8fa3059 (diff)
downloadorg.eclipse.sirius-41f2886c98e5ebe12f5ef7ac231b23172403a14d.tar.gz
org.eclipse.sirius-41f2886c98e5ebe12f5ef7ac231b23172403a14d.tar.xz
org.eclipse.sirius-41f2886c98e5ebe12f5ef7ac231b23172403a14d.zip
[527109] Fix potential class cast exception and test failure
Bug: 527109 Change-Id: I16fd40d4b0b44df86d298b23d8fd3bdbddbe4a90 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/tools/internal/ui/NoCopyDragEditPartsTrackerEx.java22
1 files changed, 12 insertions, 10 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/ui/NoCopyDragEditPartsTrackerEx.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/ui/NoCopyDragEditPartsTrackerEx.java
index 9e2bcc6d2f..422b0c8bee 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/ui/NoCopyDragEditPartsTrackerEx.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/ui/NoCopyDragEditPartsTrackerEx.java
@@ -93,16 +93,18 @@ public class NoCopyDragEditPartsTrackerEx extends SnapToAllDragEditPartsTracker
private boolean isAuthorized() {
boolean isAuthorized = true;
EditPart movedEditPart = getSourceEditPart();
- EditPartQuery editPartQuery = new EditPartQuery((AbstractBorderedDiagramElementEditPart) movedEditPart);
- if (movedEditPart instanceof AbstractBorderedDiagramElementEditPart && (editPartQuery.isInShowingMode() || editPartQuery.isInLayoutingMode())) {
- // We are in layouting mode
- EditPart targetEditPart = getTargetEditPart();
- // Check if the target container is not the same as before move
- boolean notSameContainer = targetEditPart != null
- && !(movedEditPart.getParent() == targetEditPart || targetEditPart instanceof CompartmentEditPart && targetEditPart.getParent() == movedEditPart.getParent());
- notSameContainer = notSameContainer && (targetEditPart instanceof IGraphicalEditPart && ((IGraphicalEditPart) targetEditPart).resolveSemanticElement() instanceof DSemanticDecorator);
- if (notSameContainer) {
- isAuthorized = false;
+ if (movedEditPart instanceof AbstractBorderedDiagramElementEditPart) {
+ EditPartQuery editPartQuery = new EditPartQuery((IGraphicalEditPart) movedEditPart);
+ if (editPartQuery.isInShowingMode() || editPartQuery.isInLayoutingMode()) {
+ // We are in layouting mode
+ EditPart targetEditPart = getTargetEditPart();
+ // Check if the target container is not the same as before move
+ boolean notSameContainer = targetEditPart != null
+ && !(movedEditPart.getParent() == targetEditPart || targetEditPart instanceof CompartmentEditPart && targetEditPart.getParent() == movedEditPart.getParent());
+ notSameContainer = notSameContainer && (targetEditPart instanceof IGraphicalEditPart && ((IGraphicalEditPart) targetEditPart).resolveSemanticElement() instanceof DSemanticDecorator);
+ if (notSameContainer) {
+ isAuthorized = false;
+ }
}
}
return isAuthorized;

Back to the top