From 7c5a19dcd66883fea6574fddefdba8730f49d34c Mon Sep 17 00:00:00 2001 From: Poommetee Ketson Date: Mon, 10 Jul 2017 01:48:39 +0700 Subject: [PATCH] Fix crash on closing [empty](*) scene tab --- editor/editor_node.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index b61f82ffaf1..a83906ddf34 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -2753,6 +2753,8 @@ int EditorNode::_next_unsaved_scene() { for (int i = 0; i < editor_data.get_edited_scene_count(); i++) { + if (!editor_data.get_edited_scene_root(i)) + continue; int current = editor_data.get_edited_scene(); bool unsaved = (i == current) ? saved_version != editor_data.get_undo_redo().get_version() : editor_data.get_scene_version(i) != 0; if (unsaved) { @@ -4383,6 +4385,10 @@ void EditorNode::_scene_tab_closed(int p_tab) { current_option = SCENE_TAB_CLOSE; tab_closing = p_tab; Node *scene = editor_data.get_edited_scene_root(p_tab); + if (!scene) { + _discard_changes(); + return; + } bool unsaved = (p_tab == editor_data.get_edited_scene()) ? saved_version != editor_data.get_undo_redo().get_version() :