Skip to content

Commit a8deabb

Browse files
committed
Another fix
1 parent ac32ba6 commit a8deabb

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

core/editor/src/document/document_message_handler.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -629,7 +629,11 @@ impl MessageHandler<DocumentMessage, &InputPreprocessor> for DocumentMessageHand
629629
log::debug!("selected {:?}", selected);
630630
let non_selected: Vec<_> = folder.layer_ids.iter().filter(|id| selected.iter().all(|x| x != id)).collect();
631631
log::debug!("non selected {:?}", non_selected);
632-
let offset = if relative_positon < 0 || non_selected.is_empty() { 0 } else { selected.len() };
632+
let offset = if relative_positon < 0 || non_selected.is_empty() {
633+
0
634+
} else {
635+
(relative_positon as usize).clamp(0, selected.len())
636+
};
633637
let fallback = offset * (non_selected.len().clamp(1, usize::MAX) - 1);
634638
let insert_index = non_selected.iter().position(|x| *x == id).unwrap_or(fallback) as isize + offset as isize;
635639
responses.push_back(DocumentMessage::MoveSelectedLayersTo { path: path.to_vec(), insert_index }.into())

0 commit comments

Comments
 (0)