diff options
author | Nat Goodspeed <nat@lindenlab.com> | 2018-10-17 10:31:59 -0400 |
---|---|---|
committer | Nat Goodspeed <nat@lindenlab.com> | 2018-10-17 10:31:59 -0400 |
commit | 036c52fcdf425fe79a9aa6682cd7c7fe709a2442 (patch) | |
tree | 80b637dd5876fa63fa247567aa5c267cfaf10441 /indra/llcommon/llerror.cpp | |
parent | 3abc0095c9e39faf8976ef815b0da656423c4905 (diff) | |
parent | bffe112cf5a1b9dd8acf5146c733a0fe186f6e89 (diff) |
Automated merge with ssh://bitbucket.org/nat_linden/viewer-poseidon
Diffstat (limited to 'indra/llcommon/llerror.cpp')
-rw-r--r-- | indra/llcommon/llerror.cpp | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/indra/llcommon/llerror.cpp b/indra/llcommon/llerror.cpp index 06c7aef8ab..6dfb4bf028 100644 --- a/indra/llcommon/llerror.cpp +++ b/indra/llcommon/llerror.cpp @@ -368,6 +368,7 @@ namespace public: std::ostringstream messageStream; bool messageStreamInUse; + std::string mFatalMessage; void addCallSite(LLError::CallSite&); void invalidateCallSites(); @@ -666,11 +667,16 @@ namespace LLError s->mCrashFunction = f; } - FatalFunction getFatalFunction() - { + FatalFunction getFatalFunction() + { SettingsConfigPtr s = Settings::getInstance()->getSettingsConfig(); - return s->mCrashFunction; - } + return s->mCrashFunction; + } + + std::string getFatalMessage() + { + return Globals::getInstance()->mFatalMessage; + } void setTimeFunction(TimeFunction f) { @@ -1256,12 +1262,17 @@ namespace LLError } addEscapedMessage(message_stream, message); + std::string message_line(message_stream.str()); - writeToRecorders(site, message_stream.str()); - - if (site.mLevel == LEVEL_ERROR && s->mCrashFunction) + writeToRecorders(site, message_line); + + if (site.mLevel == LEVEL_ERROR) { - s->mCrashFunction(message_stream.str()); + g->mFatalMessage = message_line; + if (s->mCrashFunction) + { + s->mCrashFunction(message_line); + } } } } |