From 73d7ba1daf7fff8eb03b21ac7e1707435342c5c6 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Herm=C3=A8s=20B=C3=A9lusca-Ma=C3=AFto?= Date: Mon, 30 Jun 2014 21:08:32 +0000 Subject: [PATCH] [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. svn path=/trunk/; revision=63680 --- reactos/base/system/winlogon/lang/fr-FR.rc | 2 +- reactos/base/system/winlogon/winlogon.c | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/reactos/base/system/winlogon/lang/fr-FR.rc b/reactos/base/system/winlogon/lang/fr-FR.rc index 50e451dcb66..e608ae0dca0 100644 --- a/reactos/base/system/winlogon/lang/fr-FR.rc +++ b/reactos/base/system/winlogon/lang/fr-FR.rc @@ -18,7 +18,7 @@ CAPTION "Échec de l'interface utilisateur" 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 diff --git a/reactos/base/system/winlogon/winlogon.c b/reactos/base/system/winlogon/winlogon.c index 56646f7a963..76f0c394f6a 100644 --- a/reactos/base/system/winlogon/winlogon.c +++ b/reactos/base/system/winlogon/winlogon.c @@ -321,8 +321,8 @@ WinMain( 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 @@ WinMain( 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 @@ WinMain( 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); } -- 2.17.1