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; |