Browse Source

Handle case when TaskBarList could not be created (#15852)

* Handle case when TaskBarList could not be created

* Use HRESULT.S_OK for better clarity
release/11.1.0-rc1
József Molnár 2 years ago
committed by Steven Kirk
parent
commit
2c1a181f86
  1. 5
      src/Windows/Avalonia.Win32/Interop/TaskBarList.cs

5
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); 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(); var ptr = (ITaskBarList3VTable**)instance.ToPointer();
s_hrInitDelegate ??= Marshal.GetDelegateForFunctionPointer<HrInit>((*ptr)->HrInit); s_hrInitDelegate ??= Marshal.GetDelegateForFunctionPointer<HrInit>((*ptr)->HrInit);

Loading…
Cancel
Save