From 4e5cec2d9e933f56be489ccc5ba5cf6706ff86aa Mon Sep 17 00:00:00 2001 From: danwalmsley Date: Fri, 3 Apr 2020 09:46:44 -0300 Subject: [PATCH] Merge pull request #3712 from AvaloniaUI/x11-remove-transient-hint [X11, FlyWM] Completely remove WM_TRANSIENT_FOR property --- src/Avalonia.X11/X11Window.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Avalonia.X11/X11Window.cs b/src/Avalonia.X11/X11Window.cs index 94d4003e1c..74a7a33be6 100644 --- a/src/Avalonia.X11/X11Window.cs +++ b/src/Avalonia.X11/X11Window.cs @@ -735,7 +735,15 @@ namespace Avalonia.X11 _transientParent = window; _transientParent?._transientChildren.Add(this); if (informServer) - XSetTransientForHint(_x11.Display, _handle, _transientParent?._handle ?? IntPtr.Zero); + SetTransientForHint(_transientParent?._handle); + } + + void SetTransientForHint(IntPtr? parent) + { + if (parent == null || parent == IntPtr.Zero) + XDeleteProperty(_x11.Display, _handle, _x11.Atoms.XA_WM_TRANSIENT_FOR); + else + XSetTransientForHint(_x11.Display, _handle, parent.Value); } public void Show()