aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsModule.cs19
1 files changed, 18 insertions, 1 deletions
diff --git a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsModule.cs b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsModule.cs
index 5ba7eff..3476cdb 100644
--- a/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsModule.cs
+++ b/OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/XmlRpcGroupsModule.cs
@@ -1089,6 +1089,11 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
1089 1089
1090 private GroupRequestID GetClientGroupRequestID(IClientAPI client) 1090 private GroupRequestID GetClientGroupRequestID(IClientAPI client)
1091 { 1091 {
1092 if (client == null)
1093 {
1094 return new GroupRequestID();
1095 }
1096
1092 lock (m_clientRequestIDInfo) 1097 lock (m_clientRequestIDInfo)
1093 { 1098 {
1094 if (!m_clientRequestIDInfo.ContainsKey(client.AgentId)) 1099 if (!m_clientRequestIDInfo.ContainsKey(client.AgentId))
@@ -1098,7 +1103,19 @@ namespace OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups
1098 info.RequestID.SessionID = client.SessionId; 1103 info.RequestID.SessionID = client.SessionId;
1099 1104
1100 UserProfileData userProfile = m_sceneList[0].CommsManager.UserService.GetUserProfile(client.AgentId); 1105 UserProfileData userProfile = m_sceneList[0].CommsManager.UserService.GetUserProfile(client.AgentId);
1101 if (userProfile is ForeignUserProfileData) 1106 if (userProfile == null)
1107 {
1108 // This should be impossible. If I've been passed a reference to a client
1109 // that client should be registered with the UserService. So something
1110 // is horribly wrong somewhere.
1111
1112 m_log.WarnFormat("[GROUPS]: Could not find a user profile for {0} / {1}", client.Name, client.AgentId);
1113
1114 // Default to local user service and hope for the best?
1115 info.RequestID.UserServiceURL = m_sceneList[0].CommsManager.NetworkServersInfo.UserURL;
1116
1117 }
1118 else if (userProfile is ForeignUserProfileData)
1102 { 1119 {
1103 // They aren't from around here 1120 // They aren't from around here
1104 ForeignUserProfileData fupd = (ForeignUserProfileData)userProfile; 1121 ForeignUserProfileData fupd = (ForeignUserProfileData)userProfile;