diff options
| author | Shauren <shauren.trinity@gmail.com> | 2024-09-15 12:13:54 +0200 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2025-08-30 22:55:25 +0200 |
| commit | 59e5ddd9670627f305e9b19048942ccd9992851d (patch) | |
| tree | 3b48b19b4d75b291f560a58ce1e9c91e7bb884fc /src/common/Debugging | |
| parent | 9350a0f56171da02702754834180fbaac34864a9 (diff) | |
Core/CrashHandler: Compile WheatyExceptionReport only once and moved its global variable initializer to all projects using it
(cherry picked from commit fd0a7ba871060c895fdf701799dbf649ee697078)
Diffstat (limited to 'src/common/Debugging')
| -rw-r--r-- | src/common/Debugging/Windows/WheatyExceptionReport.cpp (renamed from src/common/Debugging/WheatyExceptionReport.cpp) | 3 | ||||
| -rw-r--r-- | src/common/Debugging/Windows/WheatyExceptionReport.h (renamed from src/common/Debugging/WheatyExceptionReport.h) | 11 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/common/Debugging/WheatyExceptionReport.cpp b/src/common/Debugging/Windows/WheatyExceptionReport.cpp index 69ade2deab3..a7df9967079 100644 --- a/src/common/Debugging/WheatyExceptionReport.cpp +++ b/src/common/Debugging/Windows/WheatyExceptionReport.cpp @@ -66,9 +66,6 @@ bool WheatyExceptionReport::alreadyCrashed; std::mutex WheatyExceptionReport::alreadyCrashedLock; WheatyExceptionReport::pRtlGetVersion WheatyExceptionReport::RtlGetVersion; -// Declare global instance of class -WheatyExceptionReport g_WheatyExceptionReport; - //============================== Class Methods ============================= WheatyExceptionReport::WheatyExceptionReport() // Constructor diff --git a/src/common/Debugging/WheatyExceptionReport.h b/src/common/Debugging/Windows/WheatyExceptionReport.h index baca9699c5b..d154fce0d13 100644 --- a/src/common/Debugging/WheatyExceptionReport.h +++ b/src/common/Debugging/Windows/WheatyExceptionReport.h @@ -3,6 +3,7 @@ #define _NO_CVCONST_H +#include "Define.h" #include "Optional.h" #include <windows.h> #include <winnt.h> @@ -322,7 +323,7 @@ struct SymbolDetail bool HasChildren; }; -class WheatyExceptionReport +class TC_COMMON_API WheatyExceptionReport { public: @@ -396,5 +397,11 @@ class WheatyExceptionReport }; -extern WheatyExceptionReport g_WheatyExceptionReport; // global instance of class +#define INIT_CRASH_HANDLER() \ + __pragma(warning(push)) \ + __pragma(warning(disable:4073)) /* C4073: initializers put in library initialization area */ \ + __pragma(init_seg(lib)) \ + WheatyExceptionReport g_WheatyExceptionReport; \ + __pragma(warning(pop)) + #endif // _WHEATYEXCEPTIONREPORT_ |
