Piotr Caban : msvcrt: Try to convert C to C++ exception in __CxxFrameHandler.
Module: wine Branch: master Commit: 0f3c31b1eab7842834242ac13e5eef0e0d5ce5ad URL: http://source.winehq.org/git/wine.git/?a=commit;h=0f3c31b1eab7842834242ac13e... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Thu Jan 2 14:37:59 2014 +0100 msvcrt: Try to convert C to C++ exception in __CxxFrameHandler. --- dlls/msvcrt/except_i386.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/dlls/msvcrt/except_i386.c b/dlls/msvcrt/except_i386.c index 8639579..0481282 100644 --- a/dlls/msvcrt/except_i386.c +++ b/dlls/msvcrt/except_i386.c @@ -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 );
participants (1)
-
Alexandre Julliard