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:
parent
fa1535d0bb
commit
3a591dac6a
|
|
@ -1162,7 +1162,14 @@ fn drag_shallowest_manipulation(responses: &mut VecDeque<Message>, selected: Vec
|
||||||
.filter(not_artboard(document))
|
.filter(not_artboard(document))
|
||||||
.find(|&ancestor| document.selected_nodes.selected_layers_contains(ancestor, document.metadata()));
|
.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.retain(|layer| !layer.ancestors(document.metadata()).any(|ancestor| ancestor == new_selected));
|
||||||
tool_data.layers_dragging.push(new_selected);
|
tool_data.layers_dragging.push(new_selected);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue