Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/PreviewWindowManager.cs')
-rw-r--r--main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/PreviewWindowManager.cs8
1 files changed, 8 insertions, 0 deletions
diff --git a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/PreviewWindowManager.cs b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/PreviewWindowManager.cs
index 3bdfa4f776..f694826222 100644
--- a/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/PreviewWindowManager.cs
+++ b/main/src/addins/MonoDevelop.Debugger/MonoDevelop.Debugger.PreviewVisualizers/PreviewWindowManager.cs
@@ -47,10 +47,16 @@ namespace MonoDevelop.Debugger
wnd = new PreviewVisualizerWindow (val, widget);
IdeApp.CommandService.RegisterTopWindow (wnd);
wnd.ShowPopup (widget, previewButtonArea, PopupPosition.Left);
+ wnd.FocusOutEvent += HandleFocusOutEvent;
wnd.Destroyed += HandleDestroyed;
OnWindowShown (EventArgs.Empty);
}
+ private static void HandleFocusOutEvent (object o, Gtk.FocusOutEventArgs args)
+ {
+ DestroyWindow ();
+ }
+
static void HandleDestroyed (object sender, EventArgs e)
{
wnd = null;
@@ -85,6 +91,8 @@ namespace MonoDevelop.Debugger
public static void DestroyWindow ()
{
if (wnd != null) {
+ wnd.FocusOutEvent -= HandleFocusOutEvent;
+ wnd.Destroyed -= HandleDestroyed;
wnd.Destroy ();
wnd = null;
}