1. Fixing so the screensaver only start one time when ReactOS starting.

2. Fixing so the screensaver do not restart it self. 
Alesky here is the bugfix I promies, it will not longer see alot start screen msg. 
One bug remains before the reg key will be adding as defualt for matrix.scr so it 
can run from livecd as well



svn path=/trunk/; revision=23047
This commit is contained in:
Magnus Olsen 2006-07-13 21:21:30 +00:00
parent 9d2f75b905
commit 20ce435a3b
2 changed files with 21 additions and 16 deletions

View file

@ -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) &&

View file

@ -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);