diff --git a/swing/src/net/sf/openrocket/gui/main/RocketActions.java b/swing/src/net/sf/openrocket/gui/main/RocketActions.java index 5ee3324c1..21aba0b4e 100644 --- a/swing/src/net/sf/openrocket/gui/main/RocketActions.java +++ b/swing/src/net/sf/openrocket/gui/main/RocketActions.java @@ -1236,7 +1236,22 @@ public class RocketActions { @Override public void clipboardChanged() { List components = selectionModel.getSelectedComponents(); - this.setEnabled(!components.isEmpty()); + boolean containsMassiveComponent = containsMassiveComponent(components); + this.setEnabled(containsMassiveComponent); + } + + private static boolean containsMassiveComponent(List components) { + for (RocketComponent component : components) { + if (component.isMassive()) { + return true; + } + for (RocketComponent child : component.getAllChildren()) { + if (child.isMassive()) { + return true; + } + } + } + return false; } }