Index: libvo/w32_common.c =================================================================== --- libvo/w32_common.c (revision 28112) +++ libvo/w32_common.c (working copy) @@ -35,6 +35,7 @@ HWND vo_window = 0; static int event_flags; static int mon_cnt; +static int prev_scrsaver_state; static HMONITOR (WINAPI* myMonitorFromWindow)(HWND, DWORD); static BOOL (WINAPI* myGetMonitorInfo)(HMONITOR, LPMONITORINFO); @@ -468,6 +469,11 @@ } updateScreenProperties(); + /* Save current screensaver status and disable it. */ + SystemParametersInfo(SPI_GETSCREENSAVEACTIVE, 0, &prev_scrsaver_state, 0); + if(prev_scrsaver_state) + SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, FALSE, NULL, 0); + return 1; } @@ -536,4 +542,9 @@ DestroyWindow(vo_window); vo_window = 0; UnregisterClass(classname, 0); + + /* Restore the previous screensaver state */ + if(prev_scrsaver_state) + SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, + prev_scrsaver_state, NULL, 0); }