Fix issue in override parent updating for sub-children

This commit is contained in:
SiboVG 2022-11-09 04:31:09 +01:00
parent 072616468e
commit 03431b9c41

View File

@ -1713,6 +1713,12 @@ public abstract class RocketComponent implements ChangeSource, Cloneable, Iterab
} else { } else {
component.CDOverriddenBy = this.CDOverriddenBy; component.CDOverriddenBy = this.CDOverriddenBy;
} }
for (Iterator<RocketComponent> it = component.iterator(false); it.hasNext(); ) {
RocketComponent child = it.next();
child.massOverriddenBy = component.massOverriddenBy;
child.CGOverriddenBy = component.CGOverriddenBy;
child.CDOverriddenBy = component.CDOverriddenBy;
}
if (component instanceof AxialStage) { if (component instanceof AxialStage) {
AxialStage nStage = (AxialStage) component; AxialStage nStage = (AxialStage) component;
@ -1753,9 +1759,11 @@ public abstract class RocketComponent implements ChangeSource, Cloneable, Iterab
if (children.remove(component)) { if (children.remove(component)) {
component.parent = null; component.parent = null;
component.massOverriddenBy = null; for (RocketComponent c : component) {
component.CGOverriddenBy = null; c.massOverriddenBy = null;
component.CDOverriddenBy = null; c.CGOverriddenBy = null;
c.CDOverriddenBy = null;
}
if (component instanceof AxialStage) { if (component instanceof AxialStage) {
AxialStage stage = (AxialStage) component; AxialStage stage = (AxialStage) component;