Browse Source

Fixed selection crash

Krzysztof Krysiński 2 weeks ago
parent
commit
fb1ccc3735

+ 3 - 3
src/PixiEditor/Models/DocumentModels/UpdateableChangeExecutors/TransformSelectedExecutor.cs

@@ -191,14 +191,14 @@ internal class TransformSelectedExecutor : UpdateableChangeExecutor, ITransforma
         {
         {
             var topMost = smallestSizeDifferenceList.First();
             var topMost = smallestSizeDifferenceList.First();
 
 
-            if (!isHoldingShift)
+            if (!isHoldingShift || document.SelectedStructureMember == null)
             {
             {
                 document.Operations.ClearSoftSelectedMembers();
                 document.Operations.ClearSoftSelectedMembers();
                 document.Operations.SetSelectedMember(topMost.Id);
                 document.Operations.SetSelectedMember(topMost.Id);
             }
             }
             else
             else
             {
             {
-                if (document.SoftSelectedStructureMembers.Contains(topMost) || document.SelectedStructureMember.Id == topMost.Id)
+                if (document.SoftSelectedStructureMembers.Contains(topMost) || document.SelectedStructureMember?.Id == topMost.Id)
                 {
                 {
                     Deselect(smallestSizeDifferenceList);
                     Deselect(smallestSizeDifferenceList);
                 }
                 }
@@ -245,7 +245,7 @@ internal class TransformSelectedExecutor : UpdateableChangeExecutor, ITransforma
         var topMost = topMostWithinClick.FirstOrDefault();
         var topMost = topMostWithinClick.FirstOrDefault();
         if (topMost is not null)
         if (topMost is not null)
         {
         {
-            bool deselectingWasMain = document.SelectedStructureMember.Id == topMost.Id;
+            bool deselectingWasMain = document.SelectedStructureMember?.Id == topMost.Id;
             if (deselectingWasMain)
             if (deselectingWasMain)
             {
             {
                 Guid? nextMain = document.SoftSelectedStructureMembers.FirstOrDefault().Id;
                 Guid? nextMain = document.SoftSelectedStructureMembers.FirstOrDefault().Id;