mirror of
https://github.com/godotengine/godot.git
synced 2024-11-27 09:16:35 +08:00
Fix crash when removing child during focus exit.
This commit is contained in:
parent
c1ad74d4c3
commit
f745299c36
@ -2427,10 +2427,12 @@ void Viewport::_gui_control_grab_focus(Control *p_control) {
|
||||
return;
|
||||
}
|
||||
get_tree()->call_group("_viewports", "_gui_remove_focus_for_window", (Node *)get_base_window());
|
||||
gui.key_focus = p_control;
|
||||
emit_signal(SNAME("gui_focus_changed"), p_control);
|
||||
p_control->notification(Control::NOTIFICATION_FOCUS_ENTER);
|
||||
p_control->queue_redraw();
|
||||
if (p_control->is_inside_tree() && p_control->get_viewport() == this) {
|
||||
gui.key_focus = p_control;
|
||||
emit_signal(SNAME("gui_focus_changed"), p_control);
|
||||
p_control->notification(Control::NOTIFICATION_FOCUS_ENTER);
|
||||
p_control->queue_redraw();
|
||||
}
|
||||
}
|
||||
|
||||
void Viewport::_gui_accept_event() {
|
||||
|
Loading…
Reference in New Issue
Block a user