Explorar el Código

Fixed ghost layer and path overlay issues

Krzysztof Krysiński hace 3 meses
padre
commit
582a55ebfd

+ 1 - 1
src/PixiEditor/Models/DocumentModels/DocumentUpdater.cs

@@ -454,7 +454,7 @@ internal class DocumentUpdater
 
             if (closestMember == null)
             {
-                closestMember = doc.NodeGraphHandler.StructureTree.Members.FirstOrDefault();
+                closestMember = doc.NodeGraphHandler.StructureTree.Members.FirstOrDefault(x => x.Id != info.Id);
             }
 
             if (closestMember != null)

+ 10 - 0
src/PixiEditor/Views/Overlays/PathOverlay/VectorPathOverlay.cs

@@ -499,6 +499,7 @@ public class VectorPathOverlay : Overlay
 
     private void SelectAnchor(AnchorHandle handle, bool append = false)
     {
+        lastSelectedIndices.Clear();
         if (append)
         {
             handle.IsSelected = !handle.IsSelected;
@@ -888,6 +889,15 @@ public class VectorPathOverlay : Overlay
         }
 
         anchorHandles.Clear();
+        foreach (var handle in controlPointHandles)
+        {
+            handle.OnPress -= OnControlPointPress;
+            handle.OnDrag -= OnControlPointDrag;
+            handle.OnRelease -= OnHandleRelease;
+            Handles.Remove(handle);
+        }
+
+        controlPointHandles.Clear();
     }
 
     private VecD TryFindAnySnap(VecD delta, VectorPath path, out string? axisX, out string? axisY, out VecD? snapPoint)