Skip to content

Commit 633498f

Browse files
committed
tmp, skip ones being added to ab
1 parent 346fc93 commit 633498f

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

editor/src/messages/portfolio/portfolio_message_handler.rs

+13-1
Original file line numberDiff line numberDiff line change
@@ -934,6 +934,7 @@ impl MessageHandler<PortfolioMessage, PortfolioMessageData<'_>> for PortfolioMes
934934
let viewport_center_in_doc_space = transform.inverse().transform_point2(viewport_center);
935935

936936
let mut positions = Vec::new();
937+
let mut artboards = Vec::new(); // Track artboards separately
937938

938939
for &layer in &layers {
939940
if document.network_interface.is_artboard(&layer.to_node(), &[]) {
@@ -946,8 +947,20 @@ impl MessageHandler<PortfolioMessage, PortfolioMessageData<'_>> for PortfolioMes
946947
}
947948

948949
positions.push((layer, bounds[0], true));
950+
artboards.push(layer); // Add to artboards list
949951
}
950952
} else {
953+
// Skip layers that are children of artboards we're already moving
954+
let is_child_of_moving_artboard = artboards.iter().any(|&artboard| {
955+
layer.ancestors(document.metadata())
956+
.skip(1) // Skip self
957+
.any(|ancestor| ancestor == artboard)
958+
});
959+
960+
if is_child_of_moving_artboard {
961+
continue; // Skip this layer as its parent artboard will be moved
962+
}
963+
951964
if let Some(mut modify_inputs) = ModifyInputsContext::new_with_layer(layer, &mut document.network_interface, responses) {
952965
if let Some(transform_node_id) = modify_inputs.existing_node_id("Transform", true) {
953966
if let Some(network) = modify_inputs.network_interface.network(&[]) {
@@ -1002,7 +1015,6 @@ impl MessageHandler<PortfolioMessage, PortfolioMessageData<'_>> for PortfolioMes
10021015
}
10031016
}
10041017
}
1005-
10061018
PortfolioMessage::PasteImage {
10071019
name,
10081020
image,

0 commit comments

Comments
 (0)