From c7d6fed7931aeea771366ac2e700b8ad39872990 Mon Sep 17 00:00:00 2001 From: Max Katz Date: Thu, 29 Jul 2021 16:18:35 -0400 Subject: [PATCH] Merge pull request #6052 from Washi1337/feature/nullable-x11-window-titles Fix dialogs crashing on X11 when Title is set to null --- src/Avalonia.X11/X11Window.cs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/Avalonia.X11/X11Window.cs b/src/Avalonia.X11/X11Window.cs index 37260aa78b..8764b7bbc1 100644 --- a/src/Avalonia.X11/X11Window.cs +++ b/src/Avalonia.X11/X11Window.cs @@ -993,15 +993,22 @@ namespace Avalonia.X11 side = NetWmMoveResize._NET_WM_MOVERESIZE_SIZE_BOTTOMLEFT; BeginMoveResize(side, e); } - + public void SetTitle(string title) { - var data = Encoding.UTF8.GetBytes(title); - fixed (void* pdata = data) + if (string.IsNullOrEmpty(title)) { - XChangeProperty(_x11.Display, _handle, _x11.Atoms._NET_WM_NAME, _x11.Atoms.UTF8_STRING, 8, - PropertyMode.Replace, pdata, data.Length); - XStoreName(_x11.Display, _handle, title); + XDeleteProperty(_x11.Display, _handle, _x11.Atoms._NET_WM_NAME); + } + else + { + var data = Encoding.UTF8.GetBytes(title); + fixed (void* pdata = data) + { + XChangeProperty(_x11.Display, _handle, _x11.Atoms._NET_WM_NAME, _x11.Atoms.UTF8_STRING, 8, + PropertyMode.Replace, pdata, data.Length); + XStoreName(_x11.Display, _handle, title); + } } }