From 27cfa606f2b207692a34d844e6c25f87d3777031 Mon Sep 17 00:00:00 2001 From: Jumar Macato <16554748+jmacato@users.noreply.github.com> Date: Wed, 27 Oct 2021 00:27:08 +0800 Subject: [PATCH] Use empty icon if seticon receives null --- src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs b/src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs index 7bbed8c702..c7ff775d6f 100644 --- a/src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs +++ b/src/Avalonia.FreeDesktop/DBusTrayIconImpl.cs @@ -163,9 +163,15 @@ namespace Avalonia.FreeDesktop public void SetIcon(IWindowIconImpl? icon) { - if (icon is null || _isDisposed || IconConverterDelegate is null) + if (_isDisposed || IconConverterDelegate is null) return; + if (icon is null) + { + _statusNotifierItemDbusObj?.SetIcon(DbusPixmap.EmptyPixmap); + return; + } + var x11iconData = IconConverterDelegate(icon); if(x11iconData.Length == 0) return; @@ -434,5 +440,7 @@ namespace Avalonia.FreeDesktop Height = height; Data = data; } + + public static DbusPixmap EmptyPixmap = new DbusPixmap(1, 1, new byte[] { 255, 0, 0, 0 }); } }