diff options
author | Justin Clarke Casey | 2008-06-19 17:03:59 +0000 |
---|---|---|
committer | Justin Clarke Casey | 2008-06-19 17:03:59 +0000 |
commit | f69f6961815c3916df8e30fbfdb2faa4906cf025 (patch) | |
tree | db3dc50abf086835a272944c56c39477471bf389 /OpenSim | |
parent | oops, build break. needed to include another reference. (diff) | |
download | opensim-SC_OLD-f69f6961815c3916df8e30fbfdb2faa4906cf025.zip opensim-SC_OLD-f69f6961815c3916df8e30fbfdb2faa4906cf025.tar.gz opensim-SC_OLD-f69f6961815c3916df8e30fbfdb2faa4906cf025.tar.bz2 opensim-SC_OLD-f69f6961815c3916df8e30fbfdb2faa4906cf025.tar.xz |
* Temporary workaround for mantis 1568. If the avatar apperance factory now throws any exception, we will carry on with the default appearance rather than terminating the client login
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Communications/OGS1/OGS1UserServices.cs | 16 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 23 |
2 files changed, 27 insertions, 12 deletions
diff --git a/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs b/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs index a31570e..0ffc4b2 100644 --- a/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs +++ b/OpenSim/Region/Communications/OGS1/OGS1UserServices.cs | |||
@@ -232,17 +232,17 @@ namespace OpenSim.Region.Communications.OGS1 | |||
232 | IList parameters = new ArrayList(); | 232 | IList parameters = new ArrayList(); |
233 | parameters.Add(param); | 233 | parameters.Add(param); |
234 | XmlRpcRequest req = new XmlRpcRequest("logout_of_simulator", parameters); | 234 | XmlRpcRequest req = new XmlRpcRequest("logout_of_simulator", parameters); |
235 | |||
235 | try | 236 | try |
236 | { | 237 | { |
237 | XmlRpcResponse resp = req.Send(m_parent.NetworkServersInfo.UserURL, 3000); | 238 | req.Send(m_parent.NetworkServersInfo.UserURL, 3000); |
238 | } | 239 | } |
239 | catch (WebException) | 240 | catch (WebException) |
240 | { | 241 | { |
241 | m_log.Warn("[LOGOFF]: Unable to notify grid server of user logoff"); | 242 | m_log.Warn("[LOGOFF]: Unable to notify grid server of user logoff"); |
242 | } | 243 | } |
243 | |||
244 | |||
245 | } | 244 | } |
245 | |||
246 | public UserProfileData GetUserProfile(string firstName, string lastName) | 246 | public UserProfileData GetUserProfile(string firstName, string lastName) |
247 | { | 247 | { |
248 | return GetUserProfile(firstName + " " + lastName); | 248 | return GetUserProfile(firstName + " " + lastName); |
@@ -556,7 +556,6 @@ namespace OpenSim.Region.Communications.OGS1 | |||
556 | param["ownerID"] = friendlistowner.UUID.ToString(); | 556 | param["ownerID"] = friendlistowner.UUID.ToString(); |
557 | param["friendID"] = friend.UUID.ToString(); | 557 | param["friendID"] = friend.UUID.ToString(); |
558 | 558 | ||
559 | |||
560 | IList parameters = new ArrayList(); | 559 | IList parameters = new ArrayList(); |
561 | parameters.Add(param); | 560 | parameters.Add(param); |
562 | 561 | ||
@@ -682,10 +681,10 @@ namespace OpenSim.Region.Communications.OGS1 | |||
682 | #endregion | 681 | #endregion |
683 | 682 | ||
684 | /// Appearance | 683 | /// Appearance |
685 | /// TODO: stubs for now to get us to a compiling state gently | ||
686 | public AvatarAppearance GetUserAppearance(LLUUID user) | 684 | public AvatarAppearance GetUserAppearance(LLUUID user) |
687 | { | 685 | { |
688 | AvatarAppearance appearance = null; | 686 | AvatarAppearance appearance = null; |
687 | |||
689 | try | 688 | try |
690 | { | 689 | { |
691 | Hashtable param = new Hashtable(); | 690 | Hashtable param = new Hashtable(); |
@@ -696,15 +695,14 @@ namespace OpenSim.Region.Communications.OGS1 | |||
696 | XmlRpcRequest req = new XmlRpcRequest("get_avatar_appearance", parameters); | 695 | XmlRpcRequest req = new XmlRpcRequest("get_avatar_appearance", parameters); |
697 | XmlRpcResponse resp = req.Send(m_parent.NetworkServersInfo.UserURL, 8000); | 696 | XmlRpcResponse resp = req.Send(m_parent.NetworkServersInfo.UserURL, 8000); |
698 | Hashtable respData = (Hashtable) resp.Value; | 697 | Hashtable respData = (Hashtable) resp.Value; |
699 | 698 | ||
700 | return ConvertXMLRPCDataToAvatarAppearance(respData); | 699 | return ConvertXMLRPCDataToAvatarAppearance(respData); |
701 | } | 700 | } |
702 | catch (WebException e) | 701 | catch (WebException e) |
703 | { | 702 | { |
704 | m_log.Warn("[OGS1 USER SERVICES]: Error when trying to fetch Avatar's appearance: " + | 703 | m_log.ErrorFormat("[OGS1 USER SERVICES]: Network problems when trying to fetch appearance for avatar {0}, {1}", user, e.Message); |
705 | e.Message); | ||
706 | // Return Empty list (no friends) | ||
707 | } | 704 | } |
705 | |||
708 | return appearance; | 706 | return appearance; |
709 | } | 707 | } |
710 | 708 | ||
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 7e3937c..cfebd14 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -2131,14 +2131,31 @@ namespace OpenSim.Region.Environment.Scenes | |||
2131 | return avatar; | 2131 | return avatar; |
2132 | } | 2132 | } |
2133 | 2133 | ||
2134 | /// <summary> | ||
2135 | /// Get the avatar apperance for the given client. | ||
2136 | /// </summary> | ||
2137 | /// <param name="client"></param> | ||
2138 | /// <param name="appearance"></param> | ||
2134 | public void GetAvatarAppearance(IClientAPI client, out AvatarAppearance appearance) | 2139 | public void GetAvatarAppearance(IClientAPI client, out AvatarAppearance appearance) |
2135 | { | 2140 | { |
2136 | appearance = null; // VS needs this line, mono doesn't | 2141 | appearance = null; // VS needs this line, mono doesn't |
2137 | if (m_AvatarFactory == null || | 2142 | |
2138 | !m_AvatarFactory.TryGetAvatarAppearance(client.AgentId, out appearance)) | 2143 | try |
2139 | { | 2144 | { |
2140 | m_log.Warn("[APPEARANCE]: Appearance not found, creating default"); | 2145 | if (m_AvatarFactory == null || |
2146 | !m_AvatarFactory.TryGetAvatarAppearance(client.AgentId, out appearance)) | ||
2147 | { | ||
2148 | m_log.Warn("[APPEARANCE]: Appearance not found, creating default"); | ||
2149 | appearance = new AvatarAppearance(); | ||
2150 | } | ||
2141 | } | 2151 | } |
2152 | catch (Exception e) | ||
2153 | { | ||
2154 | m_log.ErrorFormat( | ||
2155 | "[APPERANCE]: Problem when fetching appearance for avatar {0}, {1}, using default. {2}", | ||
2156 | client.Name, client.AgentId, e); | ||
2157 | appearance = new AvatarAppearance(); | ||
2158 | } | ||
2142 | } | 2159 | } |
2143 | 2160 | ||
2144 | /// <summary> | 2161 | /// <summary> |