diff --git a/src/Avalonia.X11/X11Window.cs b/src/Avalonia.X11/X11Window.cs index 8419e7dab2..2d124fff67 100644 --- a/src/Avalonia.X11/X11Window.cs +++ b/src/Avalonia.X11/X11Window.cs @@ -758,7 +758,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()