From 392e43c953e299ec2ea6e22f2d1405ae9297004f Mon Sep 17 00:00:00 2001 From: Sidharth-Singh10 Date: Wed, 19 Mar 2025 22:12:38 +0530 Subject: [PATCH] fix gradient tool incorrectly selecting end point on pointer up --- .../src/messages/tool/tool_messages/gradient_tool.rs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/editor/src/messages/tool/tool_messages/gradient_tool.rs b/editor/src/messages/tool/tool_messages/gradient_tool.rs index d90d6b2d8d..a16eacc037 100644 --- a/editor/src/messages/tool/tool_messages/gradient_tool.rs +++ b/editor/src/messages/tool/tool_messages/gradient_tool.rs @@ -476,12 +476,15 @@ impl Fsm for GradientToolFsmState { (GradientToolFsmState::Drawing, GradientToolMessage::PointerUp) => { input.mouse.finish_transaction(tool_data.drag_start, responses); tool_data.snap_manager.cleanup(responses); - if let Some(selected_layer) = document.click(input) { - if let Some(gradient) = get_gradient(selected_layer, &document.network_interface) { - tool_data.selected_gradient = Some(SelectedGradient::new(gradient, selected_layer, document)); + let was_dragging = tool_data.selected_gradient.is_some(); + + if !was_dragging { + if let Some(selected_layer) = document.click(input) { + if let Some(gradient) = get_gradient(selected_layer, &document.network_interface) { + tool_data.selected_gradient = Some(SelectedGradient::new(gradient, selected_layer, document)); + } } } - GradientToolFsmState::Ready }