From 87d9a34ab869a6e31d83cae8cc55beaebc0c7ff9 Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 18 Aug 2010 11:50:24 -0700 Subject: DEV-52669 FIX Inventory Notification not given if first Inventory Item comes from buying object contents --- indra/newview/llviewermessage.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 9bb734a3d3..067c0f3a80 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -1080,6 +1080,7 @@ bool check_offer_throttle(const std::string& from_name, bool check_only) void open_inventory_offer(const uuid_vec_t& objects, const std::string& from_name) { + LLFirstUse::inventoryOffer(); for (uuid_vec_t::const_iterator obj_iter = objects.begin(); obj_iter != objects.end(); ++obj_iter) -- cgit v1.3 From 3aa8148ed94bcf495784efe51ad9d466d566868d Mon Sep 17 00:00:00 2001 From: Richard Linden Date: Wed, 18 Aug 2010 12:16:29 -0700 Subject: fix for occasional crash when dismissing hint --- indra/llui/llnotifications.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/indra/llui/llnotifications.cpp b/indra/llui/llnotifications.cpp index 2da8f1eb1b..7cc6e8e8f6 100644 --- a/indra/llui/llnotifications.cpp +++ b/indra/llui/llnotifications.cpp @@ -1425,17 +1425,26 @@ void LLNotifications::cancel(LLNotificationPtr pNotif) void LLNotifications::cancelByName(const std::string& name) { - for (LLNotificationSet::iterator it=mItems.begin(), end_it = mItems.end(), next_it = it; + std::vector notifs_to_cancel; + for (LLNotificationSet::iterator it=mItems.begin(), end_it = mItems.end(); it != end_it; - it = next_it, ++next_it) + ++it) { LLNotificationPtr pNotif = *it; if (pNotif->getName() == name) { - pNotif->cancel(); - updateItem(LLSD().with("sigtype", "delete").with("id", pNotif->id()), pNotif); + notifs_to_cancel.push_back(pNotif); } } + + for (std::vector::iterator it = notifs_to_cancel.begin(), end_it = notifs_to_cancel.end(); + it != end_it; + ++it) + { + LLNotificationPtr pNotif = *it; + pNotif->cancel(); + updateItem(LLSD().with("sigtype", "delete").with("id", pNotif->id()), pNotif); + } } void LLNotifications::update(const LLNotificationPtr pNotif) -- cgit v1.3