Martin Storsjo : ntdll: Fix nested exceptions on arm64.

Alexandre Julliard julliard at winehq.org
Tue Oct 6 15:33:10 CDT 2020


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

Author: Martin Storsjo <martin at martin.st>
Date:   Tue Oct  6 11:49:43 2020 +0300

ntdll: Fix nested exceptions on arm64.

This mirrors ae07938ba661dc0515673835878710a25c99eec8 (from x86_64)
to arm64.

Signed-off-by: Martin Storsjo <martin at martin.st>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/ntdll/signal_arm64.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/dlls/ntdll/signal_arm64.c b/dlls/ntdll/signal_arm64.c
index cc620eb1b4..c31eb51038 100644
--- a/dlls/ntdll/signal_arm64.c
+++ b/dlls/ntdll/signal_arm64.c
@@ -315,10 +315,10 @@ static DWORD call_teb_unwind_handler( EXCEPTION_RECORD *rec, DISPATCHER_CONTEXT
 static DWORD __cdecl nested_exception_handler( EXCEPTION_RECORD *rec, EXCEPTION_REGISTRATION_RECORD *frame,
                                                CONTEXT *context, EXCEPTION_REGISTRATION_RECORD **dispatcher )
 {
-    if (rec->ExceptionFlags & (EH_UNWINDING | EH_EXIT_UNWIND)) return ExceptionContinueSearch;
+    if (!(rec->ExceptionFlags & (EH_UNWINDING | EH_EXIT_UNWIND)))
+        rec->ExceptionFlags |= EH_NESTED_CALL;
 
-    /* FIXME */
-    return ExceptionNestedException;
+    return ExceptionContinueSearch;
 }
 
 




More information about the wine-cvs mailing list