diff --git a/JHotDraw/src/CH/ifa/draw/figures/LineConnection.java b/JHotDraw/src/CH/ifa/draw/figures/LineConnection.java
index 85f1e14f360cd04ac2c7ceaec93b1bdae639c754..0364673b9c947f1f26143f5510f24eb992ce0059 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 85f1e14f360cd04ac2c7ceaec93b1bdae639c754..0364673b9c947f1f26143f5510f24eb992ce0059 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();
+ }
+
}