mirror of
https://github.com/italicsjenga/winit-sonoma-fix.git
synced 2024-12-23 22:01:31 +11:00
On Windows, check whether CoCreateInstance succeeds
This commit is contained in:
parent
2af1550bbb
commit
b870a11a99
|
@ -14,6 +14,7 @@ And please only add new entries to the top of this list, right below the `# Unre
|
||||||
- Web: Added support for `Window::theme`.
|
- Web: Added support for `Window::theme`.
|
||||||
- On Wayland, fix rounding issues when doing resize.
|
- On Wayland, fix rounding issues when doing resize.
|
||||||
- On macOS, fix wrong focused state on startup.
|
- On macOS, fix wrong focused state on startup.
|
||||||
|
- On Windows, fix crash on setting taskbar when using Visual Studio debugger.
|
||||||
|
|
||||||
# 0.28.1
|
# 0.28.1
|
||||||
|
|
||||||
|
|
|
@ -1218,10 +1218,13 @@ unsafe fn taskbar_mark_fullscreen(handle: HWND, fullscreen: bool) {
|
||||||
&IID_ITaskbarList2,
|
&IID_ITaskbarList2,
|
||||||
&mut task_bar_list2 as *mut _ as *mut _,
|
&mut task_bar_list2 as *mut _ as *mut _,
|
||||||
);
|
);
|
||||||
|
if hr != S_OK {
|
||||||
|
// In visual studio retrieving the taskbar list fails
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let hr_init = (*(*task_bar_list2).lpVtbl).parent.HrInit;
|
let hr_init = (*(*task_bar_list2).lpVtbl).parent.HrInit;
|
||||||
|
if hr_init(task_bar_list2.cast()) != S_OK {
|
||||||
if hr != S_OK || hr_init(task_bar_list2.cast()) != S_OK {
|
|
||||||
// In some old windows, the taskbar object could not be created, we just ignore it
|
// In some old windows, the taskbar object could not be created, we just ignore it
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1247,10 +1250,13 @@ pub(crate) unsafe fn set_skip_taskbar(hwnd: HWND, skip: bool) {
|
||||||
&IID_ITaskbarList,
|
&IID_ITaskbarList,
|
||||||
&mut task_bar_list as *mut _ as *mut _,
|
&mut task_bar_list as *mut _ as *mut _,
|
||||||
);
|
);
|
||||||
|
if hr != S_OK {
|
||||||
|
// In visual studio retrieving the taskbar list fails
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
let hr_init = (*(*task_bar_list).lpVtbl).HrInit;
|
let hr_init = (*(*task_bar_list).lpVtbl).HrInit;
|
||||||
|
if hr_init(task_bar_list.cast()) != S_OK {
|
||||||
if hr != S_OK || hr_init(task_bar_list.cast()) != S_OK {
|
|
||||||
// In some old windows, the taskbar object could not be created, we just ignore it
|
// In some old windows, the taskbar object could not be created, we just ignore it
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue