diff options
Diffstat (limited to 'editor/editor_folding.cpp')
-rw-r--r-- | editor/editor_folding.cpp | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/editor/editor_folding.cpp b/editor/editor_folding.cpp index 475f16f12f..507a77e641 100644 --- a/editor/editor_folding.cpp +++ b/editor/editor_folding.cpp @@ -34,12 +34,12 @@ #include "editor_inspector.h" #include "editor_settings.h" -PoolVector<String> EditorFolding::_get_unfolds(const Object *p_object) { +Vector<String> EditorFolding::_get_unfolds(const Object *p_object) { - PoolVector<String> sections; + Vector<String> sections; sections.resize(p_object->editor_get_section_folding().size()); if (sections.size()) { - PoolVector<String>::Write w = sections.write(); + String *w = sections.ptrw(); int idx = 0; for (const Set<String>::Element *E = p_object->editor_get_section_folding().front(); E; E = E->next()) { w[idx++] = E->get(); @@ -52,7 +52,7 @@ PoolVector<String> EditorFolding::_get_unfolds(const Object *p_object) { void EditorFolding::save_resource_folding(const RES &p_resource, const String &p_path) { Ref<ConfigFile> config; config.instance(); - PoolVector<String> unfolds = _get_unfolds(p_resource.ptr()); + Vector<String> unfolds = _get_unfolds(p_resource.ptr()); config->set_value("folding", "sections_unfolded", unfolds); String file = p_path.get_file() + "-folding-" + p_path.md5_text() + ".cfg"; @@ -60,10 +60,10 @@ void EditorFolding::save_resource_folding(const RES &p_resource, const String &p config->save(file); } -void EditorFolding::_set_unfolds(Object *p_object, const PoolVector<String> &p_unfolds) { +void EditorFolding::_set_unfolds(Object *p_object, const Vector<String> &p_unfolds) { int uc = p_unfolds.size(); - PoolVector<String>::Read r = p_unfolds.read(); + const String *r = p_unfolds.ptr(); p_object->editor_clear_section_folding(); for (int i = 0; i < uc; i++) { p_object->editor_set_section_unfold(r[i], true); @@ -82,7 +82,7 @@ void EditorFolding::load_resource_folding(RES p_resource, const String &p_path) return; } - PoolVector<String> unfolds; + Vector<String> unfolds; if (config->has_section_key("folding", "sections_unfolded")) { unfolds = config->get_value("folding", "sections_unfolded"); @@ -103,7 +103,7 @@ void EditorFolding::_fill_folds(const Node *p_root, const Node *p_node, Array &p if (p_node->is_displayed_folded()) { nodes_folded.push_back(p_root->get_path_to(p_node)); } - PoolVector<String> unfolds = _get_unfolds(p_node); + Vector<String> unfolds = _get_unfolds(p_node); if (unfolds.size()) { p_folds.push_back(p_root->get_path_to(p_node)); @@ -118,7 +118,7 @@ void EditorFolding::_fill_folds(const Node *p_root, const Node *p_node, Array &p RES res = p_node->get(E->get().name); if (res.is_valid() && !resources.has(res) && res->get_path() != String() && !res->get_path().is_resource_file()) { - PoolVector<String> res_unfolds = _get_unfolds(res.ptr()); + Vector<String> res_unfolds = _get_unfolds(res.ptr()); resource_folds.push_back(res->get_path()); resource_folds.push_back(res_unfolds); resources.insert(res); @@ -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; @@ -184,7 +186,7 @@ void EditorFolding::load_scene_folding(Node *p_scene, const String &p_path) { for (int i = 0; i < unfolds.size(); i += 2) { NodePath path2 = unfolds[i]; - PoolVector<String> un = unfolds[i + 1]; + Vector<String> un = unfolds[i + 1]; Node *node = p_scene->get_node_or_null(path2); if (!node) { continue; @@ -202,7 +204,7 @@ void EditorFolding::load_scene_folding(Node *p_scene, const String &p_path) { continue; } - PoolVector<String> unfolds2 = res_unfolds[i + 1]; + Vector<String> unfolds2 = res_unfolds[i + 1]; _set_unfolds(res.ptr(), unfolds2); } |