From 7c73b6c71cad819cd7c53c8ccf14f7e909203c0d Mon Sep 17 00:00:00 2001 From: Eric M Date: Fri, 13 Jan 2023 21:36:44 +1000 Subject: Fix Project Settings array/dicts initial value being shared instances of the current value. --- editor/project_settings_editor.cpp | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'editor/project_settings_editor.cpp') diff --git a/editor/project_settings_editor.cpp b/editor/project_settings_editor.cpp index 69c21177f9..7ef8bfcf6a 100644 --- a/editor/project_settings_editor.cpp +++ b/editor/project_settings_editor.cpp @@ -370,17 +370,7 @@ void ProjectSettingsEditor::_action_edited(const String &p_name, const Dictionar } else { // Events changed - int act_event_count = ((Array)p_action["events"]).size(); - int old_event_count = ((Array)old_val["events"]).size(); - - if (act_event_count == old_event_count) { - undo_redo->create_action(TTR("Edit Input Action Event")); - } else if (act_event_count > old_event_count) { - undo_redo->create_action(TTR("Add Input Action Event")); - } else { - undo_redo->create_action(TTR("Remove Input Action Event")); - } - + undo_redo->create_action(TTR("Change Input Action Event(s)")); undo_redo->add_do_method(ProjectSettings::get_singleton(), "set", property_name, p_action); undo_redo->add_undo_method(ProjectSettings::get_singleton(), "set", property_name, old_val); } @@ -527,6 +517,8 @@ void ProjectSettingsEditor::_update_action_map_editor() { if (is_builtin_input) { action_info.editable = false; action_info.icon = builtin_icon; + action_info.has_initial = true; + action_info.action_initial = ProjectSettings::get_singleton()->property_get_revert(property_name); } actions.push_back(action_info); -- cgit v1.2.3