From 579bedd9ff64105a139333deb0095fd92ee8ebe0 Mon Sep 17 00:00:00 2001 From: Adesh Gupta <148623820+4adex@users.noreply.github.com> Date: Wed, 18 Jun 2025 14:06:32 +0530 Subject: [PATCH] Fix editor crash when anchor sliding, followup to #2682 (#2726) Fix editor crash due to unwrap --- .../messages/tool/tool_messages/path_tool.rs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/editor/src/messages/tool/tool_messages/path_tool.rs b/editor/src/messages/tool/tool_messages/path_tool.rs index a25b32b4..1cf4960c 100644 --- a/editor/src/messages/tool/tool_messages/path_tool.rs +++ b/editor/src/messages/tool/tool_messages/path_tool.rs @@ -2261,14 +2261,17 @@ fn update_dynamic_hints(state: PathToolFsmState, responses: &mut VecDeque= 1; - let single_colinear_anchor_selected = if single_anchor_selected { - let anchor = shape_editor.selected_points().next().unwrap(); - let layer = document.network_interface.selected_nodes().selected_layers(document.metadata()).next().unwrap(); - let vector_data = document.network_interface.compute_modified_vector(layer).unwrap(); - vector_data.colinear(*anchor) - } else { - false - }; + let mut single_colinear_anchor_selected = false; + if single_anchor_selected { + if let (Some(anchor), Some(layer)) = ( + shape_editor.selected_points().next(), + document.network_interface.selected_nodes().selected_layers(document.metadata()).next(), + ) { + if let Some(vector_data) = document.network_interface.compute_modified_vector(layer) { + single_colinear_anchor_selected = vector_data.colinear(*anchor) + } + } + } let mut drag_selected_hints = vec![HintInfo::mouse(MouseMotion::LmbDrag, "Drag Selected")]; let mut delete_selected_hints = vec![HintInfo::keys([Key::Delete], "Delete Selected")];