From 494b4a437a3916ee844fdad8ca47a51fab083f10 Mon Sep 17 00:00:00 2001
From: Vincent Aravantinos <aravantinos@fortiss.org>
Date: Mon, 5 Dec 2016 11:01:43 +0000
Subject: [PATCH] fixed refs 2750

---
 ...DirectConnectionAndReconnectionEditPolicy.java | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/DirectConnectionAndReconnectionEditPolicy.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/DirectConnectionAndReconnectionEditPolicy.java
index 63e080fce..a40bedde5 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/DirectConnectionAndReconnectionEditPolicy.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/DirectConnectionAndReconnectionEditPolicy.java
@@ -19,7 +19,9 @@ package org.fortiss.tooling.base.ui.editpart.policy;
 
 import static org.fortiss.tooling.base.ui.utils.DragAndDropBaseUtils.createConnectionDragContext;
 
+import org.eclipse.draw2d.geometry.Point;
 import org.eclipse.gef.ConnectionEditPart;
+import org.eclipse.gef.GraphicalEditPart;
 import org.eclipse.gef.NodeEditPart;
 import org.eclipse.gef.commands.Command;
 import org.eclipse.gef.commands.UnexecutableCommand;
@@ -81,7 +83,7 @@ import org.fortiss.tooling.base.ui.editpart.command.ReconnectCommand;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: DE2453742ED5A786A15BEFD4EA79DB53
+ * @ConQAT.Rating YELLOW Hash: 6756B9E77E054DDEDA7D39B5A51BD2BE
  */
 public class DirectConnectionAndReconnectionEditPolicy extends GraphicalNodeEditPolicy {
 
@@ -89,8 +91,10 @@ public class DirectConnectionAndReconnectionEditPolicy extends GraphicalNodeEdit
 	@Override
 	protected Command getConnectionCompleteCommand(CreateConnectionRequest request) {
 		if(request.getStartCommand() instanceof ConnectCommand) {
+			Point location = new Point(request.getLocation());
+			((GraphicalEditPart)getHost()).getFigure().translateToRelative(location);
 			ConnectCommand cmd = (ConnectCommand)request.getStartCommand();
-			cmd.setTarget(getHost(), request.getLocation());
+			cmd.setTarget(getHost(), location);
 			return cmd;
 		}
 		return UnexecutableCommand.INSTANCE;
@@ -99,9 +103,12 @@ public class DirectConnectionAndReconnectionEditPolicy extends GraphicalNodeEdit
 	/** {@inheritDoc} */
 	@Override
 	protected Command getConnectionCreateCommand(CreateConnectionRequest request) {
+		// Here we need to create a new point, otherwise the translation on the next line will
+		// *modify* the request which brings problems later on.
+		Point location = new Point(request.getLocation());
+		((GraphicalEditPart)getHost()).getFigure().translateToRelative(location);
 		ConnectionDragContext context =
-				createConnectionDragContext(getHost(), getHost(), request.getLocation(),
-						request.getLocation());
+				createConnectionDragContext(getHost(), getHost(), location, null);
 		ConnectCommand cmd = new ConnectCommand(context);
 		request.setStartCommand(cmd);
 		return cmd;
-- 
GitLab