Skip to content

Commit 3c425d9

Browse files
Fix Gradient tool always re-selecting its end point after any click/drag (#2472)
fix gradient tool incorrectly selecting end point on pointer up Co-authored-by: Keavon Chambers <keavon@keavon.com>
1 parent 56fafa9 commit 3c425d9

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

editor/src/messages/tool/tool_messages/gradient_tool.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -476,12 +476,15 @@ impl Fsm for GradientToolFsmState {
476476
(GradientToolFsmState::Drawing, GradientToolMessage::PointerUp) => {
477477
input.mouse.finish_transaction(tool_data.drag_start, responses);
478478
tool_data.snap_manager.cleanup(responses);
479-
if let Some(selected_layer) = document.click(input) {
480-
if let Some(gradient) = get_gradient(selected_layer, &document.network_interface) {
481-
tool_data.selected_gradient = Some(SelectedGradient::new(gradient, selected_layer, document));
479+
let was_dragging = tool_data.selected_gradient.is_some();
480+
481+
if !was_dragging {
482+
if let Some(selected_layer) = document.click(input) {
483+
if let Some(gradient) = get_gradient(selected_layer, &document.network_interface) {
484+
tool_data.selected_gradient = Some(SelectedGradient::new(gradient, selected_layer, document));
485+
}
482486
}
483487
}
484-
485488
GradientToolFsmState::Ready
486489
}
487490

0 commit comments

Comments
 (0)