From d2fc662a565b0fccf665eb710bc526d3582d5185 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Sun, 21 Jan 2024 00:01:50 +0100 Subject: [PATCH] Verify listener addition/removal --- .../sf/openrocket/rocketcomponent/Rocket.java | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/core/src/net/sf/openrocket/rocketcomponent/Rocket.java b/core/src/net/sf/openrocket/rocketcomponent/Rocket.java index ef33ccc14..1c308d11c 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/Rocket.java +++ b/core/src/net/sf/openrocket/rocketcomponent/Rocket.java @@ -482,15 +482,22 @@ public class Rocket extends ComponentAssembly { public void addComponentChangeListener(ComponentChangeListener l) { checkState(); - listenerList.add(l); - - log.trace("Added ComponentChangeListener " + l + ", current number of listeners is " + listenerList.size()); + boolean added = listenerList.add(l); + if (added) { + log.trace("Added ComponentChangeListener " + l + ", current number of listeners is " + listenerList.size()); + } else { + log.warn("Attempted to add ComponentChangeListener " + l + " but it was already registered"); + } } @Override public void removeComponentChangeListener(ComponentChangeListener l) { - listenerList.remove(l); - log.trace("Removed ComponentChangeListener " + l + ", current number of listeners is " + listenerList.size()); + boolean removed = listenerList.remove(l); + if (removed) { + log.trace("Removed ComponentChangeListener " + l + ", current number of listeners is " + listenerList.size()); + } else { + log.warn("Attempted to remove ComponentChangeListener " + l + " but it was not registered"); + } } /**