2
0
Fork 0

Fix undo/redo operations in Input Map

(cherry picked from commit d00e183512)
3.4
Michael Alexsander 2021-12-24 12:17:34 +07:00 committed by Rémi Verschelde
parent de148fe51d
commit 9cd5f05a27
No known key found for this signature in database
GPG Key ID: C3336907360768E1
1 changed files with 3 additions and 3 deletions

@ -258,7 +258,7 @@ void ProjectSettingsEditor::_device_input_add() {
int idx = edit_idx; int idx = edit_idx;
Dictionary old_val = ProjectSettings::get_singleton()->get(name); Dictionary old_val = ProjectSettings::get_singleton()->get(name);
Dictionary action = old_val.duplicate(); Dictionary action = old_val.duplicate();
Array events = action["events"]; Array events = action["events"].duplicate();
switch (add_type) { switch (add_type) {
case INPUT_MOUSE_BUTTON: { case INPUT_MOUSE_BUTTON: {
@ -383,7 +383,7 @@ void ProjectSettingsEditor::_press_a_key_confirm() {
Dictionary old_val = ProjectSettings::get_singleton()->get(name); Dictionary old_val = ProjectSettings::get_singleton()->get(name);
Dictionary action = old_val.duplicate(); Dictionary action = old_val.duplicate();
Array events = action["events"]; Array events = action["events"].duplicate();
for (int i = 0; i < events.size(); i++) { for (int i = 0; i < events.size(); i++) {
Ref<InputEventKey> aie = events[i]; Ref<InputEventKey> aie = events[i];
@ -654,7 +654,7 @@ void ProjectSettingsEditor::_action_button_pressed(Object *p_obj, int p_column,
Dictionary action = old_val.duplicate(); Dictionary action = old_val.duplicate();
int idx = ti->get_metadata(0); int idx = ti->get_metadata(0);
Array events = action["events"]; Array events = action["events"].duplicate();
ERR_FAIL_INDEX(idx, events.size()); ERR_FAIL_INDEX(idx, events.size());
events.remove(idx); events.remove(idx);
action["events"] = events; action["events"] = events;