diff options
author | Shauren <shauren.trinity@gmail.com> | 2024-09-15 12:13:54 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2024-09-15 12:13:54 +0200 |
commit | fd0a7ba871060c895fdf701799dbf649ee697078 (patch) | |
tree | 88c6d64fce3df94b545b2c13b3c7178d465b3f03 /src/common/Debugging | |
parent | 6a5b24cacc4ea2eb55c481c400621a97d940b905 (diff) |
Core/CrashHandler: Compile WheatyExceptionReport only once and moved its global variable initializer to all projects using it
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 c9e3a985543..cec3a27e002 100644 --- a/src/common/Debugging/WheatyExceptionReport.cpp +++ b/src/common/Debugging/Windows/WheatyExceptionReport.cpp @@ -67,9 +67,6 @@ std::stack<SymbolDetail> WheatyExceptionReport::symbolDetails; bool WheatyExceptionReport::alreadyCrashed; std::mutex WheatyExceptionReport::alreadyCrashedLock; WheatyExceptionReport::pRtlGetVersion WheatyExceptionReport::RtlGetVersion; - -// Declare global instance of class -WheatyExceptionReport g_WheatyExceptionReport; #pragma warning(pop) //============================== Class Methods ============================= 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_ |