mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 04:14:10 +00:00
[WINESYNC] msvcrt: Pass catch_func_nested_frame struct to call_catch_block.
Signed-off-by: Piotr Caban <piotr@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org> wine commit id 48a447c5eb238d673ce5db4eeacf3ba4c1a9da90 by Piotr Caban <piotr@codeweavers.com>
This commit is contained in:
parent
6c7dc46702
commit
4df4baa391
1 changed files with 5 additions and 5 deletions
|
@ -110,7 +110,7 @@ typedef struct
|
||||||
{
|
{
|
||||||
cxx_exception_frame *frame;
|
cxx_exception_frame *frame;
|
||||||
const cxx_function_descr *descr;
|
const cxx_function_descr *descr;
|
||||||
EXCEPTION_REGISTRATION_RECORD *nested_frame;
|
catch_func_nested_frame *nested_frame;
|
||||||
} se_translator_ctx;
|
} se_translator_ctx;
|
||||||
|
|
||||||
typedef struct _SCOPETABLE
|
typedef struct _SCOPETABLE
|
||||||
|
@ -390,7 +390,7 @@ static DWORD catch_function_nested_handler( EXCEPTION_RECORD *rec, EXCEPTION_REG
|
||||||
static inline void call_catch_block( PEXCEPTION_RECORD rec, CONTEXT *context,
|
static inline void call_catch_block( PEXCEPTION_RECORD rec, CONTEXT *context,
|
||||||
cxx_exception_frame *frame,
|
cxx_exception_frame *frame,
|
||||||
const cxx_function_descr *descr, int nested_trylevel,
|
const cxx_function_descr *descr, int nested_trylevel,
|
||||||
EXCEPTION_REGISTRATION_RECORD *catch_frame,
|
catch_func_nested_frame *catch_frame,
|
||||||
cxx_exception_type *info )
|
cxx_exception_type *info )
|
||||||
{
|
{
|
||||||
UINT i;
|
UINT i;
|
||||||
|
@ -440,7 +440,7 @@ static inline void call_catch_block( PEXCEPTION_RECORD rec, CONTEXT *context,
|
||||||
(void*)rec->ExceptionInformation[1]);
|
(void*)rec->ExceptionInformation[1]);
|
||||||
|
|
||||||
/* unwind the stack */
|
/* unwind the stack */
|
||||||
RtlUnwind( catch_frame ? catch_frame : &frame->frame, 0, rec, 0 );
|
RtlUnwind( catch_frame ? &catch_frame->frame : &frame->frame, 0, rec, 0 );
|
||||||
cxx_local_unwind( frame, descr, tryblock->start_level );
|
cxx_local_unwind( frame, descr, tryblock->start_level );
|
||||||
frame->trylevel = tryblock->end_level + 1;
|
frame->trylevel = tryblock->end_level + 1;
|
||||||
|
|
||||||
|
@ -627,7 +627,7 @@ DWORD CDECL cxx_frame_handler( PEXCEPTION_RECORD rec, cxx_exception_frame* frame
|
||||||
|
|
||||||
ctx.frame = frame;
|
ctx.frame = frame;
|
||||||
ctx.descr = descr;
|
ctx.descr = descr;
|
||||||
ctx.nested_frame = nested_frame ? &nested_frame->frame : NULL;
|
ctx.nested_frame = nested_frame;
|
||||||
__TRY
|
__TRY
|
||||||
{
|
{
|
||||||
except_ptrs.ExceptionRecord = rec;
|
except_ptrs.ExceptionRecord = rec;
|
||||||
|
@ -642,7 +642,7 @@ DWORD CDECL cxx_frame_handler( PEXCEPTION_RECORD rec, cxx_exception_frame* frame
|
||||||
}
|
}
|
||||||
|
|
||||||
call_catch_block( rec, context, frame, descr,
|
call_catch_block( rec, context, frame, descr,
|
||||||
frame->trylevel, nested_frame ? &nested_frame->frame : NULL, exc_type );
|
frame->trylevel, nested_frame, exc_type );
|
||||||
return ExceptionContinueSearch;
|
return ExceptionContinueSearch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue