diff options
| author | Rémi Verschelde <remi@verschelde.fr> | 2021-07-26 19:45:04 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-07-26 19:45:04 +0200 |
| commit | fab3412139ce6b4befcba950896e45a44365e2f6 (patch) | |
| tree | d6091ad1438d41eed088ed28a60cfed0c7e6663b /editor/editor_node.cpp | |
| parent | a504e4d4c3af53bb21a0013132719affd3e21798 (diff) | |
| parent | 92299989bd10fd9855b6d77bc2bfabae218d1eea (diff) | |
Merge pull request #50899 from akien-mga/refref
Use Ref<T> references as iterators where relevant
Diffstat (limited to 'editor/editor_node.cpp')
| -rw-r--r-- | editor/editor_node.cpp | 29 |
1 files changed, 4 insertions, 25 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 267854d7ec..46d76a946f 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -797,8 +797,8 @@ void EditorNode::_resources_changed(const Vector<String> &p_resources) { } if (changed.size()) { - for (Ref<Resource> E : changed) { - E->reload_from_file(); + for (Ref<Resource> &res : changed) { + res->reload_from_file(); } } } @@ -1551,7 +1551,7 @@ int EditorNode::_save_external_resources() { int saved = 0; List<Ref<Resource>> cached; ResourceCache::get_cached_resources(&cached); - for (Ref<Resource> res : cached) { + for (const Ref<Resource> &res : cached) { if (!res->get_path().is_resource_file()) { continue; } @@ -1641,7 +1641,7 @@ void EditorNode::_save_scene(String p_file, int idx) { editor_data.save_editor_external_data(); - for (Ref<AnimatedValuesBackup> E : anim_backups) { + for (Ref<AnimatedValuesBackup> &E : anim_backups) { E->restore(); } @@ -5333,27 +5333,6 @@ void EditorNode::_file_access_close_error_notify(const String &p_str) { } void EditorNode::reload_scene(const String &p_path) { - /* - * No longer necessary since scenes now reset and reload their internal resource if needed. - //first of all, reload internal textures, materials, meshes, etc. as they might have changed on disk - - List<Ref<Resource>> cached; - ResourceCache::get_cached_resources(&cached); - List<Ref<Resource>> to_clear; //clear internal resources from previous scene from being used - for (Ref<Resource> E : cached) { - if (E->get_path().begins_with(p_path + "::")) { //subresources of existing scene - to_clear.push_back(E); - } - } - - //so reload reloads everything, clear subresources of previous scene - while (to_clear.front()) { - to_clear.front()->get()->set_path(""); - to_clear.pop_front(); - } - - */ - int scene_idx = -1; for (int i = 0; i < editor_data.get_edited_scene_count(); i++) { if (editor_data.get_scene_path(i) == p_path) { |