diff --git a/core/math/a_star_grid_2d.cpp b/core/math/a_star_grid_2d.cpp index 9a6e804a9a..e840030ff9 100644 --- a/core/math/a_star_grid_2d.cpp +++ b/core/math/a_star_grid_2d.cpp @@ -158,7 +158,7 @@ void AStarGrid2D::update() { solid_mask.push_back(false); } solid_mask.push_back(true); - points.push_back(line); + points.push_back(std::move(line)); } for (int32_t x = region.position.x; x < end_x + 2; x++) { diff --git a/core/object/class_db.cpp b/core/object/class_db.cpp index 61dd09801b..1f0e10056e 100644 --- a/core/object/class_db.cpp +++ b/core/object/class_db.cpp @@ -1018,7 +1018,7 @@ void ClassDB::get_method_list_with_compatibility(const StringName &p_class, List #endif // DEBUG_ENABLED for (const KeyValue> &E : type->method_map_compatibility) { - LocalVector compat = E.value; + LocalVector compat(E.value); for (MethodBind *method : compat) { MethodInfo minfo = info_from_bind(method); diff --git a/core/templates/local_vector.h b/core/templates/local_vector.h index 1feaa3f673..bf6fdc072a 100644 --- a/core/templates/local_vector.h +++ b/core/templates/local_vector.h @@ -350,7 +350,7 @@ public: push_back(element); } } - _FORCE_INLINE_ LocalVector(const LocalVector &p_from) { + _FORCE_INLINE_ explicit LocalVector(const LocalVector &p_from) { resize(p_from.size()); for (U i = 0; i < p_from.count; i++) { data[i] = p_from.data[i]; diff --git a/drivers/gles3/storage/texture_storage.cpp b/drivers/gles3/storage/texture_storage.cpp index 178c7749d0..2c36f53e9f 100644 --- a/drivers/gles3/storage/texture_storage.cpp +++ b/drivers/gles3/storage/texture_storage.cpp @@ -1356,7 +1356,7 @@ void TextureStorage::texture_remap_proxies(RID p_from_texture, RID p_to_texture) } // Make a local copy, we're about to change the content of the original. - thread_local LocalVector proxies = from_tex->proxies; + thread_local LocalVector proxies(from_tex->proxies); // Now change them to our new texture. for (RID &proxy : proxies) { diff --git a/editor/settings/editor_build_profile.cpp b/editor/settings/editor_build_profile.cpp index 1f417ba185..0b81de7681 100644 --- a/editor/settings/editor_build_profile.cpp +++ b/editor/settings/editor_build_profile.cpp @@ -485,7 +485,7 @@ EditorBuildProfile::BuildOptionCategory EditorBuildProfile::get_build_option_cat LocalVector EditorBuildProfile::get_build_option_dependencies(BuildOption p_build_option) { ERR_FAIL_INDEX_V(p_build_option, BUILD_OPTION_MAX, LocalVector()); - return build_option_dependencies.has(p_build_option) ? build_option_dependencies[p_build_option] : LocalVector(); + return build_option_dependencies.has(p_build_option) ? LocalVector(build_option_dependencies[p_build_option]) : LocalVector(); } HashMap> EditorBuildProfile::get_build_option_settings(BuildOption p_build_option) { @@ -495,7 +495,7 @@ HashMap> EditorBuildProfile::get_build_option_setti LocalVector EditorBuildProfile::get_build_option_classes(BuildOption p_build_option) { ERR_FAIL_INDEX_V(p_build_option, BUILD_OPTION_MAX, LocalVector()); - return build_option_classes.has(p_build_option) ? build_option_classes[p_build_option] : LocalVector(); + return build_option_classes.has(p_build_option) ? LocalVector(build_option_classes[p_build_option]) : LocalVector(); } String EditorBuildProfile::get_build_option_category_name(BuildOptionCategory p_build_option_category) { diff --git a/modules/navigation_2d/2d/godot_navigation_server_2d.cpp b/modules/navigation_2d/2d/godot_navigation_server_2d.cpp index 2ddf92ec61..9ce5cc5b81 100644 --- a/modules/navigation_2d/2d/godot_navigation_server_2d.cpp +++ b/modules/navigation_2d/2d/godot_navigation_server_2d.cpp @@ -82,7 +82,7 @@ void GodotNavigationServer2D::init() { navmesh_generator_2d = memnew(NavMeshGenerator2D); ERR_FAIL_NULL_MSG(navmesh_generator_2d, "Failed to init NavMeshGenerator2D."); RWLockRead read_lock(geometry_parser_rwlock); - navmesh_generator_2d->set_generator_parsers(generator_parsers); + navmesh_generator_2d->set_generator_parsers(LocalVector(generator_parsers)); #endif // CLIPPER2_ENABLED // TODO } @@ -251,7 +251,7 @@ TypedArray GodotNavigationServer2D::map_get_obstacles(RID p_map) const { TypedArray obstacles_rids; const NavMap2D *map = map_owner.get_or_null(p_map); ERR_FAIL_NULL_V(map, obstacles_rids); - const LocalVector obstacles = map->get_obstacles(); + const LocalVector obstacles(map->get_obstacles()); obstacles_rids.resize(obstacles.size()); for (uint32_t i = 0; i < obstacles.size(); i++) { obstacles_rids[i] = obstacles[i]->get_self(); diff --git a/modules/navigation_2d/2d/nav_mesh_generator_2d.cpp b/modules/navigation_2d/2d/nav_mesh_generator_2d.cpp index 24d496eeb9..89f350ff6d 100644 --- a/modules/navigation_2d/2d/nav_mesh_generator_2d.cpp +++ b/modules/navigation_2d/2d/nav_mesh_generator_2d.cpp @@ -240,7 +240,7 @@ void NavMeshGenerator2D::generator_parse_geometry_node(Ref p_ } } -void NavMeshGenerator2D::set_generator_parsers(LocalVector p_parsers) { +void NavMeshGenerator2D::set_generator_parsers(const LocalVector &p_parsers) { RWLockWrite write_lock(generator_parsers_rwlock); generator_parsers = p_parsers; } diff --git a/modules/navigation_2d/2d/nav_mesh_generator_2d.h b/modules/navigation_2d/2d/nav_mesh_generator_2d.h index f2bd2f8912..23dd606a1b 100644 --- a/modules/navigation_2d/2d/nav_mesh_generator_2d.h +++ b/modules/navigation_2d/2d/nav_mesh_generator_2d.h @@ -91,7 +91,7 @@ public: static void cleanup(); static void finish(); - static void set_generator_parsers(LocalVector p_parsers); + static void set_generator_parsers(const LocalVector &p_parsers); static void parse_source_geometry_data(Ref p_navigation_mesh, Ref p_source_geometry_data, Node *p_root_node, const Callable &p_callback = Callable()); static void bake_from_source_geometry_data(Ref p_navigation_mesh, Ref p_source_geometry_data, const Callable &p_callback = Callable()); diff --git a/modules/navigation_3d/3d/godot_navigation_server_3d.cpp b/modules/navigation_3d/3d/godot_navigation_server_3d.cpp index 35b076c874..31116e9006 100644 --- a/modules/navigation_3d/3d/godot_navigation_server_3d.cpp +++ b/modules/navigation_3d/3d/godot_navigation_server_3d.cpp @@ -333,7 +333,7 @@ TypedArray GodotNavigationServer3D::map_get_obstacles(RID p_map) const { TypedArray obstacles_rids; const NavMap3D *map = map_owner.get_or_null(p_map); ERR_FAIL_NULL_V(map, obstacles_rids); - const LocalVector obstacles = map->get_obstacles(); + const LocalVector obstacles(map->get_obstacles()); obstacles_rids.resize(obstacles.size()); for (uint32_t i = 0; i < obstacles.size(); i++) { obstacles_rids[i] = obstacles[i]->get_self(); diff --git a/modules/navigation_3d/3d/nav_mesh_generator_3d.cpp b/modules/navigation_3d/3d/nav_mesh_generator_3d.cpp index 569a3f500d..bd7e23373b 100644 --- a/modules/navigation_3d/3d/nav_mesh_generator_3d.cpp +++ b/modules/navigation_3d/3d/nav_mesh_generator_3d.cpp @@ -272,7 +272,7 @@ void NavMeshGenerator3D::generator_parse_geometry_node(const Ref } } -void NavMeshGenerator3D::set_generator_parsers(LocalVector p_parsers) { +void NavMeshGenerator3D::set_generator_parsers(const LocalVector &p_parsers) { RWLockWrite write_lock(generator_parsers_rwlock); generator_parsers = p_parsers; } diff --git a/modules/navigation_3d/3d/nav_mesh_generator_3d.h b/modules/navigation_3d/3d/nav_mesh_generator_3d.h index 2ca18163aa..8c5cca50d0 100644 --- a/modules/navigation_3d/3d/nav_mesh_generator_3d.h +++ b/modules/navigation_3d/3d/nav_mesh_generator_3d.h @@ -110,7 +110,7 @@ public: static void cleanup(); static void finish(); - static void set_generator_parsers(LocalVector p_parsers); + static void set_generator_parsers(const LocalVector &p_parsers); static void parse_source_geometry_data(Ref p_navigation_mesh, Ref p_source_geometry_data, Node *p_root_node, const Callable &p_callback = Callable()); static void bake_from_source_geometry_data(Ref p_navigation_mesh, Ref p_source_geometry_data, const Callable &p_callback = Callable()); diff --git a/modules/navigation_3d/editor/navigation_region_3d_editor_plugin.cpp b/modules/navigation_3d/editor/navigation_region_3d_editor_plugin.cpp index 27f134146d..f93686adc8 100644 --- a/modules/navigation_3d/editor/navigation_region_3d_editor_plugin.cpp +++ b/modules/navigation_3d/editor/navigation_region_3d_editor_plugin.cpp @@ -265,7 +265,7 @@ void NavigationRegion3DEditorPlugin::edit(Object *p_object) { NavigationRegion3D *region = Object::cast_to(p_object); if (region) { regions.push_back(region); - navigation_region_editor->edit(regions); + navigation_region_editor->edit(std::move(regions)); return; } } @@ -281,7 +281,7 @@ void NavigationRegion3DEditorPlugin::edit(Object *p_object) { } } - navigation_region_editor->edit(regions); + navigation_region_editor->edit(std::move(regions)); } bool NavigationRegion3DEditorPlugin::handles(Object *p_object) const { diff --git a/scene/3d/spring_bone_simulator_3d.cpp b/scene/3d/spring_bone_simulator_3d.cpp index 4d97752226..f2d7301301 100644 --- a/scene/3d/spring_bone_simulator_3d.cpp +++ b/scene/3d/spring_bone_simulator_3d.cpp @@ -1206,7 +1206,7 @@ LocalVector SpringBoneSimulator3D::get_valid_collision_instance_ids(in if (collisions_dirty) { _find_collisions(); } - return settings[p_index]->cached_collisions; + return LocalVector(settings[p_index]->cached_collisions); } void SpringBoneSimulator3D::set_external_force(const Vector3 &p_force) { diff --git a/scene/resources/3d/importer_mesh.cpp b/scene/resources/3d/importer_mesh.cpp index cd57606417..e2b5e79016 100644 --- a/scene/resources/3d/importer_mesh.cpp +++ b/scene/resources/3d/importer_mesh.cpp @@ -478,7 +478,7 @@ void ImporterMesh::generate_lods(float p_normal_merge_angle, Array p_bone_transf const float max_mesh_error = 1.0f; // We only need LODs that can be selected by error threshold. const unsigned min_target_indices = 12; - LocalVector current_indices = merged_indices; + LocalVector current_indices(merged_indices); float current_error = 0.0f; bool allow_prune = true; diff --git a/scene/resources/surface_tool.cpp b/scene/resources/surface_tool.cpp index 4b545692f0..a57f1e67cb 100644 --- a/scene/resources/surface_tool.cpp +++ b/scene/resources/surface_tool.cpp @@ -776,7 +776,7 @@ void SurfaceTool::deindex() { return; //nothing to deindex } - LocalVector old_vertex_array = vertex_array; + LocalVector old_vertex_array(vertex_array); vertex_array.clear(); for (const int &index : index_array) { ERR_FAIL_COND(uint32_t(index) >= old_vertex_array.size()); @@ -1289,7 +1289,7 @@ void SurfaceTool::optimize_indices_for_cache() { ERR_FAIL_COND(primitive != Mesh::PRIMITIVE_TRIANGLES); ERR_FAIL_COND(index_array.size() % 3 != 0); - LocalVector old_index_array = index_array; + LocalVector old_index_array(index_array); memset(index_array.ptr(), 0, index_array.size() * sizeof(int)); optimize_vertex_cache_func((unsigned int *)index_array.ptr(), (unsigned int *)old_index_array.ptr(), old_index_array.size(), vertex_array.size()); } diff --git a/servers/rendering/renderer_rd/effects/fsr2.cpp b/servers/rendering/renderer_rd/effects/fsr2.cpp index a0a8d8a5b3..dbcf589e62 100644 --- a/servers/rendering/renderer_rd/effects/fsr2.cpp +++ b/servers/rendering/renderer_rd/effects/fsr2.cpp @@ -267,7 +267,7 @@ static FfxErrorCode register_resource_rd(FfxFsr2Interface *p_backend_interface, static FfxErrorCode unregister_resources_rd(FfxFsr2Interface *p_backend_interface) { FSR2Context::Scratch &scratch = *reinterpret_cast(p_backend_interface->scratchBuffer); - LocalVector dynamic_list_copy = scratch.resources.dynamic_list; + LocalVector dynamic_list_copy(scratch.resources.dynamic_list); for (uint32_t i : dynamic_list_copy) { scratch.resources.remove(i); }