aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llselectmgr.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/llselectmgr.cpp29
1 files changed, 28 insertions, 1 deletions
diff --git a/linden/indra/newview/llselectmgr.cpp b/linden/indra/newview/llselectmgr.cpp
index 0fa8285..44ac8fd 100644
--- a/linden/indra/newview/llselectmgr.cpp
+++ b/linden/indra/newview/llselectmgr.cpp
@@ -65,6 +65,7 @@
65#include "llinventorymodel.h" 65#include "llinventorymodel.h"
66#include "llmenugl.h" 66#include "llmenugl.h"
67#include "llmutelist.h" 67#include "llmutelist.h"
68#include "llparcel.h" // RezWithLandGroup
68#include "llstatusbar.h" 69#include "llstatusbar.h"
69#include "llsurface.h" 70#include "llsurface.h"
70#include "lltool.h" 71#include "lltool.h"
@@ -80,6 +81,7 @@
80#include "llviewermenu.h" 81#include "llviewermenu.h"
81#include "llviewerobject.h" 82#include "llviewerobject.h"
82#include "llviewerobjectlist.h" 83#include "llviewerobjectlist.h"
84#include "llviewerparcelmgr.h" // RezWithLandGroup
83#include "llviewerregion.h" 85#include "llviewerregion.h"
84#include "llviewerstats.h" 86#include "llviewerstats.h"
85#include "llvoavatar.h" 87#include "llvoavatar.h"
@@ -3138,7 +3140,20 @@ void LLSelectMgr::packDuplicateOnRayHead(void *user_data)
3138 msg->nextBlockFast(_PREHASH_AgentData); 3140 msg->nextBlockFast(_PREHASH_AgentData);
3139 msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID() ); 3141 msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID() );
3140 msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID() ); 3142 msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID() );
3141 msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID() ); 3143 LLUUID group_id = gAgent.getGroupID();
3144 if (gSavedSettings.getBOOL("RezWithLandGroup"))
3145 {
3146 LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
3147 if (gAgent.isInGroup(parcel->getGroupID()))
3148 {
3149 group_id = parcel->getGroupID();
3150 }
3151 else if (gAgent.isInGroup(parcel->getOwnerID()))
3152 {
3153 group_id = parcel->getOwnerID();
3154 }
3155 }
3156 msg->addUUIDFast(_PREHASH_GroupID, group_id);
3142 msg->addVector3Fast(_PREHASH_RayStart, data->mRayStartRegion ); 3157 msg->addVector3Fast(_PREHASH_RayStart, data->mRayStartRegion );
3143 msg->addVector3Fast(_PREHASH_RayEnd, data->mRayEndRegion ); 3158 msg->addVector3Fast(_PREHASH_RayEnd, data->mRayEndRegion );
3144 msg->addBOOLFast(_PREHASH_BypassRaycast, data->mBypassRaycast ); 3159 msg->addBOOLFast(_PREHASH_BypassRaycast, data->mBypassRaycast );
@@ -3910,6 +3925,18 @@ void LLSelectMgr::packAgentAndSessionAndGroupID(void* user_data)
3910void LLSelectMgr::packDuplicateHeader(void* data) 3925void LLSelectMgr::packDuplicateHeader(void* data)
3911{ 3926{
3912 LLUUID group_id(gAgent.getGroupID()); 3927 LLUUID group_id(gAgent.getGroupID());
3928 if (gSavedSettings.getBOOL("RezWithLandGroup"))
3929 {
3930 LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
3931 if (gAgent.isInGroup(parcel->getGroupID()))
3932 {
3933 group_id = parcel->getGroupID();
3934 }
3935 else if (gAgent.isInGroup(parcel->getOwnerID()))
3936 {
3937 group_id = parcel->getOwnerID();
3938 }
3939 }
3913 packAgentAndSessionAndGroupID(&group_id); 3940 packAgentAndSessionAndGroupID(&group_id);
3914 3941
3915 LLDuplicateData* dup_data = (LLDuplicateData*) data; 3942 LLDuplicateData* dup_data = (LLDuplicateData*) data;