static void win32_display_server_destroy(void *data) { dispserv_win32_t *dispserv = (dispserv_win32_t*)data; #ifdef HAS_TASKBAR_EXT if (g_taskbarList && win32_taskbar_is_created()) { ITaskbarList3_Release(g_taskbarList); g_taskbarList = NULL; } #endif if (dispserv) free(dispserv); }
static void win32_display_server_destroy(void *data) { dispserv_win32_t *dispserv = (dispserv_win32_t*)data; if (win32_orig_width > 0 && win32_orig_height > 0 ) video_display_server_switch_resolution(win32_orig_width, win32_orig_height, win32_orig_refresh , (float)win32_orig_refresh ); #ifdef HAS_TASKBAR_EXT if (g_taskbarList && win32_taskbar_is_created()) { ITaskbarList3_Release(g_taskbarList); g_taskbarList = NULL; } #endif if (dispserv) free(dispserv); }
static bool win32_set_window_progress(void *data, int progress, bool finished) { HWND hwnd = win32_get_window(); dispserv_win32_t *serv = (dispserv_win32_t*)data; if (serv) serv->progress = progress; #ifdef HAS_TASKBAR_EXT if (!g_taskbarList || !win32_taskbar_is_created()) return false; if (progress == -1) { if (ITaskbarList3_SetProgressState( g_taskbarList, hwnd, TBPF_INDETERMINATE) != S_OK) return false; } else if (finished) { if (ITaskbarList3_SetProgressState( g_taskbarList, hwnd, TBPF_NOPROGRESS) != S_OK) return false; } else if (progress >= 0) { if (ITaskbarList3_SetProgressState( g_taskbarList, hwnd, TBPF_NORMAL) != S_OK) return false; if (ITaskbarList3_SetProgressValue( g_taskbarList, hwnd, progress, 100) != S_OK) return false; } #endif return true; }