diff options
author | Justin Clark-Casey (justincc) | 2011-05-31 19:25:01 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-05-31 19:25:01 +0100 |
commit | 8129e64e2acea6509d5c3a80425f6aa68baa037c (patch) | |
tree | 99f20a6caa70274060e43894f0e1143c20b66822 /OpenSim/Region/OptionalModules/Avatar | |
parent | revert the patch that accidentally got added in the last commit (diff) | |
download | opensim-SC-8129e64e2acea6509d5c3a80425f6aa68baa037c.zip opensim-SC-8129e64e2acea6509d5c3a80425f6aa68baa037c.tar.gz opensim-SC-8129e64e2acea6509d5c3a80425f6aa68baa037c.tar.bz2 opensim-SC-8129e64e2acea6509d5c3a80425f6aa68baa037c.tar.xz |
Fill in the new OwnerData field in the LLUDP ScriptDialog message.
If we don't do this then viewer 2.8 crashes.
Resolves http://opensimulator.org/mantis/view.php?id=5510
Diffstat (limited to 'OpenSim/Region/OptionalModules/Avatar')
-rw-r--r-- | OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs index 1c791b9..05223e0 100644 --- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs +++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/GroupsModule.cs | |||
@@ -1231,20 +1231,36 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
1231 | List<GroupMembershipData> membershipData = m_groupData.GetAgentGroupMemberships(requestingClient.AgentId, dataForAgentID); | 1231 | List<GroupMembershipData> membershipData = m_groupData.GetAgentGroupMemberships(requestingClient.AgentId, dataForAgentID); |
1232 | GroupMembershipData[] membershipArray; | 1232 | GroupMembershipData[] membershipArray; |
1233 | 1233 | ||
1234 | if (requestingClient.AgentId != dataForAgentID) | 1234 | // c_scene and property accessor 'is_god' are in support of the opertions to bypass 'hidden' group attributes for |
1235 | { | 1235 | // those with a GodLike aspect. |
1236 | Scene c_scene = (Scene) requestingClient.Scene; | ||
1237 | bool is_god = c_scene.Permissions.IsGod(requestingClient.AgentId); | ||
1238 | |||
1239 | if(is_god) { | ||
1236 | Predicate<GroupMembershipData> showInProfile = delegate(GroupMembershipData membership) | 1240 | Predicate<GroupMembershipData> showInProfile = delegate(GroupMembershipData membership) |
1237 | { | 1241 | { |
1238 | return membership.ListInProfile; | 1242 | return membership.ListInProfile; |
1239 | }; | 1243 | }; |
1240 | 1244 | ||
1241 | membershipArray = membershipData.FindAll(showInProfile).ToArray(); | 1245 | membershipArray = membershipData.ToArray(); |
1242 | } | 1246 | } |
1243 | else | 1247 | else |
1244 | { | 1248 | { |
1245 | membershipArray = membershipData.ToArray(); | ||
1246 | } | ||
1247 | 1249 | ||
1250 | if (requestingClient.AgentId != dataForAgentID) | ||
1251 | { | ||
1252 | Predicate<GroupMembershipData> showInProfile = delegate(GroupMembershipData membership) | ||
1253 | { | ||
1254 | return membership.ListInProfile; | ||
1255 | }; | ||
1256 | |||
1257 | membershipArray = membershipData.FindAll(showInProfile).ToArray(); | ||
1258 | } | ||
1259 | else | ||
1260 | { | ||
1261 | membershipArray = membershipData.ToArray(); | ||
1262 | } | ||
1263 | } | ||
1248 | if (m_debugEnabled) | 1264 | if (m_debugEnabled) |
1249 | { | 1265 | { |
1250 | m_log.InfoFormat("[GROUPS]: Get group membership information for {0} requested by {1}", dataForAgentID, requestingClient.AgentId); | 1266 | m_log.InfoFormat("[GROUPS]: Get group membership information for {0} requested by {1}", dataForAgentID, requestingClient.AgentId); |
@@ -1257,6 +1273,7 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups | |||
1257 | return membershipArray; | 1273 | return membershipArray; |
1258 | } | 1274 | } |
1259 | 1275 | ||
1276 | |||
1260 | private void SendAgentDataUpdate(IClientAPI remoteClient, UUID dataForAgentID, UUID activeGroupID, string activeGroupName, ulong activeGroupPowers, string activeGroupTitle) | 1277 | private void SendAgentDataUpdate(IClientAPI remoteClient, UUID dataForAgentID, UUID activeGroupID, string activeGroupName, ulong activeGroupPowers, string activeGroupTitle) |
1261 | { | 1278 | { |
1262 | if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); | 1279 | if (m_debugEnabled) m_log.DebugFormat("[GROUPS]: {0} called", System.Reflection.MethodBase.GetCurrentMethod().Name); |