浏览代码

[3.x] Fix EditorSpinSlider freezes editor when tabbing focus rapidly.

Zae 3 年之前
父节点
当前提交
ee4c533ca6
共有 1 个文件被更改,包括 3 次插入3 次删除
  1. 3 3
      editor/editor_spin_slider.cpp

+ 3 - 3
editor/editor_spin_slider.cpp

@@ -528,9 +528,9 @@ void EditorSpinSlider::_focus_entered() {
 	value_input->set_text(get_text_value());
 	value_input->set_position(gr.position);
 	value_input->set_size(gr.size);
-	value_input->call_deferred("show_modal");
-	value_input->call_deferred("grab_focus");
-	value_input->call_deferred("select_all");
+	value_input->show_modal();
+	value_input->select_all();
+	value_input->call_deferred("grab_focus"); // deferred to avoid losing focus
 	value_input->set_focus_next(find_next_valid_focus()->get_path());
 	value_input->set_focus_previous(find_prev_valid_focus()->get_path());
 }