Improving window close behavior

This commit is contained in:
Lars Brubaker 2023-05-25 17:45:52 -07:00
parent 5d6b14fe4a
commit 86960feb18

View file

@ -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;
}
}
}