From 2c1a181f8656d5034b964c490b0d2b00a18479d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B3zsef=20Moln=C3=A1r?= Date: Thu, 30 May 2024 06:26:21 +0200 Subject: [PATCH] Handle case when TaskBarList could not be created (#15852) * Handle case when TaskBarList could not be created * Use HRESULT.S_OK for better clarity --- src/Windows/Avalonia.Win32/Interop/TaskBarList.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Windows/Avalonia.Win32/Interop/TaskBarList.cs b/src/Windows/Avalonia.Win32/Interop/TaskBarList.cs index 850892fa6c..f040c97915 100644 --- a/src/Windows/Avalonia.Win32/Interop/TaskBarList.cs +++ b/src/Windows/Avalonia.Win32/Interop/TaskBarList.cs @@ -19,6 +19,11 @@ namespace Avalonia.Win32.Interop { int result = CoCreateInstance(in ShellIds.TaskBarList, IntPtr.Zero, 1, in ShellIds.ITaskBarList2, out IntPtr instance); + if (result != (int)HRESULT.S_OK) + { + return IntPtr.Zero; + } + var ptr = (ITaskBarList3VTable**)instance.ToPointer(); s_hrInitDelegate ??= Marshal.GetDelegateForFunctionPointer((*ptr)->HrInit);