diff --git a/core/src/net/sf/openrocket/rocketcomponent/Rocket.java b/core/src/net/sf/openrocket/rocketcomponent/Rocket.java index f29a5f4f5..c65b05459 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/Rocket.java +++ b/core/src/net/sf/openrocket/rocketcomponent/Rocket.java @@ -413,7 +413,9 @@ public class Rocket extends ComponentAssembly { @Override public void addComponentChangeListener(ComponentChangeListener l) { checkState(); - listenerList.add(l); + if( ! listenerList.contains(l)) { + listenerList.add(l); + } log.trace("Added ComponentChangeListener " + l + ", current number of listeners is " + listenerList.size()); } diff --git a/swing/src/net/sf/openrocket/gui/configdialog/ComponentConfigDialog.java b/swing/src/net/sf/openrocket/gui/configdialog/ComponentConfigDialog.java index 82b3864cc..38bc115e4 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/ComponentConfigDialog.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/ComponentConfigDialog.java @@ -60,10 +60,6 @@ public class ComponentConfigDialog extends JDialog implements ComponentChangeLis * @param component Component to configure. */ private void setComponent(OpenRocketDocument document, RocketComponent component) { - if (this.document != null) { - this.document.getRocket().removeComponentChangeListener(this); - } - if (configurator != null) { // Remove listeners by setting all applicable models to null GUIUtil.setNullModels(configurator); // null-safe