Fix orphaned child layers left behind when a group is ungrouped or deleted (#1655)
* Fix Incomplete Deletion of Children Nodes in delete_layer Function * delete debug message * change variable name on iterator of child_layers
This commit is contained in:
parent
b31e8f7b6d
commit
c8ea9e05a6
|
|
@ -516,7 +516,9 @@ impl<'a> ModifyInputsContext<'a> {
|
|||
return;
|
||||
};
|
||||
|
||||
LayerNodeIdentifier::new(id, self.document_network).delete(self.document_metadata);
|
||||
let layer_node = LayerNodeIdentifier::new(id, self.document_network);
|
||||
let child_layers = layer_node.decendants(self.document_metadata).map(|layer| layer.to_node()).collect::<Vec<_>>();
|
||||
layer_node.delete(self.document_metadata);
|
||||
|
||||
let new_input = node.inputs[1].clone();
|
||||
let deleted_position = node.metadata.position;
|
||||
|
|
@ -536,7 +538,7 @@ impl<'a> ModifyInputsContext<'a> {
|
|||
}
|
||||
|
||||
let mut delete_nodes = vec![id];
|
||||
for (_node, id) in self.document_network.upstream_flow_back_from_nodes(vec![id], true) {
|
||||
for (_node, id) in self.document_network.upstream_flow_back_from_nodes([vec![id], child_layers].concat(), true) {
|
||||
// Don't delete the node if other layers depend on it.
|
||||
if self.outwards_links.get(&id).is_some_and(|nodes| nodes.len() > 1) {
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in New Issue