diff -r 3a521e980fbf -r 4a9146ccc9f4 indra/newview/llviewermenu.cpp
--- a/indra/newview/llviewermenu.cpp Wed Dec 21 15:21:12 2011 -0500
+++ b/indra/newview/llviewermenu.cpp Thu Jan 12 15:42:31 2012 -0500
@@ -2762,8 +2762,31 @@
else
{
// Just a regular object
- return LLSelectMgr::getInstance()->getSelection()->
- contains( object, SELECT_ALL_TES );
+ return LLSelectMgr::getInstance()->getSelection()->contains( object, SELECT_ALL_TES ) &&
+ !LLMuteList::getInstance()->isMuted(object->getID());
+ }
+}
+
+bool enable_object_unmute()
+{
+ LLViewerObject* object = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject();
+ if (!object) return false;
+
+ LLVOAvatar* avatar = find_avatar_from_object(object);
+ if (avatar)
+ {
+ // It's an avatar
+ LLNameValue *lastname = avatar->getNVPair("LastName");
+ bool is_linden =
+ lastname && !LLStringUtil::compareStrings(lastname->getString(), "Linden");
+ bool is_self = avatar->isSelf();
+ return !is_linden && !is_self;
+ }
+ else
+ {
+ // Just a regular object
+ return LLSelectMgr::getInstance()->getSelection()->contains( object, SELECT_ALL_TES ) &&
+ LLMuteList::getInstance()->isMuted(object->getID());;
}
}
@@ -8281,6 +8304,7 @@
enable.add("Avatar.EnableMute", boost::bind(&enable_object_mute));
enable.add("Object.EnableMute", boost::bind(&enable_object_mute));
+ enable.add("Object.EnableUnmute", boost::bind(&enable_object_unmute));
enable.add("Object.EnableBuy", boost::bind(&enable_buy_object));
commit.add("Object.ZoomIn", boost::bind(&handle_look_at_selection, "zoom"));
diff -r 3a521e980fbf -r 4a9146ccc9f4 indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml
--- a/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml Wed Dec 21 15:21:12 2011 -0500
+++ b/indra/newview/skins/default/xui/en/menu_inspect_object_gear.xml Thu Jan 12 15:42:31 2012 -0500
@@ -114,6 +114,15 @@
function="Object.EnableMute" />
+
+
+
+