aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorMcCabe Maxsted2010-10-02 16:34:16 -0700
committerJacek Antonelli2010-10-03 20:15:17 -0500
commit39c06ef174f3778e99c5843daa8b01cd34202994 (patch)
treec55611a09e70518392f9feaedcdc43280942424a
parentRemoved persist for HighResSnapshot setting as it causes crash loops when ena... (diff)
downloadmeta-impy-39c06ef174f3778e99c5843daa8b01cd34202994.zip
meta-impy-39c06ef174f3778e99c5843daa8b01cd34202994.tar.gz
meta-impy-39c06ef174f3778e99c5843daa8b01cd34202994.tar.bz2
meta-impy-39c06ef174f3778e99c5843daa8b01cd34202994.tar.xz
Fixed RezWithLandGroup not working when shift-dragging prims (from Henri Beauchamp and the Cool Viewer)
-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 83abcf4..1634950 100644
--- a/linden/indra/newview/llselectmgr.cpp
+++ b/linden/indra/newview/llselectmgr.cpp
@@ -64,6 +64,7 @@
64#include "llinventorymodel.h" 64#include "llinventorymodel.h"
65#include "llmenugl.h" 65#include "llmenugl.h"
66#include "llmutelist.h" 66#include "llmutelist.h"
67#include "llparcel.h" // RezWithLandGroup
67#include "llstatusbar.h" 68#include "llstatusbar.h"
68#include "llsurface.h" 69#include "llsurface.h"
69#include "lltool.h" 70#include "lltool.h"
@@ -77,6 +78,7 @@
77#include "llviewermenu.h" 78#include "llviewermenu.h"
78#include "llviewerobject.h" 79#include "llviewerobject.h"
79#include "llviewerobjectlist.h" 80#include "llviewerobjectlist.h"
81#include "llviewerparcelmgr.h" // RezWithLandGroup
80#include "llviewerregion.h" 82#include "llviewerregion.h"
81#include "llviewerstats.h" 83#include "llviewerstats.h"
82#include "llvoavatar.h" 84#include "llvoavatar.h"
@@ -3135,7 +3137,20 @@ void LLSelectMgr::packDuplicateOnRayHead(void *user_data)
3135 msg->nextBlockFast(_PREHASH_AgentData); 3137 msg->nextBlockFast(_PREHASH_AgentData);
3136 msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID() ); 3138 msg->addUUIDFast(_PREHASH_AgentID, gAgent.getID() );
3137 msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID() ); 3139 msg->addUUIDFast(_PREHASH_SessionID, gAgent.getSessionID() );
3138 msg->addUUIDFast(_PREHASH_GroupID, gAgent.getGroupID() ); 3140 LLUUID group_id = gAgent.getGroupID();
3141 if (gSavedSettings.getBOOL("RezWithLandGroup"))
3142 {
3143 LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
3144 if (gAgent.isInGroup(parcel->getGroupID()))
3145 {
3146 group_id = parcel->getGroupID();
3147 }
3148 else if (gAgent.isInGroup(parcel->getOwnerID()))
3149 {
3150 group_id = parcel->getOwnerID();
3151 }
3152 }
3153 msg->addUUIDFast(_PREHASH_GroupID, group_id);
3139 msg->addVector3Fast(_PREHASH_RayStart, data->mRayStartRegion ); 3154 msg->addVector3Fast(_PREHASH_RayStart, data->mRayStartRegion );
3140 msg->addVector3Fast(_PREHASH_RayEnd, data->mRayEndRegion ); 3155 msg->addVector3Fast(_PREHASH_RayEnd, data->mRayEndRegion );
3141 msg->addBOOLFast(_PREHASH_BypassRaycast, data->mBypassRaycast ); 3156 msg->addBOOLFast(_PREHASH_BypassRaycast, data->mBypassRaycast );
@@ -3907,6 +3922,18 @@ void LLSelectMgr::packAgentAndSessionAndGroupID(void* user_data)
3907void LLSelectMgr::packDuplicateHeader(void* data) 3922void LLSelectMgr::packDuplicateHeader(void* data)
3908{ 3923{
3909 LLUUID group_id(gAgent.getGroupID()); 3924 LLUUID group_id(gAgent.getGroupID());
3925 if (gSavedSettings.getBOOL("RezWithLandGroup"))
3926 {
3927 LLParcel *parcel = LLViewerParcelMgr::getInstance()->getAgentParcel();
3928 if (gAgent.isInGroup(parcel->getGroupID()))
3929 {
3930 group_id = parcel->getGroupID();
3931 }
3932 else if (gAgent.isInGroup(parcel->getOwnerID()))
3933 {
3934 group_id = parcel->getOwnerID();
3935 }
3936 }
3910 packAgentAndSessionAndGroupID(&group_id); 3937 packAgentAndSessionAndGroupID(&group_id);
3911 3938
3912 LLDuplicateData* dup_data = (LLDuplicateData*) data; 3939 LLDuplicateData* dup_data = (LLDuplicateData*) data;