summaryrefslogtreecommitdiff
path: root/indra/newview/llimfloater.cpp
diff options
context:
space:
mode:
authorAlexei Arabadji <aarabadji@productengine.com>2010-03-11 17:53:49 +0200
committerAlexei Arabadji <aarabadji@productengine.com>2010-03-11 17:53:49 +0200
commite7027a57e17b565f98f401f3f2cd1af8c91f2af7 (patch)
tree50f0b81fd9e580c52b068d7329a243ce5794e1fa /indra/newview/llimfloater.cpp
parent51ae05baa8622a3cf175009469c1787406221ca5 (diff)
fixed EXT-5904 “Offers embedding into IM windows”,
revised embedding and logging offer notification to provide loading log entry in case notification doesn't exist; --HG-- branch : product-engine
Diffstat (limited to 'indra/newview/llimfloater.cpp')
-rw-r--r--indra/newview/llimfloater.cpp23
1 files changed, 16 insertions, 7 deletions
diff --git a/indra/newview/llimfloater.cpp b/indra/newview/llimfloater.cpp
index 5f56690d2e..9b5c69d33d 100644
--- a/indra/newview/llimfloater.cpp
+++ b/indra/newview/llimfloater.cpp
@@ -648,14 +648,23 @@ void LLIMFloater::updateMessages()
if (msg.has("notification_id"))
{
chat.mNotifId = msg["notification_id"].asUUID();
- // remove embedded notification from channel
- LLNotificationsUI::LLScreenChannel* channel = dynamic_cast<LLNotificationsUI::LLScreenChannel*>
- (LLNotificationsUI::LLChannelManager::getInstance()->
- findChannelByID(LLUUID(gSavedSettings.getString("NotificationChannelUUID"))));
- if (getVisible())
+ // if notification exists - embed it
+ if (LLNotificationsUtil::find(chat.mNotifId) != NULL)
{
- // toast will be automatically closed since it is not storable toast
- channel->hideToast(chat.mNotifId);
+ // remove embedded notification from channel
+ LLNotificationsUI::LLScreenChannel* channel = dynamic_cast<LLNotificationsUI::LLScreenChannel*>
+ (LLNotificationsUI::LLChannelManager::getInstance()->
+ findChannelByID(LLUUID(gSavedSettings.getString("NotificationChannelUUID"))));
+ if (getVisible())
+ {
+ // toast will be automatically closed since it is not storable toast
+ channel->hideToast(chat.mNotifId);
+ }
+ }
+ // if notification doesn't exist - try to use next message which should be log entry
+ else
+ {
+ continue;
}
}
//process text message