From 7375fe2173c486b2ce7fe2e266659d486fddddf5 Mon Sep 17 00:00:00 2001 From: Robert Yevdokimov <105675984+ryevdokimov@users.noreply.github.com> Date: Tue, 26 Nov 2024 15:31:22 -0500 Subject: [PATCH] Fix removing last digit in spinbox while update_on_text_changed is true --- scene/gui/spin_box.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/scene/gui/spin_box.cpp b/scene/gui/spin_box.cpp index 2928794551e..b62f5c43578 100644 --- a/scene/gui/spin_box.cpp +++ b/scene/gui/spin_box.cpp @@ -68,6 +68,10 @@ void SpinBox::_update_text(bool p_keep_line_edit) { } void SpinBox::_text_submitted(const String &p_string) { + if (p_string.is_empty()) { + return; + } + Ref expr; expr.instantiate(); @@ -284,8 +288,8 @@ void SpinBox::_line_edit_editing_toggled(bool p_toggled_on) { line_edit->select_all(); } } else { - // Discontinue because the focus_exit was caused by canceling. - if (Input::get_singleton()->is_action_pressed("ui_cancel")) { + // Discontinue because the focus_exit was caused by canceling or the text is empty. + if (Input::get_singleton()->is_action_pressed("ui_cancel") || line_edit->get_text().is_empty()) { _update_text(); return; }