MAINT-1486 FIX Crash on login (Unhandled exception)

cleaner implementation of llfasttimers...don't bother to share similarly named timers
just create multiple timers with same name...doesn't break anything
master
Richard Linden 2012-08-30 18:35:29 -07:00
parent 5a03b8282d
commit afc2807302
3 changed files with 5 additions and 8 deletions

View File

@ -128,13 +128,6 @@ public:
LLFastTimer::NamedTimer& createNamedTimer(const std::string& name, LLFastTimer::FrameState* state)
{
timer_map_t::iterator found_it = mTimers.find(name);
if (found_it != mTimers.end())
{
llerrs << "Duplicate timer declaration for: " << name << llendl;
return *found_it->second;
}
LLFastTimer::NamedTimer* timer = new LLFastTimer::NamedTimer(name);
timer->setFrameState(state);
timer->setParent(mTimerRoot);
@ -155,7 +148,7 @@ public:
LLFastTimer::NamedTimer* getRootTimer() { return mTimerRoot; }
typedef std::map<std::string, LLFastTimer::NamedTimer*> timer_map_t;
typedef std::multimap<std::string, LLFastTimer::NamedTimer*> timer_map_t;
timer_map_t::iterator beginTimers() { return mTimers.begin(); }
timer_map_t::iterator endTimers() { return mTimers.end(); }
S32 timerCount() { return mTimers.size(); }
@ -294,6 +287,7 @@ S32 LLFastTimer::NamedTimer::getDepth()
while(timerp)
{
depth++;
if (timerp->getParent() == timerp) break;
timerp = timerp->mParent;
}
return depth;

View File

@ -145,6 +145,7 @@ public:
DeclareTimer(const std::string& name);
NamedTimer& getNamedTimer() { return mTimer; }
const NamedTimer& getNamedTimer() const { return mTimer; }
private:
FrameState mFrameState;

View File

@ -514,6 +514,7 @@ void LLFastTimerView::draw()
while(!is_child_of_hover_item && next_parent)
{
is_child_of_hover_item = (mHoverID == next_parent);
if (next_parent->getParent() == next_parent) break;
next_parent = next_parent->getParent();
}
@ -781,6 +782,7 @@ void LLFastTimerView::draw()
while(!is_child_of_hover_item && next_parent)
{
is_child_of_hover_item = (mHoverID == next_parent);
if (next_parent->getParent() == next_parent) break;
next_parent = next_parent->getParent();
}