diff options
author | Mnikolenko Productengine <mnikolenko@productengine.com> | 2016-10-24 13:28:54 +0300 |
---|---|---|
committer | Mnikolenko Productengine <mnikolenko@productengine.com> | 2016-10-24 13:28:54 +0300 |
commit | 2f48e281556fc1b2317fe02ce30156597bd291a4 (patch) | |
tree | 0b6a945c1fc7dd3fa32bded18fb10494abc66e55 /indra | |
parent | 0149c4caa94777435daa12e59cfbf190332fb535 (diff) |
MAINT-6861 FIXED Viewer crashes when attempting to block an experience from the permissions request dialog.
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llviewermessage.cpp | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index f27b77e2f1..15ecfe5dca 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -6391,6 +6391,16 @@ bool unknown_script_question_cb(const LLSD& notification, const LLSD& response) return false; } +void experiencePermissionBlock(LLUUID experience, LLSD result) +{ + LLSD permission; + LLSD data; + permission["permission"] = "Block"; + data[experience.asString()] = permission; + data["experience"] = experience; + LLEventPumps::instance().obtain("experience_permission").post(data); +} + bool script_question_cb(const LLSD& notification, const LLSD& response) { S32 option = LLNotificationsUtil::getSelectedOption(notification, response); @@ -6467,14 +6477,8 @@ bool script_question_cb(const LLSD& notification, const LLSD& response) if (!region) return false; - LLExperienceCache::instance().setExperiencePermission(experience, std::string("Block"), LLExperienceCache::ExperienceGetFn_t()); + LLExperienceCache::instance().setExperiencePermission(experience, std::string("Block"), boost::bind(&experiencePermissionBlock, experience, _1)); - LLSD permission; - LLSD data; - permission["permission"] = "Block"; - data[experience.asString()] = permission; - data["experience"] = experience; - LLEventPumps::instance().obtain("experience_permission").post(data); } } return false; |