Merge pull request #78591 from ajreckof/Fix-crash-when-removing-child-during-focus-exit-

Fix crash when removing child during focus exit.
This commit is contained in:
Rémi Verschelde 2023-06-23 22:45:51 +02:00 committed by GitHub
commit afe65de110
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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() {