diff --git a/MatterControlLib/DesignTools/Interfaces/Object3DUiWindowManager.cs b/MatterControlLib/DesignTools/Interfaces/Object3DUiWindowManager.cs index c9f4990d2..f6aed8963 100644 --- a/MatterControlLib/DesignTools/Interfaces/Object3DUiWindowManager.cs +++ b/MatterControlLib/DesignTools/Interfaces/Object3DUiWindowManager.cs @@ -77,25 +77,17 @@ namespace MatterHackers.MatterControl.DesignTools private void GuiSurface_AfterDraw(object sender, DrawEventArgs e) { - if (!controlLayer.Scene.Contains(item)) + if (WindowWidget != null + && (!controlLayer.Scene.Contains(item) + || controlLayer.Scene.SelectedItem != item)) { WindowWidget.Close(); + WindowWidget = null; if (sender is GuiWidget guiWidget) { guiWidget.AfterDraw -= GuiSurface_AfterDraw; } } - else - { - if (controlLayer.Scene.SelectedItem == item) - { - WindowWidget.Visible = true; - } - else - { - WindowWidget.Visible = false; - } - } }