Commit 4a397b40 authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

msvcrt: Destroy thrown c++ object before calling handler in _except_handler4_common.

parent 856f0f9d
......@@ -950,6 +950,8 @@ int CDECL _except_handler4_common( ULONG *cookie, void (*check_cookie)(void),
if (retval == EXCEPTION_EXECUTE_HANDLER)
{
__DestructExceptionObject(rec);
/* Unwind all higher frames, this one will handle the exception */
_global_unwind2((EXCEPTION_REGISTRATION_RECORD*)frame);
msvcrt_local_unwind4( cookie, frame, trylevel, &frame->_ebp );
......
......@@ -219,6 +219,7 @@ typedef struct
BOOL __cdecl __CxxRegisterExceptionObject(EXCEPTION_RECORD**, cxx_frame_info*);
void __cdecl __CxxUnregisterExceptionObject(cxx_frame_info*, BOOL);
void CDECL __DestructExceptionObject(EXCEPTION_RECORD*);
/* TLS data */
extern DWORD msvcrt_tls_index DECLSPEC_HIDDEN;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment