diff --git a/Source/Editor/Undo/Undo.cs b/Source/Editor/Undo/Undo.cs index 709e21a32..80a5d69a3 100644 --- a/Source/Editor/Undo/Undo.cs +++ b/Source/Editor/Undo/Undo.cs @@ -221,16 +221,20 @@ namespace FlaxEditor var snapshotInstances = (object[])snapshotInstance; if (snapshotInstances == null || snapshotInstances.Length != SnapshotInstances.Length) throw new ArgumentException("Invalid multi undo action objects."); - var actions = new List(); + List actions = null; for (int i = 0; i < snapshotInstances.Length; i++) { var diff = Snapshot[i].Compare(snapshotInstances[i]); if (diff.Count == 0) continue; + if (actions == null) + actions = new List(); actions.Add(new UndoActionObject(diff, ActionString, SnapshotInstances[i])); } - if (actions.Count == 0) + if (actions == null) return null; + if (actions.Count == 1) + return actions[0]; return new MultiUndoAction(actions); } }