aboutsummaryrefslogtreecommitdiffstatsci
path: root/src/GraphicObjects/Window.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/Window.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/Window.cs')
-rw-r--r--src/GraphicObjects/Window.cs7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/GraphicObjects/Window.cs b/src/GraphicObjects/Window.cs
index e0c97ea9..176e8d90 100644
--- a/src/GraphicObjects/Window.cs
+++ b/src/GraphicObjects/Window.cs
@@ -391,7 +391,12 @@ namespace Crow
protected void close(){
Closing.Raise (this, null);
- currentInterface.DeleteWidget (this);
+ if (Parent is Interface)
+ (Parent as Interface).DeleteWidget (this);
+ else if (Parent is Group)
+ (Parent as Group).RemoveChild (this);
+ else if (Parent is PrivateContainer)
+ (Parent as Container).Child = null;
}
}
}