summaryrefslogtreecommitdiff
path: root/indra/newview/llscreenchannel.cpp
diff options
context:
space:
mode:
authorRichard Linden <none@none>2012-05-18 15:28:08 -0700
committerRichard Linden <none@none>2012-05-18 15:28:08 -0700
commit4c7142f4836da9da77ac6ff2910aaa19506a655b (patch)
treed1c59c3c98d877414fc6448c4e0987f94a76f607 /indra/newview/llscreenchannel.cpp
parent7251f780ff5ecf1c804e1d198bbeb015290c919a (diff)
CHUI-96 FIX Cannot dismiss modal dialogs related to merchant outbox
notification duplicate suppression now doesn't generate multiple dialogs
Diffstat (limited to 'indra/newview/llscreenchannel.cpp')
-rw-r--r--indra/newview/llscreenchannel.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp
index 839ca0f9c5..157821d554 100644
--- a/indra/newview/llscreenchannel.cpp
+++ b/indra/newview/llscreenchannel.cpp
@@ -499,21 +499,20 @@ void LLScreenChannel::killToastByNotificationID(LLUUID id)
void LLScreenChannel::removeToastByNotificationID(LLUUID id)
{
- std::vector<ToastElem>::iterator it = find(mToastList.begin(), mToastList.end(), id);
- if( it != mToastList.end())
+ std::vector<ToastElem>::iterator it = mToastList.begin();
+ while( it != mToastList.end())
{
+ // find next toast with matching id
+ it = find(it, mToastList.end(), id);
deleteToast(it->getToast());
mToastList.erase(it);
redrawToasts();
}
- else
+ it = find(mStoredToastList.begin(), mStoredToastList.end(), id);
+ if (it != mStoredToastList.end())
{
- it = find(mStoredToastList.begin(), mStoredToastList.end(), id);
- if (it != mStoredToastList.end())
- {
- deleteToast(it->getToast());
- mStoredToastList.erase(it);
- }
+ deleteToast(it->getToast());
+ mStoredToastList.erase(it);
}
}