Piotr Caban : msvcrt: Pass catch_func_nested_frame struct to call_catch_block.

Alexandre Julliard julliard at winehq.org
Mon Jan 13 16:11:52 CST 2020


Module: wine
Branch: master
Commit: 48a447c5eb238d673ce5db4eeacf3ba4c1a9da90
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=48a447c5eb238d673ce5db4eeacf3ba4c1a9da90

Author: Piotr Caban <piotr at codeweavers.com>
Date:   Mon Jan 13 14:44:27 2020 +0100

msvcrt: Pass catch_func_nested_frame struct to call_catch_block.

Signed-off-by: Piotr Caban <piotr at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msvcrt/except_i386.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/dlls/msvcrt/except_i386.c b/dlls/msvcrt/except_i386.c
index b790047fe3..63a04dbf78 100644
--- a/dlls/msvcrt/except_i386.c
+++ b/dlls/msvcrt/except_i386.c
@@ -110,7 +110,7 @@ typedef struct
 {
     cxx_exception_frame *frame;
     const cxx_function_descr *descr;
-    EXCEPTION_REGISTRATION_RECORD *nested_frame;
+    catch_func_nested_frame *nested_frame;
 } se_translator_ctx;
 
 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,
                                      cxx_exception_frame *frame,
                                      const cxx_function_descr *descr, int nested_trylevel,
-                                     EXCEPTION_REGISTRATION_RECORD *catch_frame,
+                                     catch_func_nested_frame *catch_frame,
                                      cxx_exception_type *info )
 {
     UINT i;
@@ -440,7 +440,7 @@ static inline void call_catch_block( PEXCEPTION_RECORD rec, CONTEXT *context,
                     (void*)rec->ExceptionInformation[1]);
 
             /* 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 );
             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.descr = descr;
-            ctx.nested_frame = nested_frame ? &nested_frame->frame : NULL;
+            ctx.nested_frame = nested_frame;
             __TRY
             {
                 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,
-            frame->trylevel, nested_frame ? &nested_frame->frame : NULL, exc_type );
+            frame->trylevel, nested_frame, exc_type );
     return ExceptionContinueSearch;
 }
 




More information about the wine-cvs mailing list