|
|
@@ -63,6 +63,7 @@ void EditorSpinSlider::_gui_input(const Ref<InputEvent> &p_event) {
|
|
|
|
|
|
grabbing_spinner_attempt = true;
|
|
|
grabbing_spinner_dist_cache = 0;
|
|
|
+ pre_grab_value = get_value();
|
|
|
grabbing_spinner = false;
|
|
|
grabbing_spinner_mouse_pos = Input::get_singleton()->get_mouse_position();
|
|
|
}
|
|
|
@@ -107,10 +108,10 @@ void EditorSpinSlider::_gui_input(const Ref<InputEvent> &p_event) {
|
|
|
if (ABS(grabbing_spinner_dist_cache) > 6) {
|
|
|
set_value(get_value() + SGN(grabbing_spinner_dist_cache));
|
|
|
grabbing_spinner_dist_cache = 0;
|
|
|
+ pre_grab_value = get_value();
|
|
|
}
|
|
|
} else {
|
|
|
- set_value(get_value() + get_step() * grabbing_spinner_dist_cache * 10);
|
|
|
- grabbing_spinner_dist_cache = 0;
|
|
|
+ set_value(pre_grab_value + get_step() * grabbing_spinner_dist_cache * 10);
|
|
|
}
|
|
|
}
|
|
|
} else if (updown_offset != -1) {
|
|
|
@@ -434,6 +435,7 @@ EditorSpinSlider::EditorSpinSlider() {
|
|
|
grabbing_spinner_attempt = false;
|
|
|
grabbing_spinner = false;
|
|
|
grabbing_spinner_dist_cache = 0;
|
|
|
+ pre_grab_value = 0;
|
|
|
set_focus_mode(FOCUS_ALL);
|
|
|
updown_offset = -1;
|
|
|
hover_updown = false;
|