aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/GraphicObjects/PrivateContainer.cs
diff options
context:
space:
mode:
authorj-p <jp.bruyere@live.be>2017-08-28 05:12:19 +0200
committerGitHub <noreply@github.com>2017-08-28 05:12:19 +0200
commit1d9aa6aa61da3dd5f1a1a488018ceb8b5a88f2af (patch)
treee7e9aed2ad7b0947855ce9d70a52267b128fec0c /src/GraphicObjects/PrivateContainer.cs
parentd6d7eda88ae12d6c47d6c158a5a9527a47447745 (diff)
full IDisposable implementation (#34)
* full implementation of IDisposable, not stable, lock and still leaking * override dispose in popper to handle _content not yet in graphic tree (when never shown), test focusedWidget when disposing * prevent canceling thread multiple times causing a deadlock * test parent type when trying to close window
Diffstat (limited to 'src/GraphicObjects/PrivateContainer.cs')
-rw-r--r--src/GraphicObjects/PrivateContainer.cs11
1 files changed, 3 insertions, 8 deletions
diff --git a/src/GraphicObjects/PrivateContainer.cs b/src/GraphicObjects/PrivateContainer.cs
index 89b30753..077f732f 100644
--- a/src/GraphicObjects/PrivateContainer.cs
+++ b/src/GraphicObjects/PrivateContainer.cs
@@ -54,14 +54,9 @@ namespace Crow
if (child != null) {
//check if HoverWidget is removed from Tree
- if (currentInterface.HoverWidget != null) {
- if (currentInterface.HoverWidget.IsInside(this))
- currentInterface.HoverWidget = null;
- }
contentSize = new Size (0, 0);
child.LayoutChanged -= OnChildLayoutChanges;
child.Dispose ();
- child.Parent = null;
this.RegisterForGraphicUpdate ();
}
@@ -213,11 +208,11 @@ namespace Crow
}
#endregion
- public override void Dispose ()
+ protected override void Dispose (bool disposing)
{
- if (child != null)
+ if (disposing && child != null)
child.Dispose ();
- base.Dispose ();
+ base.Dispose (disposing);
}
}
}