diff options
author | Simon Linden <simon@lindenlab.com> | 2014-07-18 22:28:33 +0000 |
---|---|---|
committer | Simon Linden <simon@lindenlab.com> | 2014-07-18 22:28:33 +0000 |
commit | 7714c7679da7c6c28c3f3f09af6b586a680dc26c (patch) | |
tree | f14c766b090f50cbb866123305f676e831ef483b /indra/newview/llwindebug.cpp | |
parent | 1655887f30e40ea390b6dca9f64ac5e84309be05 (diff) | |
parent | ff3827f278d2d53f565bc585edc4db5bc5e5dc38 (diff) |
Merge in downstream viewer-tiger
Diffstat (limited to 'indra/newview/llwindebug.cpp')
-rwxr-xr-x | indra/newview/llwindebug.cpp | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/indra/newview/llwindebug.cpp b/indra/newview/llwindebug.cpp index 551d0be8d7..eff70ca0b2 100755 --- a/indra/newview/llwindebug.cpp +++ b/indra/newview/llwindebug.cpp @@ -45,7 +45,7 @@ public: ~LLMemoryReserve(); void reserve(); void release(); -protected: +private: unsigned char *mReserve; static const size_t MEMORY_RESERVATION_SIZE; }; @@ -53,7 +53,7 @@ protected: LLMemoryReserve::LLMemoryReserve() : mReserve(NULL) { -}; +} LLMemoryReserve::~LLMemoryReserve() { @@ -66,14 +66,19 @@ const size_t LLMemoryReserve::MEMORY_RESERVATION_SIZE = 5 * 1024 * 1024; void LLMemoryReserve::reserve() { if(NULL == mReserve) + { mReserve = new unsigned char[MEMORY_RESERVATION_SIZE]; -}; + } +} void LLMemoryReserve::release() { - delete [] mReserve; + if (NULL != mReserve) + { + delete [] mReserve; + } mReserve = NULL; -}; +} static LLMemoryReserve gEmergencyMemoryReserve; @@ -130,6 +135,11 @@ void LLWinDebug::init() } } +void LLWinDebug::cleanup () +{ + gEmergencyMemoryReserve.release(); +} + void LLWinDebug::writeDumpToFile(MINIDUMP_TYPE type, MINIDUMP_EXCEPTION_INFORMATION *ExInfop, const std::string& filename) { // Temporary fix to switch out the code that writes the DMP file. |