diff --git a/scene/gui/spin_box.cpp b/scene/gui/spin_box.cpp index 8fe9b05ae32..ffe6e2bb978 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; }