Browse Source

Merge pull request #965 from PixiEditor/fixes/10.06.2025

Fixed 0 cel showing up and crash
Krzysztof Krysiński 2 months ago
parent
commit
c3d8bacdff

+ 5 - 2
src/PixiEditor.ChangeableDocument/Changes/Animation/CreateCel_Change.cs

@@ -34,9 +34,12 @@ internal class CreateCel_Change : Change
             return false;
         }
         
-        if(_frame == -1 && targetLayer.KeyFrames.All(x => x.KeyFrameGuid != createdKeyFrameId))
+        if(_frame == -1)
         {
-            return false;
+            if (targetLayer.KeyFrames.All(x => x.KeyFrameGuid != createdKeyFrameId) || targetLayer.KeyFrames.Count <= 1)
+            {
+                return false;
+            }
         }
         
         return _frame != 0 && target.TryFindMember(_targetLayerGuid, out _layer);

+ 5 - 0
src/PixiEditor.ChangeableDocument/Changes/Animation/DeleteKeyFrame_Change.cs

@@ -26,6 +26,11 @@ internal class DeleteKeyFrame_Change : Change
                 return false;
             }
 
+            if(node.KeyFrames.FirstOrDefault()?.KeyFrameGuid == keyFrame.Id) // If the keyframe is the first one, we cannot delete it.
+            {
+                return false;
+            }
+
             clonedKeyFrame = keyFrame.Clone();
             
             KeyFrameData data = node.KeyFrames.FirstOrDefault(x => x.KeyFrameGuid == keyFrame.Id);