Module: wine Branch: master Commit: aa4ad6d76613bea8931059982d9a2b9a9e305e28 URL: http://source.winehq.org/git/wine.git/?a=commit;h=aa4ad6d76613bea8931059982d...
Author: Alexandre Julliard julliard@winehq.org Date: Thu Jan 27 11:51:34 2011 +0100
ntdll: Capture the context inside RtlUnwindEx instead of assuming it's already initialized.
---
dlls/ntdll/signal_x86_64.c | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/dlls/ntdll/signal_x86_64.c b/dlls/ntdll/signal_x86_64.c index d7aafda..ad49411 100644 --- a/dlls/ntdll/signal_x86_64.c +++ b/dlls/ntdll/signal_x86_64.c @@ -2783,6 +2783,8 @@ void WINAPI RtlUnwindEx( PVOID end_frame, PVOID target_ip, EXCEPTION_RECORD *rec NTSTATUS status; DWORD size;
+ RtlCaptureContext( orig_context ); + /* build an exception record, if we do not have one */ if (!rec) { @@ -2931,12 +2933,11 @@ void WINAPI RtlUnwindEx( PVOID end_frame, PVOID target_ip, EXCEPTION_RECORD *rec /******************************************************************* * RtlUnwind (NTDLL.@) */ -void WINAPI __regs_RtlUnwind( void *frame, void *target_ip, EXCEPTION_RECORD *rec, - void *retval, CONTEXT *context ) +void WINAPI RtlUnwind( void *frame, void *target_ip, EXCEPTION_RECORD *rec, void *retval ) { - RtlUnwindEx( frame, target_ip, rec, retval, context, NULL ); + CONTEXT context; + RtlUnwindEx( frame, target_ip, rec, retval, &context, NULL ); } -DEFINE_REGS_ENTRYPOINT( RtlUnwind, 4 )
/*******************************************************************