Browse Source

Fix crashes like 'Could not find member with guid '1558c401-9bb5-46b7-9b52-0f46a08b9037'' caused by DuplicateLayer_Change not preserving original layer guid after redo

Equbuxu 1 year ago
parent
commit
04f8bde6e6

+ 1 - 1
src/PixiEditor.ChangeableDocument/Changes/Structure/DuplicateLayer_Change.cs

@@ -15,6 +15,7 @@ internal class DuplicateLayer_Change : Change
     {
         if (!target.TryFindMember<Layer>(layerGuid, out Layer? layer))
             return false;
+        duplicateGuid = Guid.NewGuid();
         return true;
     }
 
@@ -23,7 +24,6 @@ internal class DuplicateLayer_Change : Change
         (Layer existingLayer, Folder parent) = ((Layer, Folder))target.FindChildAndParentOrThrow(layerGuid);
 
         Layer clone = existingLayer.Clone();
-        duplicateGuid = Guid.NewGuid();
         clone.GuidValue = duplicateGuid;
 
         int index = parent.Children.IndexOf(existingLayer);