diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/llchiclet.cpp | 15 | 
1 files changed, 14 insertions, 1 deletions
| diff --git a/indra/newview/llchiclet.cpp b/indra/newview/llchiclet.cpp index 9671c048ef..960d9e02b2 100644 --- a/indra/newview/llchiclet.cpp +++ b/indra/newview/llchiclet.cpp @@ -112,6 +112,11 @@ public:  		mEventTimer.start();  	} +	void stopFlashing() +	{ +		mEventTimer.stop(); +	} +  private:  	callback_t		mCallback;  	S32 mFlashCount; @@ -174,10 +179,18 @@ void LLSysWellChiclet::setCounter(S32 counter)  	*/  	mButton->setForcePressedState(counter > 0); -	if (mCounter == 0 && counter > 0) +	// we have to flash to 'Lit' state each time new unread message is comming. +	if (counter > mCounter)  	{  		mFlashToLitTimer->flash();  	} +	else if (counter == 0) +	{ +		// if notification is resolved while well is flashing it can leave in the 'Lit' state +		// when flashing finishes itself. Let break flashing here. +		mFlashToLitTimer->stopFlashing(); +	} +  	mCounter = counter;  } | 
