summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMnikolenko Productengine <mnikolenko@productengine.com>2016-10-24 13:28:54 +0300
committerMnikolenko Productengine <mnikolenko@productengine.com>2016-10-24 13:28:54 +0300
commit2f48e281556fc1b2317fe02ce30156597bd291a4 (patch)
tree0b6a945c1fc7dd3fa32bded18fb10494abc66e55
parent0149c4caa94777435daa12e59cfbf190332fb535 (diff)
MAINT-6861 FIXED Viewer crashes when attempting to block an experience from the permissions request dialog.
-rw-r--r--indra/newview/llviewermessage.cpp18
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;