diff --git a/src/Avalonia.X11/X11Window.cs b/src/Avalonia.X11/X11Window.cs index 5da9021677..a2d48b9689 100644 --- a/src/Avalonia.X11/X11Window.cs +++ b/src/Avalonia.X11/X11Window.cs @@ -694,7 +694,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()