Author: hbelusca
Date: Mon Jun 30 21:08:32 2014
New Revision: 63680
URL:
http://svn.reactos.org/svn/reactos?rev=63680&view=rev
Log:
[WINLOGON]
- Do not shutdown the computer if winlogon cannot register itself to user32 (eg. the user
double-clicks on winlogon.exe when ReactOS is already launched :P ).
- Add a note about a possible improvement of the error dialog if msgina cannot be loaded
correctly.
- Fix french translation.
Modified:
trunk/reactos/base/system/winlogon/lang/fr-FR.rc
trunk/reactos/base/system/winlogon/winlogon.c
Modified: trunk/reactos/base/system/winlogon/lang/fr-FR.rc
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/winlogon/lang/…
==============================================================================
--- trunk/reactos/base/system/winlogon/lang/fr-FR.rc [iso-8859-1] (original)
+++ trunk/reactos/base/system/winlogon/lang/fr-FR.rc [iso-8859-1] Mon Jun 30 21:08:32
2014
@@ -18,7 +18,7 @@
FONT 8, "MS Shell Dlg"
BEGIN
LTEXT "Le chargement du DLL %s de l'interface utilisateur a échoué",
IDC_GINALOADFAILED, 39, 16, 156, 24
- LTEXT "Contactez votre administrateur système pour remplacer le DLL, ou
restaurez le DLL original.", IDC_GINALOADFAILEDCONTACT, 39, 53, 151, 25
+ LTEXT "Contactez votre administrateur système pour remplacer la DLL, ou
restaurez la DLL originale.", IDC_GINALOADFAILEDCONTACT, 39, 53, 151, 25
DEFPUSHBUTTON "&Redémarrer", 1, 80, 91, 68, 14
END
Modified: trunk/reactos/base/system/winlogon/winlogon.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/base/system/winlogon/winlo…
==============================================================================
--- trunk/reactos/base/system/winlogon/winlogon.c [iso-8859-1] (original)
+++ trunk/reactos/base/system/winlogon/winlogon.c [iso-8859-1] Mon Jun 30 21:08:32 2014
@@ -321,8 +321,8 @@
if (!RegisterLogonProcess(GetCurrentProcessId(), TRUE))
{
ERR("WL: Could not register logon process\n");
- NtShutdownSystem(ShutdownNoReboot);
- ExitProcess(0);
+ NtRaiseHardError(STATUS_SYSTEM_PROCESS_TERMINATED, 0, 0, NULL, OptionOk,
&HardErrorResponse);
+ ExitProcess(1);
}
WLSession = (PWLSESSION)HeapAlloc(GetProcessHeap(), 0, sizeof(WLSESSION));
@@ -366,7 +366,7 @@
if (!StartLsass())
{
ERR("WL: Failed to start lsass.exe service (error %lu)\n",
GetLastError());
- NtRaiseHardError(STATUS_SYSTEM_PROCESS_TERMINATED, 0, 0, 0, OptionOk,
&HardErrorResponse);
+ NtRaiseHardError(STATUS_SYSTEM_PROCESS_TERMINATED, 0, 0, NULL, OptionOk,
&HardErrorResponse);
ExitProcess(1);
}
@@ -377,7 +377,9 @@
if (!GinaInit(WLSession))
{
ERR("WL: Failed to initialize Gina\n");
- DialogBoxParam(hAppInstance, MAKEINTRESOURCE(IDD_GINALOADFAILED),
GetDesktopWindow(), GinaLoadFailedWindowProc, (LPARAM)L"");
+ // FIXME: Retrieve the real name of the GINA DLL we were trying to load.
+ // It is known only inside the GinaInit function...
+ DialogBoxParam(hAppInstance, MAKEINTRESOURCE(IDD_GINALOADFAILED),
GetDesktopWindow(), GinaLoadFailedWindowProc, (LPARAM)L"msgina.dll");
HandleShutdown(WLSession, WLX_SAS_ACTION_SHUTDOWN_REBOOT);
ExitProcess(1);
}