diff --git a/dlls/kernel32/debugger.c b/dlls/kernel32/debugger.c index 738b6f0a2ef..d4d66b21dde 100644 --- a/dlls/kernel32/debugger.c +++ b/dlls/kernel32/debugger.c @@ -85,6 +85,13 @@ BOOL WINAPI WaitForDebugEvent( event->u.DebugString.nDebugStringLength = data.exception.params[0]; break; } + else if (data.exception.exc_code == DBG_RIPEXCEPTION && data.exception.nb_params >= 2) + { + event->dwDebugEventCode = RIP_EVENT; + event->u.RipInfo.dwError = data.exception.params[0]; + event->u.RipInfo.dwType = data.exception.params[1]; + break; + } event->u.Exception.dwFirstChance = data.exception.first; event->u.Exception.ExceptionRecord.ExceptionCode = data.exception.exc_code; event->u.Exception.ExceptionRecord.ExceptionFlags = data.exception.flags; @@ -128,10 +135,6 @@ BOOL WINAPI WaitForDebugEvent( case UNLOAD_DLL_DEBUG_EVENT: event->u.UnloadDll.lpBaseOfDll = wine_server_get_ptr( data.unload_dll.base ); break; - case RIP_EVENT: - event->u.RipInfo.dwError = data.rip_info.error; - event->u.RipInfo.dwType = data.rip_info.type; - break; } done: /* nothing */ ; diff --git a/include/ntstatus.h b/include/ntstatus.h index 9a7ca7a1125..325ce55d063 100644 --- a/include/ntstatus.h +++ b/include/ntstatus.h @@ -1212,6 +1212,7 @@ #define DBG_TERMINATE_PROCESS ((NTSTATUS) 0x40010004) #define DBG_CONTROL_C ((NTSTATUS) 0x40010005) #define DBG_PRINTEXCEPTION_C ((NTSTATUS) 0x40010006) +#define DBG_RIPEXCEPTION ((NTSTATUS) 0x40010007) #define DBG_CONTROL_BREAK ((NTSTATUS) 0x40010008) #define DBG_COMMAND_EXCEPTION ((NTSTATUS) 0x40010009) #define DBG_EXCEPTION_NOT_HANDLED ((NTSTATUS) 0x80010001) diff --git a/include/winnt.h b/include/winnt.h index e9e330dac75..709a93f850d 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -623,6 +623,7 @@ typedef DWORD FLONG; #define DBG_TERMINATE_PROCESS ((DWORD) 0x40010004) #define DBG_CONTROL_C ((DWORD) 0x40010005) #define DBG_PRINTEXCEPTION_C ((DWORD) 0x40010006) +#define DBG_RIPEXCEPTION ((DWORD) 0x40010007) #define DBG_CONTROL_BREAK ((DWORD) 0x40010008) #define DBG_COMMAND_EXCEPTION ((DWORD) 0x40010009) #define DBG_EXCEPTION_NOT_HANDLED ((DWORD) 0x80010001)