From a89a06af206ff6f03a3d9a8495c43537b305de95 Mon Sep 17 00:00:00 2001
From: ricardo_padilha <ricardo_padilha@fc158eef-6c16-0410-b9c5-873085b46621>
Date: Tue, 20 May 2003 14:59:47 +0000
Subject: [PATCH] Bug fix for undo/redo

---
 JHotDraw/src/CH/ifa/draw/figures/LineConnection.java  | 11 +++++++++++
 .../src/org/jhotdraw/figures/LineConnection.java      | 11 +++++++++++
 2 files changed, 22 insertions(+)

diff --git a/JHotDraw/src/CH/ifa/draw/figures/LineConnection.java b/JHotDraw/src/CH/ifa/draw/figures/LineConnection.java
index 85f1e14f3..0364673b9 100644
--- a/JHotDraw/src/CH/ifa/draw/figures/LineConnection.java
+++ b/JHotDraw/src/CH/ifa/draw/figures/LineConnection.java
@@ -317,9 +317,11 @@ public  class LineConnection extends PolyLineFigure implements ConnectionFigure
 		handleDisconnect(startFigure(), endFigure());
 		if (getStartConnector() != null) {
 			startFigure().removeFigureChangeListener(this);
+			startFigure().removeDependendFigure(this);
 		}
 		if (getEndConnector() != null) {
 			endFigure().removeFigureChangeListener(this);
+			endFigure().removeDependendFigure(this);
 		}
 	}
 
@@ -360,4 +362,13 @@ public  class LineConnection extends PolyLineFigure implements ConnectionFigure
 	public void visit(FigureVisitor visitor) {
 		visitor.visitFigure(this);
 	}
+
+	/**
+	 * @see CH.ifa.draw.framework.Figure#removeFromContainer(CH.ifa.draw.framework.FigureChangeListener)
+	 */
+	public void removeFromContainer(FigureChangeListener c) {
+		super.removeFromContainer(c);
+		release();
+	}
+
 }
diff --git a/jhotdraw6/src/org/jhotdraw/figures/LineConnection.java b/jhotdraw6/src/org/jhotdraw/figures/LineConnection.java
index 85f1e14f3..0364673b9 100644
--- a/jhotdraw6/src/org/jhotdraw/figures/LineConnection.java
+++ b/jhotdraw6/src/org/jhotdraw/figures/LineConnection.java
@@ -317,9 +317,11 @@ public  class LineConnection extends PolyLineFigure implements ConnectionFigure
 		handleDisconnect(startFigure(), endFigure());
 		if (getStartConnector() != null) {
 			startFigure().removeFigureChangeListener(this);
+			startFigure().removeDependendFigure(this);
 		}
 		if (getEndConnector() != null) {
 			endFigure().removeFigureChangeListener(this);
+			endFigure().removeDependendFigure(this);
 		}
 	}
 
@@ -360,4 +362,13 @@ public  class LineConnection extends PolyLineFigure implements ConnectionFigure
 	public void visit(FigureVisitor visitor) {
 		visitor.visitFigure(this);
 	}
+
+	/**
+	 * @see CH.ifa.draw.framework.Figure#removeFromContainer(CH.ifa.draw.framework.FigureChangeListener)
+	 */
+	public void removeFromContainer(FigureChangeListener c) {
+		super.removeFromContainer(c);
+		release();
+	}
+
 }
-- 
GitLab