Browse Source

Make sure PopupRoot.Parent is a Popup.

Fixes #2137.
pull/2323/head
Steven Kirk 7 years ago
parent
commit
40b0bbd46c
  1. 8
      src/Avalonia.Controls/Primitives/Popup.cs

8
src/Avalonia.Controls/Primitives/Popup.cs

@ -252,9 +252,9 @@ namespace Avalonia.Controls.Primitives
else
{
var parentPopuproot = _topLevel as PopupRoot;
if (parentPopuproot != null && parentPopuproot.Parent != null)
if (parentPopuproot?.Parent is Popup popup)
{
((Popup)(parentPopuproot.Parent)).Closed += ParentClosed;
popup.Closed += ParentClosed;
}
}
_topLevel.AddHandler(PointerPressedEvent, PointerPressedOutside, RoutingStrategies.Tunnel);
@ -293,9 +293,9 @@ namespace Avalonia.Controls.Primitives
else
{
var parentPopuproot = _topLevel as PopupRoot;
if (parentPopuproot != null && parentPopuproot.Parent != null)
if (parentPopuproot?.Parent is Popup popup)
{
((Popup)parentPopuproot.Parent).Closed -= ParentClosed;
popup.Closed -= ParentClosed;
}
}
_nonClientListener?.Dispose();

Loading…
Cancel
Save