From b36be959472214b076b2fccb94846f982d332cf3 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Tue, 26 Aug 2025 14:59:10 +0200 Subject: [PATCH] Fix Editor undo on collection properties that return different object on get #3256 --- Source/Editor/Utilities/MemberComparison.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Source/Editor/Utilities/MemberComparison.cs b/Source/Editor/Utilities/MemberComparison.cs index 3eee029d2..e8d02bece 100644 --- a/Source/Editor/Utilities/MemberComparison.cs +++ b/Source/Editor/Utilities/MemberComparison.cs @@ -61,6 +61,7 @@ namespace FlaxEditor.Utilities /// The value. public void SetMemberValue(object instance, object value) { + var originalInstance = instance; var finalMember = MemberPath.GetLastMember(ref instance); var type = finalMember.Type; @@ -92,6 +93,12 @@ namespace FlaxEditor.Utilities } finalMember.SetValue(instance, value); + + if (instance != originalInstance && finalMember.Index != null) + { + // Set collection back to the parent object (in case of properties that always return a new object like 'Spline.SplineKeyframes') + finalMember.Member.SetValue(originalInstance, instance); + } } ///