diff options
| author | AndreyL ProductEngine <alihatskiy@productengine.com> | 2019-09-10 23:31:51 +0300 |
|---|---|---|
| committer | AndreyL ProductEngine <alihatskiy@productengine.com> | 2019-09-10 23:31:51 +0300 |
| commit | 1b66e4673d9779a1c67cfb074bb15c597d1c5779 (patch) | |
| tree | 1aa96c63f62c9dddec111eee5bb021ced19ea93d /indra/llwindow/llwindowwin32.cpp | |
| parent | 7d9b7e93ed0a157320ccc86d65f16e7fdfc8fbf1 (diff) | |
| parent | e241670694959833feaa0e667222b337095eb683 (diff) | |
MergeMerged in lindenlab/viewer-release
Diffstat (limited to 'indra/llwindow/llwindowwin32.cpp')
| -rw-r--r-- | indra/llwindow/llwindowwin32.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/indra/llwindow/llwindowwin32.cpp b/indra/llwindow/llwindowwin32.cpp index 985bd79d13..e05f507506 100644 --- a/indra/llwindow/llwindowwin32.cpp +++ b/indra/llwindow/llwindowwin32.cpp @@ -741,6 +741,17 @@ void LLWindowWin32::restore() SetFocus(mWindowHandle); } +bool destroy_window_handler(HWND &hWnd) +{ + __try + { + return DestroyWindow(hWnd); + } + __except (EXCEPTION_EXECUTE_HANDLER) + { + return false; + } +} // close() destroys all OS-specific code associated with a window. // Usually called from LLWindowManager::destroyWindow() @@ -814,7 +825,7 @@ void LLWindowWin32::close() ShowWindow(mWindowHandle, SW_HIDE); // This causes WM_DESTROY to be sent *immediately* - if (!DestroyWindow(mWindowHandle)) + if (!destroy_window_handler(mWindowHandle)) { OSMessageBox(mCallbacks->translateString("MBDestroyWinFailed"), mCallbacks->translateString("MBShutdownErr"), |
