diff options
Diffstat (limited to 'src/burn/engine/uithread.cpp')
| -rw-r--r-- | src/burn/engine/uithread.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/burn/engine/uithread.cpp b/src/burn/engine/uithread.cpp index 187f3349..bb1e5972 100644 --- a/src/burn/engine/uithread.cpp +++ b/src/burn/engine/uithread.cpp | |||
| @@ -18,6 +18,7 @@ struct UITHREAD_INFO | |||
| 18 | { | 18 | { |
| 19 | BOOL fElevatedEngine; | 19 | BOOL fElevatedEngine; |
| 20 | BURN_USER_EXPERIENCE* pUserExperience; | 20 | BURN_USER_EXPERIENCE* pUserExperience; |
| 21 | BOOL* pfCriticalShutdownInitiated; | ||
| 21 | }; | 22 | }; |
| 22 | 23 | ||
| 23 | 24 | ||
| @@ -132,6 +133,7 @@ static DWORD WINAPI ThreadProc( | |||
| 132 | 133 | ||
| 133 | info.fElevatedEngine = fElevatedEngine; | 134 | info.fElevatedEngine = fElevatedEngine; |
| 134 | info.pUserExperience = &pEngineState->userExperience; | 135 | info.pUserExperience = &pEngineState->userExperience; |
| 136 | info.pfCriticalShutdownInitiated = &pEngineState->fCriticalShutdownInitiated; | ||
| 135 | 137 | ||
| 136 | // Create the window to handle reboots without activating it. | 138 | // Create the window to handle reboots without activating it. |
| 137 | hWnd = ::CreateWindowExW(WS_EX_NOACTIVATE, wc.lpszClassName, NULL, WS_POPUP, 0, 0, 0, 0, HWND_DESKTOP, NULL, pContext->hInstance, &info); | 139 | hWnd = ::CreateWindowExW(WS_EX_NOACTIVATE, wc.lpszClassName, NULL, WS_POPUP, 0, 0, 0, 0, HWND_DESKTOP, NULL, pContext->hInstance, &info); |
| @@ -208,6 +210,8 @@ static LRESULT CALLBACK WndProc( | |||
| 208 | UserExperienceOnSystemShutdown(pInfo->pUserExperience, dwEndSession, &fCancel); | 210 | UserExperienceOnSystemShutdown(pInfo->pUserExperience, dwEndSession, &fCancel); |
| 209 | } | 211 | } |
| 210 | 212 | ||
| 213 | *pInfo->pfCriticalShutdownInitiated |= fCritical; | ||
| 214 | |||
| 211 | fRet = !fCancel; | 215 | fRet = !fCancel; |
| 212 | LogId(REPORT_STANDARD, MSG_SYSTEM_SHUTDOWN, LoggingBoolToString(fCritical), LoggingBoolToString(pInfo->fElevatedEngine), LoggingBoolToString(fRet)); | 216 | LogId(REPORT_STANDARD, MSG_SYSTEM_SHUTDOWN, LoggingBoolToString(fCritical), LoggingBoolToString(pInfo->fElevatedEngine), LoggingBoolToString(fRet)); |
| 213 | return fRet; | 217 | return fRet; |
