Module: wine Branch: master Commit: 1a988fa46580250bd7640f8f0f3c4c06ea5053c3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=1a988fa46580250bd7640f8f0f... Author: Austin English <austinenglish(a)gmail.com> Date: Sat Apr 12 13:20:55 2014 -0700 ntdll: Make sure flags are preserved in raise_trap_exception(). --- dlls/ntdll/signal_i386.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/ntdll/signal_i386.c b/dlls/ntdll/signal_i386.c index 63bf088..5f8b8fd 100644 --- a/dlls/ntdll/signal_i386.c +++ b/dlls/ntdll/signal_i386.c @@ -1868,9 +1868,10 @@ static void WINAPI raise_trap_exception( EXCEPTION_RECORD *rec, CONTEXT *context if( !(context->EFlags & 0x100) || (ntdll_get_thread_data()->dr7 & 0xff) ) { /* (possible) hardware breakpoint, fetch the debug registers */ + DWORD saved_flags = context->ContextFlags; context->ContextFlags = CONTEXT_DEBUG_REGISTERS; NtGetContextThread(GetCurrentThread(), context); - context->ContextFlags |= CONTEXT_FULL; /* restore flags */ + context->ContextFlags |= saved_flags; /* restore flags */ } context->EFlags &= ~0x100; /* clear single-step flag */