From ef7100e7fbc137eb7c05032fba0819442f7c7ab7 Mon Sep 17 00:00:00 2001 From: jpbruyere Date: Sun, 13 Mar 2016 23:42:01 +0100 Subject: [PATCH] correct popper mouse leave bug --- src/GraphicObjects/Popper.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/GraphicObjects/Popper.cs b/src/GraphicObjects/Popper.cs index 7c068085..746e334b 100644 --- a/src/GraphicObjects/Popper.cs +++ b/src/GraphicObjects/Popper.cs @@ -29,6 +29,7 @@ namespace Crow if (_content != null) { _content.LogicalParent = null; _content.LayoutChanged -= _content_LayoutChanged; + _content.MouseLeave -= onMouseLeave; } _content = value; @@ -38,6 +39,7 @@ namespace Crow _content.LogicalParent = this; _content.LayoutChanged += _content_LayoutChanged; + _content.MouseLeave += onMouseLeave; } } @@ -111,8 +113,14 @@ namespace Crow } public override void onMouseLeave (object sender, MouseMoveEventArgs e) { - IsPopped = false; base.onMouseLeave (sender, e); + if (MouseIsIn (e.Position)) + return; + if (_content == null) + return; + if (_content.MouseIsIn (e.Position)) + return; + IsPopped = false; } #endregion -- 2.47.3