Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/operation/RemoveBendpointsOperation.java')
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/operation/RemoveBendpointsOperation.java22
1 files changed, 12 insertions, 10 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/operation/RemoveBendpointsOperation.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/operation/RemoveBendpointsOperation.java
index f6bddb3b12..c69ce67daf 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/operation/RemoveBendpointsOperation.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/internal/operation/RemoveBendpointsOperation.java
@@ -132,16 +132,18 @@ public class RemoveBendpointsOperation extends AbstractModelChangeOperation<Void
} else {
srcConnectionBendpoint = GraphicalHelper.getIntersection(absoluteSrcAnchorCoordinates, absoluteTgtAnchorCoordinates, srcAbsoluteBounds, true, true);
tgtConnectionBendpoint = GraphicalHelper.getIntersection(absoluteSrcAnchorCoordinates, absoluteTgtAnchorCoordinates, tgtAbsoluteBounds, false, true);
- Point srcPoint = srcConnectionBendpoint.get();
- Point tgtPoint = tgtConnectionBendpoint.get();
- if (Routing.RECTILINEAR_LITERAL.equals(routingStyle)) {
- RectilinearEdgeUtil.alignBoundPointTowardAnchor(srcAbsoluteBounds, srcPoint, absoluteSrcAnchorCoordinates);
- RectilinearEdgeUtil.alignBoundPointTowardAnchor(tgtAbsoluteBounds, tgtPoint, absoluteTgtAnchorCoordinates);
- pointList = RectilinearEdgeUtil.computeRectilinearBendpoints(srcAbsoluteBounds, tgtAbsoluteBounds, srcPoint, tgtPoint);
- } else {
- pointList = new PointList();
- pointList.addPoint(srcPoint);
- pointList.addPoint(tgtPoint);
+ if (srcConnectionBendpoint.isPresent() && tgtConnectionBendpoint.isPresent()) {
+ Point srcPoint = srcConnectionBendpoint.get();
+ Point tgtPoint = tgtConnectionBendpoint.get();
+ if (Routing.RECTILINEAR_LITERAL.equals(routingStyle)) {
+ RectilinearEdgeUtil.alignBoundPointTowardAnchor(srcAbsoluteBounds, srcPoint, absoluteSrcAnchorCoordinates);
+ RectilinearEdgeUtil.alignBoundPointTowardAnchor(tgtAbsoluteBounds, tgtPoint, absoluteTgtAnchorCoordinates);
+ pointList = RectilinearEdgeUtil.computeRectilinearBendpoints(srcAbsoluteBounds, tgtAbsoluteBounds, srcPoint, tgtPoint);
+ } else {
+ pointList = new PointList();
+ pointList.addPoint(srcPoint);
+ pointList.addPoint(tgtPoint);
+ }
}
}
if (srcConnectionBendpoint.isPresent() && tgtConnectionBendpoint.isPresent() && originalNbPoint > pointList.size()) {

Back to the top