2
0
Эх сурвалжийг харах

Fix #29478 multiple modals possibly freeze

(cherry picked from commit c16e764bb2ae2f038abac8b1fc2518bba3dbf3db)
Shiqing 6 жил өмнө
parent
commit
c9422b9c23

+ 2 - 2
scene/main/viewport.cpp

@@ -2561,7 +2561,7 @@ void Viewport::_drop_mouse_focus() {
 
 List<Control *>::Element *Viewport::_gui_show_modal(Control *p_control) {
 
-	gui.modal_stack.push_back(p_control);
+	List<Control *>::Element *node = gui.modal_stack.push_back(p_control);
 	if (gui.key_focus)
 		p_control->_modal_set_prev_focus_owner(gui.key_focus->get_instance_id());
 	else
@@ -2572,7 +2572,7 @@ List<Control *>::Element *Viewport::_gui_show_modal(Control *p_control) {
 		_drop_mouse_focus();
 	}
 
-	return gui.modal_stack.back();
+	return node;
 }
 
 Control *Viewport::_gui_get_focus_owner() {