diff --git a/MatterControlLib/DesignTools/Operations/ArrayLinearObject3D.cs b/MatterControlLib/DesignTools/Operations/ArrayLinearObject3D.cs index ab8195eaa..a45e121f9 100644 --- a/MatterControlLib/DesignTools/Operations/ArrayLinearObject3D.cs +++ b/MatterControlLib/DesignTools/Operations/ArrayLinearObject3D.cs @@ -39,7 +39,6 @@ using MatterHackers.VectorMath; namespace MatterHackers.MatterControl.DesignTools.Operations { - public class ArrayLinearObject3D : ArrayObject3D { public ArrayLinearObject3D() @@ -103,11 +102,21 @@ namespace MatterHackers.MatterControl.DesignTools.Operations } SourceContainer.Visible = false; - UiThread.RunOnIdle(() => + + void UnlockWhenDone() { - rebuildLock.Dispose(); - Parent?.Invalidate(new InvalidateArgs(this, InvalidateType.Children)); - }); + if (this.Descendants().Where(c => c.RebuildLocked).Any()) + { + UiThread.RunOnIdle(UnlockWhenDone, .05); + } + else + { + rebuildLock.Dispose(); + Parent?.Invalidate(new InvalidateArgs(this, InvalidateType.Children)); + } + } + + UiThread.RunOnIdle(UnlockWhenDone); return Task.CompletedTask; }); } diff --git a/MatterControlLib/DesignTools/Sheets/SheetObject3D.cs b/MatterControlLib/DesignTools/Sheets/SheetObject3D.cs index cedd2e0c9..79e05b072 100644 --- a/MatterControlLib/DesignTools/Sheets/SheetObject3D.cs +++ b/MatterControlLib/DesignTools/Sheets/SheetObject3D.cs @@ -138,6 +138,7 @@ namespace MatterHackers.MatterControl.DesignTools internal IObject3D item; internal RebuildLock rebuildLock; } + private void SendInvalidateToAll(object s, EventArgs e) { var updateItems = new List(); @@ -279,7 +280,8 @@ namespace MatterHackers.MatterControl.DesignTools int index = 0; foreach (var child in arrayObject.Children) { - if (!(child is OperationSourceContainerObject3D)) + if (!(child is OperationSourceContainerObject3D) + && !(child is OperationSourceObject3D)) { if (child.DescendantsAndSelf().Where(i => i == owner).Any()) { diff --git a/Submodules/MatterSlice b/Submodules/MatterSlice index a7ba094ee..0ae4e70ef 160000 --- a/Submodules/MatterSlice +++ b/Submodules/MatterSlice @@ -1 +1 @@ -Subproject commit a7ba094ee46ddcb0ecc1963320af01bb745a6808 +Subproject commit 0ae4e70efa576dba5fb1bc8bce803cbea9da458e