diff options
Diffstat (limited to 'src/engine/externalengine.cpp')
-rw-r--r-- | src/engine/externalengine.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/engine/externalengine.cpp b/src/engine/externalengine.cpp index 51a0e229..409353e4 100644 --- a/src/engine/externalengine.cpp +++ b/src/engine/externalengine.cpp | |||
@@ -582,6 +582,11 @@ HRESULT ExternalEnginePlan( | |||
582 | { | 582 | { |
583 | HRESULT hr = S_OK; | 583 | HRESULT hr = S_OK; |
584 | 584 | ||
585 | if (BOOTSTRAPPER_ACTION_LAYOUT > action || BOOTSTRAPPER_ACTION_UPDATE_REPLACE_EMBEDDED < action) | ||
586 | { | ||
587 | ExitOnRootFailure(hr = E_INVALIDARG, "BA passed invalid action to Plan: %u.", action); | ||
588 | } | ||
589 | |||
585 | if (!::PostThreadMessageW(dwThreadId, WM_BURN_PLAN, 0, action)) | 590 | if (!::PostThreadMessageW(dwThreadId, WM_BURN_PLAN, 0, action)) |
586 | { | 591 | { |
587 | ExitWithLastError(hr, "Failed to post plan message."); | 592 | ExitWithLastError(hr, "Failed to post plan message."); |
@@ -622,7 +627,7 @@ HRESULT ExternalEngineApply( | |||
622 | ExitOnNull(hwndParent, hr, E_INVALIDARG, "BA passed NULL hwndParent to Apply."); | 627 | ExitOnNull(hwndParent, hr, E_INVALIDARG, "BA passed NULL hwndParent to Apply."); |
623 | if (!::IsWindow(hwndParent)) | 628 | if (!::IsWindow(hwndParent)) |
624 | { | 629 | { |
625 | ExitOnFailure(hr = E_INVALIDARG, "BA passed invalid hwndParent to Apply."); | 630 | ExitOnRootFailure(hr = E_INVALIDARG, "BA passed invalid hwndParent to Apply."); |
626 | } | 631 | } |
627 | 632 | ||
628 | if (!::PostThreadMessageW(dwThreadId, WM_BURN_APPLY, 0, reinterpret_cast<LPARAM>(hwndParent))) | 633 | if (!::PostThreadMessageW(dwThreadId, WM_BURN_APPLY, 0, reinterpret_cast<LPARAM>(hwndParent))) |