From 3a591dac6a53454813c8df6ceed5b44b91d1e816 Mon Sep 17 00:00:00 2001 From: Umer Khan Date: Mon, 22 Jul 2024 05:39:39 -0500 Subject: [PATCH] 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> --- editor/src/messages/tool/tool_messages/select_tool.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/editor/src/messages/tool/tool_messages/select_tool.rs b/editor/src/messages/tool/tool_messages/select_tool.rs index 5ef4f968..07dc910e 100644 --- a/editor/src/messages/tool/tool_messages/select_tool.rs +++ b/editor/src/messages/tool/tool_messages/select_tool.rs @@ -1162,7 +1162,14 @@ fn drag_shallowest_manipulation(responses: &mut VecDeque, 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); }