Commit 775dac02 authored by Gabriel Ivăncescu's avatar Gabriel Ivăncescu Committed by Alexandre Julliard

ntdll: Do not override existing context's EAX when dispatching user APC.

Fixes a regression introduced by 175a3649, which caused Winamp's in_wave module to crash when playing a wav file (the previous behavior only changed EAX when there was no context). Signed-off-by: 's avatarGabriel Ivăncescu <gabrielopcode@gmail.com> Signed-off-by: 's avatarAlexandre Julliard <julliard@winehq.org>
parent f72f1ff9
...@@ -1696,6 +1696,7 @@ struct apc_stack_layout * WINAPI setup_user_apc_dispatcher_stack( CONTEXT *conte ...@@ -1696,6 +1696,7 @@ struct apc_stack_layout * WINAPI setup_user_apc_dispatcher_stack( CONTEXT *conte
{ {
c.ContextFlags = CONTEXT_FULL; c.ContextFlags = CONTEXT_FULL;
NtGetContextThread( GetCurrentThread(), &c ); NtGetContextThread( GetCurrentThread(), &c );
c.Eax = STATUS_USER_APC;
context = &c; context = &c;
} }
memmove( &stack->context, context, sizeof(stack->context) ); memmove( &stack->context, context, sizeof(stack->context) );
...@@ -1704,7 +1705,6 @@ struct apc_stack_layout * WINAPI setup_user_apc_dispatcher_stack( CONTEXT *conte ...@@ -1704,7 +1705,6 @@ struct apc_stack_layout * WINAPI setup_user_apc_dispatcher_stack( CONTEXT *conte
stack->arg1 = arg1; stack->arg1 = arg1;
stack->arg2 = arg2; stack->arg2 = arg2;
stack->func = func; stack->func = func;
stack->context.Eax = STATUS_USER_APC;
return stack; return stack;
} }
......
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