msvcrt: Try to convert C to C++ exception in __CxxFrameHandler.

oldstable
Piotr Caban 2014-01-02 14:37:59 +01:00 committed by Alexandre Julliard
parent 8cf8285add
commit 0f3c31b1ea
1 changed files with 10 additions and 0 deletions

View File

@ -543,9 +543,19 @@ DWORD CDECL cxx_frame_handler( PEXCEPTION_RECORD rec, cxx_exception_frame* frame
}
else
{
thread_data_t *data = msvcrt_get_thread_data();
exc_type = NULL;
TRACE("handling C exception code %x rec %p frame %p trylevel %d descr %p nested_frame %p\n",
rec->ExceptionCode, rec, frame, frame->trylevel, descr, nested_frame );
if (data->se_translator) {
EXCEPTION_POINTERS except_ptrs;
except_ptrs.ExceptionRecord = rec;
except_ptrs.ContextRecord = context;
data->se_translator(rec->ExceptionCode, &except_ptrs);
}
}
call_catch_block( rec, frame, descr, frame->trylevel, exc_type );