Fix breakage of shallow select mode in the Select tool (#1843)

* fixed bug with shallow selecting ROOT_PARENT

* fixed formatting

---------

Co-authored-by: PersonOOO <82835562+PersonOOO@users.noreply.github.com>
This commit is contained in:
Umer Khan 2024-07-22 05:39:39 -05:00 committed by GitHub
parent fa1535d0bb
commit 3a591dac6a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 8 additions and 1 deletions

View File

@ -1162,7 +1162,14 @@ fn drag_shallowest_manipulation(responses: &mut VecDeque<Message>, selected: Vec
.filter(not_artboard(document))
.find(|&ancestor| document.selected_nodes.selected_layers_contains(ancestor, document.metadata()));
let new_selected = ancestor.unwrap_or_else(|| layer.ancestors(document.metadata()).filter(not_artboard(document)).last().unwrap_or(layer));
let new_selected = ancestor.unwrap_or_else(|| {
layer
.ancestors(document.metadata())
.filter(not_artboard(document))
.filter(|ancestor| *ancestor != LayerNodeIdentifier::ROOT_PARENT)
.last()
.unwrap_or(layer)
});
tool_data.layers_dragging.retain(|layer| !layer.ancestors(document.metadata()).any(|ancestor| ancestor == new_selected));
tool_data.layers_dragging.push(new_selected);
}