summaryrefslogtreecommitdiffstats
path: root/video/out/w32_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'video/out/w32_common.c')
-rw-r--r--video/out/w32_common.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/video/out/w32_common.c b/video/out/w32_common.c
index 6d89355a70..f7af24fcc3 100644
--- a/video/out/w32_common.c
+++ b/video/out/w32_common.c
@@ -2182,11 +2182,17 @@ static int gui_thread_control(struct vo_w32_state *w32, int request, void *arg)
} else if (changed_option == &vo_opts->cursor_passthrough) {
update_cursor_passthrough(w32);
} else if (changed_option == &vo_opts->border ||
- changed_option == &vo_opts->title_bar ||
- changed_option == &vo_opts->show_in_taskbar)
+ changed_option == &vo_opts->title_bar)
{
update_window_style(w32);
update_window_state(w32);
+ } else if (changed_option == &vo_opts->show_in_taskbar) {
+ // This hide and show is apparently required according to the documentation:
+ // https://learn.microsoft.com/en-us/windows/win32/shell/taskbar#managing-taskbar-buttons
+ ShowWindow(w32->window, SW_HIDE);
+ update_window_style(w32);
+ ShowWindow(w32->window, SW_SHOW);
+ update_window_state(w32);
} else if (changed_option == &vo_opts->window_minimized) {
update_minimized_state(w32);
} else if (changed_option == &vo_opts->window_maximized) {