diff options
author | Leyla Farazha <leyla@lindenlab.com> | 2010-01-04 15:04:38 -0800 |
---|---|---|
committer | Leyla Farazha <leyla@lindenlab.com> | 2010-01-04 15:04:38 -0800 |
commit | 53abe3c7802b8c8579ce868b4ecb05d9ebdd20ef (patch) | |
tree | 4a2c9b325f6ceb75403db9d29e1efa583de434e3 /indra/newview/llscreenchannel.cpp | |
parent | 34328eed67a10ccca73ec78cd70488ac35f2ee91 (diff) | |
parent | 1355d16d2f24f9d623df70059b1f0001cf673209 (diff) |
Merge
Diffstat (limited to 'indra/newview/llscreenchannel.cpp')
-rw-r--r-- | indra/newview/llscreenchannel.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index 8c3f3dc5fb..da3f1543dd 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -234,6 +234,11 @@ void LLScreenChannel::addToast(const LLToast::Params& p) if(show_toast) { mToastList.push_back(new_toast_elem); + if(p.can_be_stored) + { + // store toasts immediately - EXT-3762 + storeToast(new_toast_elem); + } updateShowToastsState(); redrawToasts(); } @@ -306,7 +311,6 @@ void LLScreenChannel::storeToast(ToastElem& toast_elem) if( it != mStoredToastList.end() ) return; - toast_elem.toast->stopTimer(); mStoredToastList.push_back(toast_elem); mOnStoreToast(toast_elem.toast->getPanel(), toast_elem.id); } @@ -343,6 +347,13 @@ void LLScreenChannel::loadStoredToastByNotificationIDToChannel(LLUUID id) mOverflowToastHidden = false; LLToast* toast = (*it).toast; + + if(toast->getVisible()) + { + // toast is already in channel + return; + } + toast->setIsHidden(false); toast->resetTimer(); mToastList.push_back((*it)); |