mirror of
https://github.com/GraphiteEditor/Graphite.git
synced 2026-09-25 23:18:12 +08:00
Fix crash when ungrouping a direct child of the root in debug mode (#2241)
Fix crash when ungrouping a child of the root in debug mode
This commit is contained in:
@@ -1208,9 +1208,15 @@ impl MessageHandler<DocumentMessage, DocumentMessageData<'_>> for DocumentMessag
|
|||||||
insert_index: folder_index,
|
insert_index: folder_index,
|
||||||
});
|
});
|
||||||
|
|
||||||
let layer_local_transform = self.network_interface.document_metadata().transform_to_viewport(child);
|
let metadata = self.network_interface.document_metadata();
|
||||||
let undo_transform = self.network_interface.document_metadata().transform_to_viewport(parent).inverse();
|
let layer_local_transform = metadata.transform_to_viewport(child);
|
||||||
let transform = undo_transform * layer_local_transform;
|
let undo_parent_transform = if parent == LayerNodeIdentifier::ROOT_PARENT {
|
||||||
|
// This is functionally the same as transform_to_viewport for the root, however to_node cannot run on the root in debug mode.
|
||||||
|
metadata.document_to_viewport.inverse()
|
||||||
|
} else {
|
||||||
|
metadata.transform_to_viewport(parent).inverse()
|
||||||
|
};
|
||||||
|
let transform = undo_parent_transform * layer_local_transform;
|
||||||
responses.add(GraphOperationMessage::TransformSet {
|
responses.add(GraphOperationMessage::TransformSet {
|
||||||
layer: child,
|
layer: child,
|
||||||
transform,
|
transform,
|
||||||
|
|||||||
Reference in New Issue
Block a user