Module: wine Branch: master Commit: bc71c7decb4d0d14a0a5d67e034557c5c3535c18 URL: http://source.winehq.org/git/wine.git/?a=commit;h=bc71c7decb4d0d14a0a5d67e03...
Author: Piotr Caban piotr@codeweavers.com Date: Mon Mar 28 20:11:44 2016 +0200
msvcrt: Call C structured exception translator in x86_64 __CxxFrameHandler.
Signed-off-by: Piotr Caban piotr@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/msvcrt/except_x86_64.c | 10 ++++++++++ 1 file changed, 10 insertions(+)
diff --git a/dlls/msvcrt/except_x86_64.c b/dlls/msvcrt/except_x86_64.c index d31bc69..f81bb95 100644 --- a/dlls/msvcrt/except_x86_64.c +++ b/dlls/msvcrt/except_x86_64.c @@ -207,9 +207,19 @@ static DWORD cxx_frame_handler(EXCEPTION_RECORD *rec, ULONG64 frame, } else { + thread_data_t *data = msvcrt_get_thread_data(); + exc_type = NULL; TRACE("handling C exception code %x rec %p frame %lx unwind_help %d descr %p\n", rec->ExceptionCode, rec, frame, *((INT*)(frame+descr->unwind_help)), descr); + + if (data->se_translator) { + EXCEPTION_POINTERS except_ptrs; + + except_ptrs.ExceptionRecord = rec; + except_ptrs.ContextRecord = context; + data->se_translator(rec->ExceptionCode, &except_ptrs); + } }
return ExceptionContinueSearch;