Fix crash on closing empty modified scene

(cherry picked from commit 49d5ec073f)
This commit is contained in:
jmb462 2021-03-13 18:19:29 +01:00 committed by Rémi Verschelde
parent b674d934c4
commit 4b2b45f72b
No known key found for this signature in database
GPG Key ID: C3336907360768E1
1 changed files with 8 additions and 5 deletions

View File

@ -2340,12 +2340,15 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
_scene_tab_changed(tab_closing); _scene_tab_changed(tab_closing);
if (unsaved_cache || p_option == FILE_CLOSE_ALL_AND_QUIT || p_option == FILE_CLOSE_ALL_AND_RUN_PROJECT_MANAGER) { if (unsaved_cache || p_option == FILE_CLOSE_ALL_AND_QUIT || p_option == FILE_CLOSE_ALL_AND_RUN_PROJECT_MANAGER) {
String scene_filename = editor_data.get_edited_scene_root(tab_closing)->get_filename(); Node *scene_root = editor_data.get_edited_scene_root(tab_closing);
if (scene_root) {
String scene_filename = scene_root->get_filename();
save_confirmation->get_ok()->set_text(TTR("Save & Close")); save_confirmation->get_ok()->set_text(TTR("Save & Close"));
save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), scene_filename != "" ? scene_filename : "unsaved scene")); save_confirmation->set_text(vformat(TTR("Save changes to '%s' before closing?"), scene_filename != "" ? scene_filename : "unsaved scene"));
save_confirmation->popup_centered_minsize(); save_confirmation->popup_centered_minsize();
break; break;
} }
}
} else if (p_option == FILE_CLOSE) { } else if (p_option == FILE_CLOSE) {
tab_closing = editor_data.get_edited_scene(); tab_closing = editor_data.get_edited_scene();
} }