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

github.com/mono/xwt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Shakhnazarov <v-seshak@microsoft.com>2020-02-27 20:45:39 +0300
committerSergey Shakhnazarov <v-seshak@microsoft.com>2020-02-27 20:45:39 +0300
commit602823d1e00d75f1cec7edfc849f1d4ed6221383 (patch)
tree0992f76c723c1a124a171684e50c2fb939792bd7 /Xwt.Gtk
parentec734b3fc81994753e23d8b06c6d1878fe8f7b75 (diff)
[GTK] Unsubscribe Popover from Hidden event on hiding
Diffstat (limited to 'Xwt.Gtk')
-rw-r--r--Xwt.Gtk/Xwt.GtkBackend/PopoverBackend.cs8
1 files changed, 7 insertions, 1 deletions
diff --git a/Xwt.Gtk/Xwt.GtkBackend/PopoverBackend.cs b/Xwt.Gtk/Xwt.GtkBackend/PopoverBackend.cs
index 6e7fddc4..4dbf0dc3 100644
--- a/Xwt.Gtk/Xwt.GtkBackend/PopoverBackend.cs
+++ b/Xwt.Gtk/Xwt.GtkBackend/PopoverBackend.cs
@@ -269,7 +269,7 @@ namespace Xwt.GtkBackend
popover.TransientFor.FocusInEvent += HandleParentFocusInEvent;
}
- popover.Hidden += (o, args) => sink.OnClosed ();
+ popover.Hidden += PopoverHidden;
var screenBounds = reference.ScreenBounds;
if (positionRect == Rectangle.Zero)
@@ -288,6 +288,12 @@ namespace Xwt.GtkBackend
};
}
+ void PopoverHidden (object sender, EventArgs e)
+ {
+ sink.OnClosed ();
+ popover.Hidden -= PopoverHidden;
+ }
+
void UpdatePopoverPosition (Rectangle positionRect, int width, int height)
{
var position = new Point (positionRect.Center.X, popover.ArrowPosition == Xwt.Popover.Position.Top ? positionRect.Bottom : positionRect.Top);