From 9b2ff91ea66092d9f89ec1550cb1715093da06ed Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Thu, 14 May 2020 12:27:20 -0300 Subject: [PATCH] fix x11 implementation. --- src/Avalonia.X11/X11Window.cs | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/src/Avalonia.X11/X11Window.cs b/src/Avalonia.X11/X11Window.cs index eb1759aadd..97ba99c3dd 100644 --- a/src/Avalonia.X11/X11Window.cs +++ b/src/Avalonia.X11/X11Window.cs @@ -41,8 +41,6 @@ namespace Avalonia.X11 private IntPtr _renderHandle; private bool _mapped; private bool _wasMappedAtLeastOnce = false; - private HashSet _transientChildren = new HashSet(); - private X11Window _transientParent; private double? _scalingOverride; private bool _disabled; @@ -775,26 +773,19 @@ namespace Avalonia.X11 bool ActivateTransientChildIfNeeded() { - if(_disabled) + if (_disabled) { + GotInputWhenDisabled?.Invoke(); return false; } - if (_transientChildren.Count == 0) - return false; - var child = _transientChildren.First(); - if (!child.ActivateTransientChildIfNeeded()) - child.Activate(); return true; } - + void SetTransientParent(X11Window window, bool informServer = true) - { - _transientParent?._transientChildren.Remove(this); - _transientParent = window; - _transientParent?._transientChildren.Add(this); + { if (informServer) - SetTransientForHint(_transientParent?._handle); + SetTransientForHint(window?._handle); } void SetTransientForHint(IntPtr? parent)