summaryrefslogtreecommitdiff
path: root/editor/editor_node.cpp
diff options
context:
space:
mode:
authorGeorge Marques <george@gmarqu.es>2017-07-09 17:11:03 -0300
committerGitHub <noreply@github.com>2017-07-09 17:11:03 -0300
commit159b1fc65f650df0428dbfa9d14e3fd0bcfb94d0 (patch)
tree9aff5bdd913be7b1f8e81a9f5032d5d8e00b6a55 /editor/editor_node.cpp
parent0bf88e4b38ff6665cc3cc69c2d8a4723481b8586 (diff)
parent7c5a19dcd66883fea6574fddefdba8730f49d34c (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.cpp6
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() :