summaryrefslogtreecommitdiff
path: root/indra/newview/llviewermenu.cpp
diff options
context:
space:
mode:
authorOz Linden <oz@lindenlab.com>2015-06-15 15:53:45 -0400
committerOz Linden <oz@lindenlab.com>2015-06-15 15:53:45 -0400
commit95fc2d48eced78b2aaa29b9e8b3f9410eed1ad8c (patch)
tree7748f0142e0ecbc91daa33c42a679799c4375d5e /indra/newview/llviewermenu.cpp
parent96d16928600dbf3666221a19575af9330840cfd5 (diff)
parente0f5ed29daa3b2803aaec60a77bde8df7df292ee (diff)
merge changes for 3.7.30-release
Diffstat (limited to 'indra/newview/llviewermenu.cpp')
-rwxr-xr-xindra/newview/llviewermenu.cpp25
1 files changed, 21 insertions, 4 deletions
diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp
index 793697b3df..cf44a5c69b 100755
--- a/indra/newview/llviewermenu.cpp
+++ b/indra/newview/llviewermenu.cpp
@@ -2577,9 +2577,13 @@ static LLStringExplicit get_default_item_label(const std::string& item_name)
bool enable_object_touch(LLUICtrl* ctrl)
{
+ bool new_value = false;
LLViewerObject* obj = LLSelectMgr::getInstance()->getSelection()->getPrimaryObject();
-
- bool new_value = obj && obj->flagHandleTouch();
+ if (obj)
+ {
+ LLViewerObject* parent = (LLViewerObject*)obj->getParent();
+ new_value = obj->flagHandleTouch() || (parent && parent->flagHandleTouch());
+ }
std::string item_name = ctrl->getName();
init_default_item_label(item_name);
@@ -2864,6 +2868,11 @@ bool enable_object_select_in_pathfinding_linksets()
return LLPathfindingManager::getInstance()->isPathfindingEnabledForCurrentRegion() && LLSelectMgr::getInstance()->selectGetEditableLinksets();
}
+bool visible_object_select_in_pathfinding_linksets()
+{
+ return LLPathfindingManager::getInstance()->isPathfindingEnabledForCurrentRegion();
+}
+
bool enable_object_select_in_pathfinding_characters()
{
return LLPathfindingManager::getInstance()->isPathfindingEnabledForCurrentRegion() && LLSelectMgr::getInstance()->selectGetViewableCharacters();
@@ -4358,7 +4367,10 @@ static bool get_derezzable_objects(
break;
case DRD_RETURN_TO_OWNER:
- can_derez_current = TRUE;
+ if(!object->isAttachment())
+ {
+ can_derez_current = TRUE;
+ }
break;
default:
@@ -4766,7 +4778,7 @@ BOOL enable_take()
&& object->permModify())
|| (node->mPermissions->getOwner() == gAgent.getID())))
{
- return TRUE;
+ return !object->isAttachment();
}
#endif
}
@@ -8290,6 +8302,10 @@ class LLWorldEnableEnvSettings : public view_listener_t
{
result = (LLEnvManagerNew::instance().getSkyPresetName() == "Midnight");
}
+ else if (tod == "region")
+ {
+ return false;
+ }
else
{
LL_WARNS() << "Unknown time-of-day item: " << tod << LL_ENDL;
@@ -8990,6 +9006,7 @@ void initialize_menus()
enable.add("VisibleBuild", boost::bind(&enable_object_build));
commit.add("Pathfinding.Linksets.Select", boost::bind(&LLFloaterPathfindingLinksets::openLinksetsWithSelectedObjects));
enable.add("EnableSelectInPathfindingLinksets", boost::bind(&enable_object_select_in_pathfinding_linksets));
+ enable.add("VisibleSelectInPathfindingLinksets", boost::bind(&visible_object_select_in_pathfinding_linksets));
commit.add("Pathfinding.Characters.Select", boost::bind(&LLFloaterPathfindingCharacters::openCharactersWithSelectedObjects));
enable.add("EnableSelectInPathfindingCharacters", boost::bind(&enable_object_select_in_pathfinding_characters));