From b5ca2161d93e634f9938af7d9ca1fb1ddab3d501 Mon Sep 17 00:00:00 2001 From: glx Date: Fri, 29 May 2020 16:14:53 +0200 Subject: Fix #7970: [Win32] Disable event loop on crash to prevent recursive faults --- src/os/windows/crashlog_win.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src') diff --git a/src/os/windows/crashlog_win.cpp b/src/os/windows/crashlog_win.cpp index 9585bdf20..7a1a524aa 100644 --- a/src/os/windows/crashlog_win.cpp +++ b/src/os/windows/crashlog_win.cpp @@ -540,6 +540,9 @@ void *_safe_esp = nullptr; static LONG WINAPI ExceptionHandler(EXCEPTION_POINTERS *ep) { + /* Disable our event loop. */ + SetWindowLongPtr(GetActiveWindow(), GWLP_WNDPROC, (LONG_PTR)&DefWindowProc); + if (CrashLogWindows::current != nullptr) { CrashLog::AfterCrashLogCleanup(); ExitProcess(2); -- cgit v1.2.3-54-g00ecf