--HG--
branch : product-engine
meow-7.2.2
Alexei Arabadji 2010-07-15 18:57:18 +03:00
commit 875fb0d72b
3 changed files with 19 additions and 3 deletions

View File

@ -375,6 +375,7 @@ LLNotification::LLNotification(const LLSD& sd) :
LLSD LLNotification::asLLSD()
{
LLSD output;
output["id"] = mId;
output["name"] = mTemplatep->mName;
output["form"] = getForm()->asLLSD();
output["substitutions"] = mSubstitutions;

View File

@ -353,6 +353,8 @@ public:
}
};
LLNotificationResponderPtr getResponderPtr() { return mResponder; }
private:
LLUUID mId;

View File

@ -1215,8 +1215,9 @@ bool highlight_offered_object(const LLUUID& obj_id)
void inventory_offer_mute_callback(const LLUUID& blocked_id,
const std::string& first_name,
const std::string& last_name,
BOOL is_group, LLOfferInfo* offer = NULL)
BOOL is_group, boost::shared_ptr<LLNotificationResponderInterface> offer_ptr)
{
LLOfferInfo* offer = dynamic_cast<LLOfferInfo*>(offer_ptr.get());
std::string from_name;
LLMute::EType type;
if (is_group)
@ -1406,7 +1407,13 @@ bool LLOfferInfo::inventory_offer_callback(const LLSD& notification, const LLSD&
// * we can't build two messages at once.
if (2 == button) // Block
{
gCacheName->get(mFromID, mFromGroup, boost::bind(&inventory_offer_mute_callback,_1,_2,_3,_4,this));
LLNotificationPtr notification_ptr = LLNotifications::instance().find(notification["id"].asUUID());
llassert(notification_ptr != NULL);
if (notification_ptr != NULL)
{
gCacheName->get(mFromID, mFromGroup, boost::bind(&inventory_offer_mute_callback,_1,_2,_3,_4, notification_ptr->getResponderPtr()));
}
}
std::string from_string; // Used in the pop-up.
@ -1540,7 +1547,13 @@ bool LLOfferInfo::inventory_task_offer_callback(const LLSD& notification, const
// * we can't build two messages at once.
if (2 == button)
{
gCacheName->get(mFromID, mFromGroup, boost::bind(&inventory_offer_mute_callback,_1,_2,_3,_4,this));
LLNotificationPtr notification_ptr = LLNotifications::instance().find(notification["id"].asUUID());
llassert(notification_ptr != NULL);
if (notification_ptr != NULL)
{
gCacheName->get(mFromID, mFromGroup, boost::bind(&inventory_offer_mute_callback,_1,_2,_3,_4, notification_ptr->getResponderPtr()));
}
}
LLMessageSystem* msg = gMessageSystem;