diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Helpers/Icons/IconLoaderService.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI/Helpers/Icons/IconLoaderService.cs index e0d3cacb42..bd3815896c 100644 --- a/src/modules/cmdpal/Microsoft.CmdPal.UI/Helpers/Icons/IconLoaderService.cs +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/Helpers/Icons/IconLoaderService.cs @@ -155,7 +155,9 @@ internal sealed partial class IconLoaderService : IIconLoaderService Size iconSize, double scale) { - var scaledSize = new Size(iconSize.Width * scale, iconSize.Height * scale); + var scaledSize = iconSize.IsEmpty + ? iconSize + : new Size(iconSize.Width * scale, iconSize.Height * scale); if (!string.IsNullOrEmpty(iconString)) { @@ -215,7 +217,9 @@ internal sealed partial class IconLoaderService : IIconLoaderService private static IconSource? GetStringIconSource(string iconString, string? fontFamily, Size size) { - var iconSize = (int)Math.Max(size.Width, size.Height); + var iconSize = size.IsEmpty + ? DefaultIconSize + : (int)Math.Max(size.Width, size.Height); return IconPathConverter.IconSourceMUX(iconString, fontFamily, iconSize); } } diff --git a/src/modules/cmdpal/Microsoft.CmdPal.UI/Helpers/Icons/IconProvider.cs b/src/modules/cmdpal/Microsoft.CmdPal.UI/Helpers/Icons/IconProvider.cs index db8750c413..94c6f6a95b 100644 --- a/src/modules/cmdpal/Microsoft.CmdPal.UI/Helpers/Icons/IconProvider.cs +++ b/src/modules/cmdpal/Microsoft.CmdPal.UI/Helpers/Icons/IconProvider.cs @@ -2,6 +2,7 @@ // The Microsoft Corporation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. +using ManagedCommon; using Microsoft.CmdPal.UI.Controls; using Microsoft.CmdPal.UI.ViewModels; using Microsoft.Extensions.DependencyInjection; @@ -61,6 +62,11 @@ public static partial class IconProvider _ => null, }; } + catch (Exception ex) + { + Logger.LogError("Failed to provide icon source", ex); + args.Value = null; + } finally { deferral.Complete();