diff --git a/reactos/subsystems/win32/win32k/ntuser/input.c b/reactos/subsystems/win32/win32k/ntuser/input.c index 17e5d9a0662..65a5d62f65b 100644 --- a/reactos/subsystems/win32/win32k/ntuser/input.c +++ b/reactos/subsystems/win32/win32k/ntuser/input.c @@ -167,6 +167,7 @@ ScreenSaverThreadMain(PVOID StartContext) UINT ScreenSaverTimeOut = 0; BOOL nPreviousState = FALSE; NTSTATUS Status; + BOOL FristTime = TRUE; KeSetPriorityThread(&PsGetCurrentThread()->Tcb, @@ -216,18 +217,25 @@ ScreenSaverThreadMain(PVOID StartContext) (nPreviousState == FALSE)) { BOOL nPreviousState = FALSE; - DPRINT("Keyboard and Mouse TimeOut Starting Screen Saver ...\n"); - DPRINT(" %I64d Keyboard Timeout Value\n",DiffTimeKeyboard.QuadPart); - DPRINT(" %I64d Mouse Timeout Value \n",DiffTimeMouse.QuadPart); - DPRINT(" %I64d TimeOut \n",DiffTimeMouse.QuadPart); + DPRINT1("Keyboard and Mouse TimeOut Starting Screen Saver ...\n"); + DPRINT1(" %I64d Keyboard Timeout Value\n",DiffTimeKeyboard.QuadPart); + DPRINT1(" %I64d Mouse Timeout Value \n",DiffTimeMouse.QuadPart); + DPRINT1(" %I64d TimeOut \n",DiffTimeMouse.QuadPart); - CSR_API_MESSAGE Request; - CsrInit(); - Request.Type = MAKE_CSR_API(START_SCREEN_SAVER, CSR_GUI); - Request.Data.StartScreenSaver.Start = TRUE; - co_CsrNotifyScreenSaver(&Request ); + if (FristTime == FALSE) + { + CSR_API_MESSAGE Request; + CsrInit(); + Request.Type = MAKE_CSR_API(START_SCREEN_SAVER, CSR_GUI); + Request.Data.StartScreenSaver.Start = TRUE; + co_CsrNotifyScreenSaver(&Request ); - IntSystemParametersInfo(SPI_SETSCREENSAVERRUNNING, TRUE, &nPreviousState, 0); + IntSystemParametersInfo(SPI_SETSCREENSAVERRUNNING, TRUE, &nPreviousState, 0); + } + else + { + FristTime = FALSE; + } } if ( (DiffTimeMouse.QuadPart < Timeout.QuadPart) && diff --git a/reactos/subsystems/win32/win32k/ntuser/misc.c b/reactos/subsystems/win32/win32k/ntuser/misc.c index dd4520371f6..782a37c1288 100644 --- a/reactos/subsystems/win32/win32k/ntuser/misc.c +++ b/reactos/subsystems/win32/win32k/ntuser/misc.c @@ -1020,16 +1020,14 @@ IntSystemParametersInfo( return TRUE; break; case SPI_SETFLATMENU: - WinStaObject->FlatMenu = uiParam; - return TRUE; + WinStaObject->FlatMenu = uiParam; break; case SPI_GETSCREENSAVETIMEOUT: if (pvParam != NULL) *((UINT*)pvParam) = WinStaObject->ScreenSaverTimeOut; return TRUE; break; case SPI_SETSCREENSAVETIMEOUT: - WinStaObject->ScreenSaverTimeOut = uiParam; - return TRUE; + WinStaObject->ScreenSaverTimeOut = uiParam; break; case SPI_GETSCREENSAVERRUNNING: if (pvParam != NULL) *((BOOL*)pvParam) = WinStaObject->ScreenSaverRunning; @@ -1037,8 +1035,7 @@ IntSystemParametersInfo( break; case SPI_SETSCREENSAVERRUNNING: if (pvParam != NULL) *((BOOL*)pvParam) = WinStaObject->ScreenSaverRunning; - WinStaObject->ScreenSaverRunning = uiParam; - return TRUE; + WinStaObject->ScreenSaverRunning = uiParam; break; case SPI_GETWHEELSCROLLLINES: CurInfo = IntGetSysCursorInfo(WinStaObject);