607a8e2e11a794ba594ba6da8b558c5ed6609d87
making crash handling more consistent. Move the crash handling dialog into a new process, like the Unix handler does. - We're allowed to operate normally; we have a new heap, so allocations are safe. - Gzipping the VDI is easy now; we can simply use GunzipFile(). The only particularly ugly thing in this is the need to run CrashGetModuleBaseName in the original process. That's lame, but straightforward. It'd be better to use GetModuleFileNameEx, but I didn't want to drag psapi.dll into this. This may also make window hiding more reliable. Previously, we wrote the crashinfo, tried to hide the window, then showed the dialog. Hiding the window was risky and could hang or crash again. Now we can forcibly kill the process from the child, if needed, and still be able to show a dialog. This also removes the backtrace and "reason" displays from the dialog. Those weren't useful in practice; I always loaded the crashinfo.txt and never used them, and they're intimidating to casual users.
Languages
C++
85.7%
Lua
4.3%
C
4.3%
Rich Text Format
2.3%
CMake
1.1%
Other
2%