From: Christoph S. <ste...@us...> - 2004-09-29 08:41:43
|
Update of /cvsroot/cdk/cdk/src/org/openscience/cdk In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10095/org/openscience/cdk Modified Files: AtomContainer.java Log Message: AtomContainer.removeAllElements() now unregisters with removed elements Index: AtomContainer.java =================================================================== RCS file: /cvsroot/cdk/cdk/src/org/openscience/cdk/AtomContainer.java,v retrieving revision 1.61 retrieving revision 1.62 diff -u -r1.61 -r1.62 --- AtomContainer.java 23 Sep 2004 19:30:18 -0000 1.61 +++ AtomContainer.java 29 Sep 2004 08:41:15 -0000 1.62 @@ -1130,6 +1130,8 @@ */ public void removeAllElements() { + unregisterElectronContainerListeners(); + unregisterAtomListeners(); atoms = new Atom[growArraySize]; electronContainers = new ElectronContainer[growArraySize]; atomCount = 0; @@ -1143,6 +1145,7 @@ */ public void removeAllElectronContainers() { + unregisterElectronContainerListeners(); electronContainers = new ElectronContainer[growArraySize]; electronContainerCount = 0; notifyChanged(); @@ -1258,6 +1261,22 @@ } return false; } + + public void unregisterElectronContainerListeners() + { + for (int f = 0; f < getElectronContainerCount(); f++) + { + getElectronContainerAt(f).removeListener(this); + } + } + + public void unregisterAtomListeners() + { + for (int f = 0; f < getAtomCount(); f++) + { + getAtomAt(f).removeListener(this); + } + } /** |