aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorCharles Krinke2009-05-02 16:16:27 +0000
committerCharles Krinke2009-05-02 16:16:27 +0000
commit47640aca22dc567d92f54c08cc29ea8bfa373ffd (patch)
tree801b486dacdcb7c038382f5c32b7fb1a9420140f /OpenSim
parentAdded the "out" connector (aka client) for the Grid services. Not used yet. (diff)
downloadopensim-SC_OLD-47640aca22dc567d92f54c08cc29ea8bfa373ffd.zip
opensim-SC_OLD-47640aca22dc567d92f54c08cc29ea8bfa373ffd.tar.gz
opensim-SC_OLD-47640aca22dc567d92f54c08cc29ea8bfa373ffd.tar.bz2
opensim-SC_OLD-47640aca22dc567d92f54c08cc29ea8bfa373ffd.tar.xz
Thank you kindly, MCortez for a patch that solves:
Different people using Hippo 0.5.1 report that trying to send group instant messages crashes the viewer (Hippo 0.5.1). This is the case even for empty groups or if all group members are online.
Diffstat (limited to 'OpenSim')
-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;