diff options
author | RĂ©mi Verschelde <rverschelde@gmail.com> | 2020-03-05 14:23:43 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-05 14:23:43 +0100 |
commit | 54a8bad8fe8706a76315ceded6d13c14b697e8e8 (patch) | |
tree | c1922f1033a040ada4e2986ab70167d77317f393 | |
parent | da502f744efed6bc8db73b299cc6695f8c0201a2 (diff) | |
parent | 3275e8488b59fb8a7a53c4edc0e6755b0ced782c (diff) |
Merge pull request #36700 from ThakeeNathees/scene-tab-bug-fix
Fix possible EditorFolding crash when switching scenes
-rw-r--r-- | editor/editor_folding.cpp | 2 | ||||
-rw-r--r-- | editor/editor_node.cpp | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/editor/editor_folding.cpp b/editor/editor_folding.cpp index 8308cd760b..507a77e641 100644 --- a/editor/editor_folding.cpp +++ b/editor/editor_folding.cpp @@ -133,6 +133,8 @@ void EditorFolding::_fill_folds(const Node *p_root, const Node *p_node, Array &p } void EditorFolding::save_scene_folding(const Node *p_scene, const String &p_path) { + ERR_FAIL_NULL(p_scene); + FileAccessRef file_check = FileAccess::create(FileAccess::ACCESS_RESOURCES); if (!file_check->file_exists(p_path)) //This can happen when creating scene from FilesystemDock. It has path, but no file. return; diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 6f8027ba64..43e640b40e 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -3279,7 +3279,7 @@ void EditorNode::_clear_undo_history() { void EditorNode::set_current_scene(int p_idx) { //Save the folding in case the scene gets reloaded. - if (editor_data.get_scene_path(p_idx) != "") + if (editor_data.get_scene_path(p_idx) != "" && editor_data.get_edited_scene_root(p_idx)) editor_folding.save_scene_folding(editor_data.get_edited_scene_root(p_idx), editor_data.get_scene_path(p_idx)); if (editor_data.check_and_update_scene(p_idx)) { |