diff --git a/core/config/project_settings.h b/core/config/project_settings.h index a861f49f46..6b30ab0659 100644 --- a/core/config/project_settings.h +++ b/core/config/project_settings.h @@ -204,7 +204,7 @@ public: const HashMap &get_custom_property_info() const; uint64_t get_last_saved_time() { return last_save_time; } - List get_input_presets() const { return input_presets; } + List get_input_presets() const { return List(input_presets); } Variant get_setting_with_override(const StringName &p_name) const; Variant get_setting_with_override_and_custom_features(const StringName &p_name, const Vector &p_features) const; diff --git a/core/extension/gdextension.cpp b/core/extension/gdextension.cpp index 254095e915..61210127c6 100644 --- a/core/extension/gdextension.cpp +++ b/core/extension/gdextension.cpp @@ -950,7 +950,7 @@ void GDExtension::prepare_reload() { state.push_back(Pair(P.name, value)); } E.value.instance_state[obj_id] = { - state, // List> properties; + std::move(state), // List> properties; obj->is_extension_placeholder(), // bool is_placeholder; }; } diff --git a/core/io/ip.cpp b/core/io/ip.cpp index 94256a7b57..0436e30bfd 100644 --- a/core/io/ip.cpp +++ b/core/io/ip.cpp @@ -205,7 +205,7 @@ IPAddress IP::get_resolve_item_address(ResolverID p_id) const { return IPAddress(); } - List res = resolver->queue[p_id].response; + List res(resolver->queue[p_id].response); for (const IPAddress &E : res) { if (E.is_valid()) { @@ -224,7 +224,7 @@ Array IP::get_resolve_item_addresses(ResolverID p_id) const { return Array(); } - List res = resolver->queue[p_id].response; + List res(resolver->queue[p_id].response); Array result; for (const IPAddress &E : res) { diff --git a/core/os/os.cpp b/core/os/os.cpp index 1d6561a7df..6be1ecbd50 100644 --- a/core/os/os.cpp +++ b/core/os/os.cpp @@ -654,7 +654,7 @@ bool OS::is_restart_on_exit_set() const { } List OS::get_restart_on_exit_arguments() const { - return restart_commandline; + return List(restart_commandline); } PackedStringArray OS::get_connected_midi_inputs() { diff --git a/core/os/os.h b/core/os/os.h index d15844d790..c8efac5a03 100644 --- a/core/os/os.h +++ b/core/os/os.h @@ -235,8 +235,8 @@ public: virtual String get_distribution_name() const = 0; virtual String get_version() const = 0; virtual String get_version_alias() const { return get_version(); } - virtual List get_cmdline_args() const { return _cmdline; } - virtual List get_cmdline_user_args() const { return _user_args; } + virtual List get_cmdline_args() const { return List(_cmdline); } + virtual List get_cmdline_user_args() const { return List(_user_args); } virtual List get_cmdline_platform_args() const { return List(); } virtual String get_model_name() const; diff --git a/core/templates/list.h b/core/templates/list.h index c9ef135883..cc6f4b5929 100644 --- a/core/templates/list.h +++ b/core/templates/list.h @@ -685,10 +685,7 @@ public: return (void *)_data; } - /** - * copy constructor for the list - */ - List(const List &p_list) { + explicit List(const List &p_list) { const Element *it = p_list.front(); while (it) { push_back(it->get()); diff --git a/editor/docks/scene_tree_dock.cpp b/editor/docks/scene_tree_dock.cpp index 156d9f7677..af392c4e13 100644 --- a/editor/docks/scene_tree_dock.cpp +++ b/editor/docks/scene_tree_dock.cpp @@ -4465,7 +4465,7 @@ List SceneTreeDock::paste_nodes(bool p_paste_as_sibling) { } List SceneTreeDock::get_node_clipboard() const { - return node_clipboard; + return List(node_clipboard); } void SceneTreeDock::add_remote_tree_editor(Tree *p_remote) { diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 627e7aef37..fcdf799ff7 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -1945,7 +1945,7 @@ int EditorNode::get_resource_count(Ref p_res) { List EditorNode::get_resource_node_list(Ref p_res) { List *L = resource_count.getptr(p_res); - return L == nullptr ? List() : *L; + return L == nullptr ? List() : List(*L); } void EditorNode::update_node_reference(const Variant &p_value, Node *p_node, bool p_remove) { diff --git a/editor/export/editor_export.cpp b/editor/export/editor_export.cpp index 2a5c388394..38b585342f 100644 --- a/editor/export/editor_export.cpp +++ b/editor/export/editor_export.cpp @@ -482,7 +482,7 @@ void EditorExport::update_export_presets() { export_presets_updated = true; bool update_value_overrides = false; - List options = platform_options[preset->get_platform()->get_name()]; + List options(platform_options[preset->get_platform()->get_name()]); // Clear the preset properties prior to reloading, keep the values to preserve options from plugins that may be currently disabled. preset->properties.clear(); diff --git a/editor/file_system/dependency_editor.cpp b/editor/file_system/dependency_editor.cpp index e0bcddd665..6a024e0795 100644 --- a/editor/file_system/dependency_editor.cpp +++ b/editor/file_system/dependency_editor.cpp @@ -239,7 +239,7 @@ List DependencyEditor::_filter_deps(const List &p_deps) { const String filter_text = filter->get_text(); if (filter_text.is_empty()) { - return p_deps; + return List(p_deps); } List filtered; diff --git a/editor/scene/canvas_item_editor_plugin.cpp b/editor/scene/canvas_item_editor_plugin.cpp index d1a11ba739..3f96554246 100644 --- a/editor/scene/canvas_item_editor_plugin.cpp +++ b/editor/scene/canvas_item_editor_plugin.cpp @@ -360,7 +360,7 @@ void CanvasItemEditor::_snap_other_nodes( } } for (int i = 0; i < p_current->get_child_count(); i++) { - _snap_other_nodes(p_value, p_transform_to_snap, r_current_snap, r_current_snap_target, p_snap_target, p_exceptions, p_current->get_child(i)); + _snap_other_nodes(p_value, p_transform_to_snap, r_current_snap, r_current_snap_target, p_snap_target, List(p_exceptions), p_current->get_child(i)); } } @@ -447,7 +447,7 @@ Point2 CanvasItemEditor::snap_point(Point2 p_target, unsigned int p_modes, unsig p_target, to_snap_transform, output, snap_target, SNAP_TARGET_OTHER_NODE, - exceptions, + List(exceptions), get_tree()->get_edited_scene_root()); } diff --git a/editor/settings/editor_settings.cpp b/editor/settings/editor_settings.cpp index 32ad1f12f4..57d07d7e41 100644 --- a/editor/settings/editor_settings.cpp +++ b/editor/settings/editor_settings.cpp @@ -203,7 +203,7 @@ bool EditorSettings::_get(const StringName &p_name, Variant &r_ret) const { continue; } - List> events = action_override.value; + List> events(action_override.value); Dictionary action_dict; action_dict["name"] = action_override.key; @@ -2210,7 +2210,7 @@ const Array EditorSettings::get_builtin_action_overrides(const String &p_name) c if (AO) { Array event_array; - List> events_list = AO->value; + List> events_list(AO->value); for (const Ref &E : events_list) { event_array.push_back(E); } diff --git a/editor/settings/editor_settings_dialog.cpp b/editor/settings/editor_settings_dialog.cpp index a3e0ec895a..cad1204305 100644 --- a/editor/settings/editor_settings_dialog.cpp +++ b/editor/settings/editor_settings_dialog.cpp @@ -362,7 +362,7 @@ bool EditorSettingsDialog::_is_in_project_manager() const { void EditorSettingsDialog::_update_builtin_action(const String &p_name, const Array &p_events) { Array old_input_array = EditorSettings::get_singleton()->get_builtin_action_overrides(p_name); if (old_input_array.is_empty()) { - List> defaults = InputMap::get_singleton()->get_builtins_with_feature_overrides_applied()[current_edited_identifier]; + List> defaults(InputMap::get_singleton()->get_builtins_with_feature_overrides_applied()[current_edited_identifier]); old_input_array = _event_list_to_array_helper(defaults); } @@ -743,7 +743,7 @@ void EditorSettingsDialog::_shortcut_button_pressed(Object *p_item, int p_column case EditorSettingsDialog::SHORTCUT_REVERT: { // Only for "shortcut" types if (is_editing_action) { - List> defaults = InputMap::get_singleton()->get_builtins_with_feature_overrides_applied()[current_edited_identifier]; + List> defaults(InputMap::get_singleton()->get_builtins_with_feature_overrides_applied()[current_edited_identifier]); Array events = _event_list_to_array_helper(defaults); _update_builtin_action(current_edited_identifier, events); diff --git a/editor/shader/shader_create_dialog.cpp b/editor/shader/shader_create_dialog.cpp index 0a831f3179..e6e700c314 100644 --- a/editor/shader/shader_create_dialog.cpp +++ b/editor/shader/shader_create_dialog.cpp @@ -265,7 +265,7 @@ void ShaderCreateDialog::_browse_path() { file_browse->set_customization_flag_enabled(FileDialog::CUSTOMIZATION_OVERWRITE_WARNING, false); file_browse->clear_filters(); - List extensions = type_data.get(type_menu->get_selected()).extensions; + List extensions(type_data.get(type_menu->get_selected()).extensions); for (const String &E : extensions) { file_browse->add_filter("*." + E); diff --git a/modules/gdscript/gdscript_analyzer.cpp b/modules/gdscript/gdscript_analyzer.cpp index dbd5071bd2..39ce3cc465 100644 --- a/modules/gdscript/gdscript_analyzer.cpp +++ b/modules/gdscript/gdscript_analyzer.cpp @@ -6533,7 +6533,7 @@ void GDScriptAnalyzer::resolve_pending_lambda_bodies() { GDScriptParser::LambdaNode *previous_lambda = current_lambda; bool previous_static_context = static_context; - List lambdas = pending_body_resolution_lambdas; + List lambdas = std::move(pending_body_resolution_lambdas); pending_body_resolution_lambdas.clear(); for (GDScriptParser::LambdaNode *lambda : lambdas) { diff --git a/modules/multiplayer/multiplayer_synchronizer.cpp b/modules/multiplayer/multiplayer_synchronizer.cpp index 27451daa9f..1f6cfd89c2 100644 --- a/modules/multiplayer/multiplayer_synchronizer.cpp +++ b/modules/multiplayer/multiplayer_synchronizer.cpp @@ -372,7 +372,7 @@ void MultiplayerSynchronizer::set_multiplayer_authority(int p_peer_id, bool p_re Error MultiplayerSynchronizer::_watch_changes(uint64_t p_usec) { ERR_FAIL_COND_V(replication_config.is_null(), FAILED); - const List props = replication_config->get_watch_properties(); + const List props(replication_config->get_watch_properties()); if (props.size() != watchers.size()) { watchers.resize(props.size()); } @@ -436,7 +436,7 @@ List MultiplayerSynchronizer::get_delta_state(uint64_t p_cur_usec, uint List MultiplayerSynchronizer::get_delta_properties(uint64_t p_indexes) { List out; ERR_FAIL_COND_V(replication_config.is_null(), out); - const List watch_props = replication_config->get_watch_properties(); + const List watch_props(replication_config->get_watch_properties()); int idx = 0; for (const NodePath &prop : watch_props) { if ((p_indexes & (1ULL << idx++)) == 0) { diff --git a/modules/multiplayer/scene_replication_interface.cpp b/modules/multiplayer/scene_replication_interface.cpp index 8772ca4095..14eb59baf8 100644 --- a/modules/multiplayer/scene_replication_interface.cpp +++ b/modules/multiplayer/scene_replication_interface.cpp @@ -249,7 +249,7 @@ Error SceneReplicationInterface::on_replication_start(Object *p_obj, Variant p_c if (pending_buffer_size > 0) { ERR_FAIL_COND_V(!node || !sync->get_replication_config_ptr(), ERR_UNCONFIGURED); int consumed = 0; - const List props = sync->get_replication_config_ptr()->get_spawn_properties(); + const List props(sync->get_replication_config_ptr()->get_spawn_properties()); Vector vars; vars.resize(props.size()); Error err = MultiplayerAPI::decode_and_decompress_variants(vars, pending_buffer, pending_buffer_size, consumed); @@ -823,7 +823,7 @@ void SceneReplicationInterface::_send_sync(int p_peer, const HashSet & int size; Vector vars; Vector varp; - const List props = sync->get_replication_config_ptr()->get_sync_properties(); + const List props(sync->get_replication_config_ptr()->get_sync_properties()); Error err = MultiplayerSynchronizer::get_state(props, node, vars, varp); ERR_CONTINUE_MSG(err != OK, "Unable to retrieve sync state."); err = MultiplayerAPI::encode_and_compress_variants(varp.ptrw(), varp.size(), nullptr, size); @@ -882,7 +882,7 @@ Error SceneReplicationInterface::on_sync_receive(int p_from, const uint8_t *p_bu ofs += size; continue; } - const List props = sync->get_replication_config_ptr()->get_sync_properties(); + const List props(sync->get_replication_config_ptr()->get_sync_properties()); Vector vars; vars.resize(props.size()); int consumed; diff --git a/platform/macos/os_macos.mm b/platform/macos/os_macos.mm index 9b53f9f3b4..d816cb8d69 100644 --- a/platform/macos/os_macos.mm +++ b/platform/macos/os_macos.mm @@ -274,7 +274,7 @@ void OS_MacOS::set_cmdline_platform_args(const List &p_args) { } List OS_MacOS::get_cmdline_platform_args() const { - return launch_service_args; + return List(launch_service_args); } void OS_MacOS::load_shell_environment() const { @@ -874,7 +874,7 @@ Error OS_MacOS::create_instance(const List &p_arguments, ProcessID *r_ch // Project started from the editor, inject "path" argument to set instance working directory. char cwd[PATH_MAX]; if (::getcwd(cwd, sizeof(cwd)) != nullptr) { - List arguments = p_arguments; + List arguments(p_arguments); arguments.push_back("--path"); arguments.push_back(String::utf8(cwd)); return create_process(path, arguments, r_child_id, false); diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp index e0bb6e34c3..2468181856 100644 --- a/scene/gui/graph_edit.cpp +++ b/scene/gui/graph_edit.cpp @@ -2590,7 +2590,7 @@ TypedArray GraphEdit::_get_connections_intersecting_with_rect(const TypedArray GraphEdit::_get_connection_list_from_node(const StringName &p_node) const { ERR_FAIL_COND_V(!connection_map.has(p_node), TypedArray()); - List> connections_from_node = connection_map.get(p_node); + List> connections_from_node(connection_map.get(p_node)); TypedArray connections_from_node_dict; for (const Ref &conn : connections_from_node) { diff --git a/scene/main/node.cpp b/scene/main/node.cpp index 3eb5cb6659..3a1bfacc44 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -3211,7 +3211,7 @@ void Node::replace_by(RequiredParam rp_node, bool p_keep_groups) { EXTRACT_PARAM_OR_FAIL(p_node, rp_node); ERR_FAIL_COND(p_node->data.parent); - List owned = data.owned; + List owned(data.owned); List owned_by_owner; Node *owner = (data.owner == this) ? p_node : data.owner;