diff options
-rw-r--r-- | linden/indra/newview/app_settings/settings.xml | 2 | ||||
-rw-r--r-- | linden/indra/newview/llappviewer.cpp | 3 | ||||
-rw-r--r-- | linden/indra/newview/llselectmgr.cpp | 29 | ||||
-rw-r--r-- | linden/indra/newview/llviewermenufile.cpp | 5 |
4 files changed, 36 insertions, 3 deletions
diff --git a/linden/indra/newview/app_settings/settings.xml b/linden/indra/newview/app_settings/settings.xml index aeb5c0b..b38bf9a 100644 --- a/linden/indra/newview/app_settings/settings.xml +++ b/linden/indra/newview/app_settings/settings.xml | |||
@@ -6683,7 +6683,7 @@ | |||
6683 | <key>Comment</key> | 6683 | <key>Comment</key> |
6684 | <string>Double resolution of snapshot from current window resolution</string> | 6684 | <string>Double resolution of snapshot from current window resolution</string> |
6685 | <key>Persist</key> | 6685 | <key>Persist</key> |
6686 | <integer>1</integer> | 6686 | <integer>0</integer> |
6687 | <key>Type</key> | 6687 | <key>Type</key> |
6688 | <string>Boolean</string> | 6688 | <string>Boolean</string> |
6689 | <key>Value</key> | 6689 | <key>Value</key> |
diff --git a/linden/indra/newview/llappviewer.cpp b/linden/indra/newview/llappviewer.cpp index 2496d13..96fc451 100644 --- a/linden/indra/newview/llappviewer.cpp +++ b/linden/indra/newview/llappviewer.cpp | |||
@@ -1189,6 +1189,9 @@ bool LLAppViewer::cleanup() | |||
1189 | { //*might* crash imprudence TODO: fix the voiceclient instead | 1189 | { //*might* crash imprudence TODO: fix the voiceclient instead |
1190 | //this deletes all your buddies | 1190 | //this deletes all your buddies |
1191 | LLAvatarTracker::instance().reset(); | 1191 | LLAvatarTracker::instance().reset(); |
1192 | // reset group data. Blame LL for the need to clear a member variable through a global | ||
1193 | LLGroupMgr::getInstance()->clearGroups(); | ||
1194 | gAgent.mGroups.clear(); | ||
1192 | } | 1195 | } |
1193 | 1196 | ||
1194 | //reset balance for not playing the UI-Sound | 1197 | //reset balance for not playing the UI-Sound |
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) | |||
3907 | void LLSelectMgr::packDuplicateHeader(void* data) | 3922 | void 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; |
diff --git a/linden/indra/newview/llviewermenufile.cpp b/linden/indra/newview/llviewermenufile.cpp index 364dcfd..432fcc5 100644 --- a/linden/indra/newview/llviewermenufile.cpp +++ b/linden/indra/newview/llviewermenufile.cpp | |||
@@ -43,6 +43,7 @@ | |||
43 | #include "llfloaternamedesc.h" | 43 | #include "llfloaternamedesc.h" |
44 | #include "llfloatersnapshot.h" | 44 | #include "llfloatersnapshot.h" |
45 | #include "llinventorymodel.h" // gInventory | 45 | #include "llinventorymodel.h" // gInventory |
46 | #include "llinventoryview.h" // open_texture() | ||
46 | #include "llresourcedata.h" | 47 | #include "llresourcedata.h" |
47 | #include "llfloaterperms.h" | 48 | #include "llfloaterperms.h" |
48 | #include "llstatusbar.h" | 49 | #include "llstatusbar.h" |
@@ -875,7 +876,9 @@ void temp_upload_done_callback(const LLUUID& uuid, void* user_data, S32 result, | |||
875 | item->updateServer(TRUE); | 876 | item->updateServer(TRUE); |
876 | gInventory.updateItem(item); | 877 | gInventory.updateItem(item); |
877 | gInventory.notifyObservers(); | 878 | gInventory.notifyObservers(); |
878 | }else // if(result >= 0) | 879 | open_texture(item_id, std::string("Texture: ") + item->getName(), TRUE, LLUUID::null, FALSE); |
880 | } | ||
881 | else // if(result >= 0) | ||
879 | { | 882 | { |
880 | LLSD args; | 883 | LLSD args; |
881 | args["FILE"] = LLInventoryType::lookupHumanReadable(data->mInventoryType); | 884 | args["FILE"] = LLInventoryType::lookupHumanReadable(data->mInventoryType); |