Author: hbelusca
Date: Mon Sep 26 22:49:13 2016
New Revision: 72823
URL:
http://svn.reactos.org/svn/reactos?rev=72823&view=rev
Log:
[USERINIT]: Usability commit: when in LiveCD mode, if we cannot start the shell or the
installer, display again the main menu.
Modified:
trunk/reactos/base/system/userinit/userinit.c
Modified: trunk/reactos/base/system/userinit/userinit.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/userinit/useri…
==============================================================================
--- trunk/reactos/base/system/userinit/userinit.c [iso-8859-1] (original)
+++ trunk/reactos/base/system/userinit/userinit.c [iso-8859-1] Mon Sep 26 22:49:13 2016
@@ -577,13 +577,18 @@
IN LPWSTR lpszCmdLine,
IN int nCmdShow)
{
+ BOOL bIsLiveCD;
+ BOOL Success;
STATE State;
hInstance = hInst;
+ bIsLiveCD = IsLiveCD();
+
+Restart:
SetUserSettings();
- if (IsLiveCD())
+ if (bIsLiveCD)
{
State.NextPage = LOCALEPAGE;
State.Run = SHELL;
@@ -594,20 +599,28 @@
State.Run = SHELL;
}
- if (State.NextPage != DONE)
+ if (State.NextPage != DONE) // && bIsLiveCD
{
RunLiveCD(&State);
}
if (State.Run == SHELL)
{
- StartShell();
- NotifyLogon();
+ Success = StartShell();
+ if (Success)
+ NotifyLogon();
}
else if (State.Run == INSTALLER)
{
- StartInstaller();
- }
+ Success = StartInstaller();
+ }
+
+ /*
+ * In LiveCD mode, go back to the main menu if we failed
+ * to either start the shell or the installer.
+ */
+ if (bIsLiveCD && !Success)
+ goto Restart;
return 0;
}