diff options
author | George Marques <george@gmarqu.es> | 2017-07-09 17:11:03 -0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-07-09 17:11:03 -0300 |
commit | 159b1fc65f650df0428dbfa9d14e3fd0bcfb94d0 (patch) | |
tree | 9aff5bdd913be7b1f8e81a9f5032d5d8e00b6a55 /editor/editor_node.cpp | |
parent | 0bf88e4b38ff6665cc3cc69c2d8a4723481b8586 (diff) | |
parent | 7c5a19dcd66883fea6574fddefdba8730f49d34c (diff) |
Merge pull request #9581 from Noshyaar/crashfix
Fix crash on closing [empty](*) scene tab
Diffstat (limited to 'editor/editor_node.cpp')
-rw-r--r-- | editor/editor_node.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index b61f82ffaf..a83906ddf3 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() : |