diff --git a/indra/newview/llscreenchannel.cpp b/indra/newview/llscreenchannel.cpp index 157821d554a152bdcdae4490aeb3f8c10123fb03..a4a019830540aafbefbfb79313caab1c076891cb 100644 --- a/indra/newview/llscreenchannel.cpp +++ b/indra/newview/llscreenchannel.cpp @@ -499,15 +499,16 @@ void LLScreenChannel::killToastByNotificationID(LLUUID id) void LLScreenChannel::removeToastByNotificationID(LLUUID id) { - std::vector<ToastElem>::iterator it = mToastList.begin(); + std::vector<ToastElem>::iterator it = find(mToastList.begin(), mToastList.end(), id); while( it != mToastList.end()) { - // find next toast with matching id - it = find(it, mToastList.end(), id); deleteToast(it->getToast()); mToastList.erase(it); redrawToasts(); + // find next toast with matching id + it = find(mToastList.begin(), mToastList.end(), id); } + it = find(mStoredToastList.begin(), mStoredToastList.end(), id); if (it != mStoredToastList.end()) {