diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llcommon/llfasttimer.cpp | 10 | ||||
| -rw-r--r-- | indra/llcommon/llfasttimer.h | 1 | ||||
| -rw-r--r-- | indra/newview/llfasttimerview.cpp | 2 | 
3 files changed, 5 insertions, 8 deletions
| diff --git a/indra/llcommon/llfasttimer.cpp b/indra/llcommon/llfasttimer.cpp index ff6806082c..d54e1a93ea 100644 --- a/indra/llcommon/llfasttimer.cpp +++ b/indra/llcommon/llfasttimer.cpp @@ -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; diff --git a/indra/llcommon/llfasttimer.h b/indra/llcommon/llfasttimer.h index e42e549df5..b3f7304664 100644 --- a/indra/llcommon/llfasttimer.h +++ b/indra/llcommon/llfasttimer.h @@ -145,6 +145,7 @@ public:  		DeclareTimer(const std::string& name);  		NamedTimer& getNamedTimer() { return mTimer; } +		const NamedTimer& getNamedTimer() const { return mTimer; }  	private:  		FrameState		mFrameState; diff --git a/indra/newview/llfasttimerview.cpp b/indra/newview/llfasttimerview.cpp index 59bf70f488..4dfb93f1bc 100644 --- a/indra/newview/llfasttimerview.cpp +++ b/indra/newview/llfasttimerview.cpp @@ -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();  					} | 
