|
@@ -2387,11 +2387,14 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
|
|
|
_scene_tab_changed(tab_closing);
|
|
|
|
|
|
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();
|
|
|
- save_confirmation->get_ok_button()->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->popup_centered();
|
|
|
- break;
|
|
|
+ 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_button()->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->popup_centered();
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
} else if (p_option == FILE_CLOSE) {
|
|
|
tab_closing = editor_data.get_edited_scene();
|