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 | |
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
-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> |