diff --git a/stepmania/src/archutils/Win32/Crash.cpp b/stepmania/src/archutils/Win32/Crash.cpp index 79be995ca9..2441c0af3b 100644 --- a/stepmania/src/archutils/Win32/Crash.cpp +++ b/stepmania/src/archutils/Win32/Crash.cpp @@ -949,14 +949,15 @@ BOOL APIENTRY CrashDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) return FALSE; } -void NORETURN CrashHandler::debug_crash() +/* Trigger the crash handler. This works even in the debugger. */ +static void NORETURN debug_crash() { __try { __asm xor ebx,ebx __asm mov eax,dword ptr [ebx] // __asm mov dword ptr [ebx],eax // __asm lock add dword ptr cs:[00000000h], 12345678h - } __except(ExceptionHandler((EXCEPTION_POINTERS*)_exception_info())) { + } __except( CrashHandler::ExceptionHandler((EXCEPTION_POINTERS*)_exception_info()) ) { } } diff --git a/stepmania/src/archutils/Win32/Crash.h b/stepmania/src/archutils/Win32/Crash.h index f3f271eb5a..8aae71edf6 100644 --- a/stepmania/src/archutils/Win32/Crash.h +++ b/stepmania/src/archutils/Win32/Crash.h @@ -7,9 +7,6 @@ namespace CrashHandler { extern long __stdcall ExceptionHandler(struct _EXCEPTION_POINTERS *ExceptionInfo); - /* Trigger the crash handler. This works even in the debugger. */ - void NORETURN debug_crash(); - void do_backtrace( const void **buf, size_t size, HANDLE hProcess, HANDLE hThread, const CONTEXT *pContext ); void SymLookup( const void *ptr, char *buf ); void ForceCrash( const char *reason );