diff --git a/indra/llcommon/lltimer.cpp b/indra/llcommon/lltimer.cpp index 693809b622f01dfc3bb03f3214ae3c30cc22109c..25383fc4d84931acf3ae5ee4d72b33bd454d2093 100755 --- a/indra/llcommon/lltimer.cpp +++ b/indra/llcommon/lltimer.cpp @@ -281,7 +281,18 @@ LLTimer::LLTimer() } LLTimer::~LLTimer() +{} + +// static +void LLTimer::initClass() +{ + if (!sTimer) sTimer = new LLTimer; +} + +// static +void LLTimer::cleanupClass() { + delete sTimer; sTimer = NULL; } // static diff --git a/indra/llcommon/lltimer.h b/indra/llcommon/lltimer.h index 9e464c4b1af622335ca88df7d72155441850d654..9f1f243dbb585ec5b296869750b39d8de58b305f 100755 --- a/indra/llcommon/lltimer.h +++ b/indra/llcommon/lltimer.h @@ -62,14 +62,14 @@ class LL_COMMON_API LLTimer LLTimer(); ~LLTimer(); - static void initClass() { if (!sTimer) sTimer = new LLTimer; } - static void cleanupClass() { delete sTimer; sTimer = NULL; } + static void initClass(); + static void cleanupClass(); // Return a high precision number of seconds since the start of // this application instance. static LLUnitImplicit<F64, LLUnits::Seconds> getElapsedSeconds() { - return sTimer->getElapsedTimeF64(); + return sTimer ? sTimer->getElapsedTimeF64() : 0.0; } // Return a high precision usec since epoch diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 8ad5784f40875f599c0f765d1d0f16e61eefe97d..9193037a6c8e42b3546dcab8ebc77ad118abf4e2 100755 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -662,7 +662,7 @@ LLTextureFetch* LLAppViewer::sTextureFetch = NULL; std::string getRuntime() { - return llformat("%g", LLTimer::getElapsedSeconds()); + return llformat("%g", LLTimer::getElapsedSeconds().value()); } LLAppViewer::LLAppViewer()