Commit 8e4f0b2a authored by Martin Storsjo's avatar Martin Storsjo Committed by Alexandre Julliard

ntdll: Pass a nonnull handler_data in when continuing after a collided unwind.

This matches what was done for RtlUnwindEx in 93ecc54a, applying the same change in call_function_handlers (when called from raise_exception). Signed-off-by: 's avatarMartin Storsjo <martin@martin.st> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent d6e97952
...@@ -859,7 +859,7 @@ static NTSTATUS call_function_handlers( EXCEPTION_RECORD *rec, CONTEXT *orig_con ...@@ -859,7 +859,7 @@ static NTSTATUS call_function_handlers( EXCEPTION_RECORD *rec, CONTEXT *orig_con
dispatch.ContextRecord = &context; dispatch.ContextRecord = &context;
RtlVirtualUnwind( UNW_FLAG_NHANDLER, dispatch.ImageBase, RtlVirtualUnwind( UNW_FLAG_NHANDLER, dispatch.ImageBase,
dispatch.ControlPc, dispatch.FunctionEntry, dispatch.ControlPc, dispatch.FunctionEntry,
&context, NULL, &frame, NULL ); &context, &dispatch.HandlerData, &frame, NULL );
goto unwind_done; goto unwind_done;
} }
default: default:
...@@ -889,7 +889,7 @@ static NTSTATUS call_function_handlers( EXCEPTION_RECORD *rec, CONTEXT *orig_con ...@@ -889,7 +889,7 @@ static NTSTATUS call_function_handlers( EXCEPTION_RECORD *rec, CONTEXT *orig_con
dispatch.ContextRecord = &context; dispatch.ContextRecord = &context;
RtlVirtualUnwind( UNW_FLAG_NHANDLER, dispatch.ImageBase, RtlVirtualUnwind( UNW_FLAG_NHANDLER, dispatch.ImageBase,
dispatch.ControlPc, dispatch.FunctionEntry, dispatch.ControlPc, dispatch.FunctionEntry,
&context, NULL, &frame, NULL ); &context, &dispatch.HandlerData, &frame, NULL );
teb_frame = teb_frame->Prev; teb_frame = teb_frame->Prev;
goto unwind_done; goto unwind_done;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment