diff --git a/editor/src/messages/portfolio/document/document_message_handler.rs b/editor/src/messages/portfolio/document/document_message_handler.rs index 5fc0138c..61bccb39 100644 --- a/editor/src/messages/portfolio/document/document_message_handler.rs +++ b/editor/src/messages/portfolio/document/document_message_handler.rs @@ -684,15 +684,17 @@ impl MessageHandler> for DocumentMessag insert_index: calculated_insert_index, }); - let layer_local_transform = self.network_interface.document_metadata().transform_to_viewport(layer_to_move); - let undo_transform = self.network_interface.document_metadata().transform_to_viewport(parent).inverse(); - let transform = undo_transform * layer_local_transform; - responses.add(GraphOperationMessage::TransformSet { - layer: layer_to_move, - transform, - transform_in: TransformIn::Local, - skip_rerender: false, - }); + if layer_to_move.parent(self.metadata()) != Some(parent) { + let layer_local_transform = self.network_interface.document_metadata().transform_to_viewport(layer_to_move); + let undo_transform = self.network_interface.document_metadata().transform_to_viewport(parent).inverse(); + let transform = undo_transform * layer_local_transform; + responses.add(GraphOperationMessage::TransformSet { + layer: layer_to_move, + transform, + transform_in: TransformIn::Local, + skip_rerender: false, + }); + } } responses.add(NodeGraphMessage::RunDocumentGraph);