diff options
| author | Andrey Lihatskiy <alihatskiy@productengine.com> | 2023-10-25 21:31:05 +0300 |
|---|---|---|
| committer | Andrey Lihatskiy <alihatskiy@productengine.com> | 2023-10-25 21:31:05 +0300 |
| commit | 98a431bd16e0e06f8f83b93fd232363403c6463b (patch) | |
| tree | 0e0bc8bc1c5ab18fda8ff5ba948c13b530c8a6cf /indra/llcommon/llerror.cpp | |
| parent | 69aa02d2e1873970302942487b96d3a6aca119e5 (diff) | |
| parent | 2e8e96cfbcb383a667d1b938f364f0bbafcad5b4 (diff) | |
Merge branch 'main' into DRTVWR-591-maint-X
# Conflicts:
# indra/newview/llinventorygallery.cpp
Diffstat (limited to 'indra/llcommon/llerror.cpp')
| -rw-r--r-- | indra/llcommon/llerror.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp index 02cb186275..05e719b494 100644 --- a/indra/llcommon/llerror.cpp +++ b/indra/llcommon/llerror.cpp @@ -1617,5 +1617,18 @@ bool debugLoggingEnabled(const std::string& tag) return res; } - - +void crashdriver(void (*callback)(int*)) +{ + // The LLERROR_CRASH macro used to have inline code of the form: + //int* make_me_crash = NULL; + //*make_me_crash = 0; + + // But compilers are getting smart enough to recognize that, so we must + // assign to an address supplied by a separate source file. We could do + // the assignment here in crashdriver() -- but then BugSplat would group + // all LL_ERRS() crashes as the fault of this one function, instead of + // identifying the specific LL_ERRS() source line. So instead, do the + // assignment in a lambda in the caller's source. We just provide the + // nullptr target. + callback(nullptr); +} |
