Commit 7c36b51a authored by Alexandre Julliard's avatar Alexandre Julliard

ntdll: Restore the original context for the last frame instead of the result of the unwind handler.

parent de9330cb
......@@ -2927,7 +2927,7 @@ void WINAPI RtlUnwindEx( PVOID end_frame, PVOID target_ip, EXCEPTION_RECORD *rec
dispatch.ContextRecord = context;
dispatch.HistoryTable = table;
while (dispatch.EstablisherFrame != (ULONG64)end_frame)
for (;;)
{
/* FIXME: should use the history table to make things faster */
......@@ -3031,6 +3031,7 @@ void WINAPI RtlUnwindEx( PVOID end_frame, PVOID target_ip, EXCEPTION_RECORD *rec
dispatch.EstablisherFrame = new_context.Rsp;
}
if (dispatch.EstablisherFrame == (ULONG64)end_frame) break;
*context = new_context;
}
......
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