From 5b87057e60e6828a9f5240fd6ea32ca9e2673ac7 Mon Sep 17 00:00:00 2001 From: larsbrubaker Date: Sun, 20 Apr 2014 22:09:10 -0700 Subject: [PATCH] trying to fix memory leaks. --- PartPreviewWindow/GcodeViewBasic.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/PartPreviewWindow/GcodeViewBasic.cs b/PartPreviewWindow/GcodeViewBasic.cs index 2e058464f..b67c1a991 100644 --- a/PartPreviewWindow/GcodeViewBasic.cs +++ b/PartPreviewWindow/GcodeViewBasic.cs @@ -419,7 +419,12 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { if (!hookedParentKeyDown) { - Parent.Parent.Parent.KeyDown += new KeyEventHandler(Parent_KeyDown); + GuiWidget parent = Parent; + while (parent as SystemWindow == null) + { + parent = parent.Parent; + } + parent.KeyDown += Parent_KeyDown; hookedParentKeyDown = true; } if (partToStartLoadingOnFirstDraw != null) @@ -598,6 +603,13 @@ namespace MatterHackers.MatterControl.PartPreviewWindow public override void OnClosed(EventArgs e) { + GuiWidget parent = Parent; + while (parent as SystemWindow == null) + { + parent = parent.Parent; + } + parent.KeyDown -= Parent_KeyDown; + if (printItem != null) { printItem.SlicingOutputMessage -= sliceItem_SlicingOutputMessage;