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>
This commit is contained in:
Sidharth-Singh10 2025-04-07 03:44:19 +05:30 committed by GitHub
parent 56fafa942a
commit 3c425d9a71
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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
}