mirror of
https://github.com/godotengine/godot
synced 2024-09-16 00:07:17 +00:00
Merge pull request #76122 from spanzeri/fix_animation_snap_slider_crash
Fix editor spin slider remaining editable if set read_only during and edit and fix related animation player crash
This commit is contained in:
commit
91bcfa8896
|
@ -4639,6 +4639,10 @@ void AnimationTrackEditor::_update_scroll(double) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void AnimationTrackEditor::_update_step(double p_new_step) {
|
void AnimationTrackEditor::_update_step(double p_new_step) {
|
||||||
|
if (animation.is_null()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
EditorUndoRedoManager *undo_redo = EditorUndoRedoManager::get_singleton();
|
EditorUndoRedoManager *undo_redo = EditorUndoRedoManager::get_singleton();
|
||||||
undo_redo->create_action(TTR("Change Animation Step"));
|
undo_redo->create_action(TTR("Change Animation Step"));
|
||||||
float step_value = p_new_step;
|
float step_value = p_new_step;
|
||||||
|
|
|
@ -573,8 +573,13 @@ void EditorSpinSlider::_value_focus_exited() {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_read_only()) {
|
||||||
|
// Spin slider has become read only while it was being edited.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
_evaluate_input_text();
|
_evaluate_input_text();
|
||||||
// focus is not on the same element after the vlalue_input was exited
|
// focus is not on the same element after the value_input was exited
|
||||||
// -> focus is on next element
|
// -> focus is on next element
|
||||||
// -> TAB was pressed
|
// -> TAB was pressed
|
||||||
// -> modal_close was not called
|
// -> modal_close was not called
|
||||||
|
@ -604,6 +609,10 @@ void EditorSpinSlider::_grabber_mouse_exited() {
|
||||||
|
|
||||||
void EditorSpinSlider::set_read_only(bool p_enable) {
|
void EditorSpinSlider::set_read_only(bool p_enable) {
|
||||||
read_only = p_enable;
|
read_only = p_enable;
|
||||||
|
if (read_only && value_input) {
|
||||||
|
value_input->release_focus();
|
||||||
|
}
|
||||||
|
|
||||||
queue_redraw();
|
queue_redraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue