Show warning screen at the end of setup, telling the user to wait until

the disk has been flushed. Fixes bug #110.

svn path=/trunk/; revision=7798
This commit is contained in:
Gé van Geldorp 2004-01-20 23:39:06 +00:00
parent b95a905321
commit 8cd9e295fc

View file

@ -76,6 +76,7 @@ typedef enum _PAGE_NUMBER
SUCCESS_PAGE, SUCCESS_PAGE,
QUIT_PAGE, QUIT_PAGE,
FLUSH_PAGE,
REBOOT_PAGE, /* virtual page */ REBOOT_PAGE, /* virtual page */
} PAGE_NUMBER, *PPAGE_NUMBER; } PAGE_NUMBER, *PPAGE_NUMBER;
@ -3368,7 +3369,7 @@ QuitPage(PINPUT_RECORD Ir)
if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */ if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
{ {
return(REBOOT_PAGE); return(FLUSH_PAGE);
} }
} }
} }
@ -3388,7 +3389,7 @@ SuccessPage(PINPUT_RECORD Ir)
if (IsUnattendedSetup) if (IsUnattendedSetup)
{ {
return(REBOOT_PAGE); return(FLUSH_PAGE);
} }
while(TRUE) while(TRUE)
@ -3397,9 +3398,23 @@ SuccessPage(PINPUT_RECORD Ir)
if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */ if (Ir->Event.KeyEvent.uChar.AsciiChar == 0x0D) /* ENTER */
{ {
return(FLUSH_PAGE);
}
}
}
static PAGE_NUMBER
FlushPage(PINPUT_RECORD Ir)
{
SetTextXY(10, 6, "The system is now making sure all data is stored on your disk");
SetTextXY(10, 8, "This may take a minute");
SetTextXY(10, 9, "When finished, your computer will reboot automatically");
SetStatusText(" Flushing cache");
return(REBOOT_PAGE); return(REBOOT_PAGE);
}
}
} }
@ -3533,6 +3548,10 @@ NtProcessStartup(PPEB Peb)
Page = SuccessPage(&Ir); Page = SuccessPage(&Ir);
break; break;
case FLUSH_PAGE:
Page = FlushPage(&Ir);
break;
case QUIT_PAGE: case QUIT_PAGE:
Page = QuitPage(&Ir); Page = QuitPage(&Ir);
break; break;