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/f... ============================================================================== --- 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/winlog... ============================================================================== --- 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); }