From f69f6961815c3916df8e30fbfdb2faa4906cf025 Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Thu, 19 Jun 2008 17:03:59 +0000 Subject: * 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 --- OpenSim/Region/Environment/Scenes/Scene.cs | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) (limited to 'OpenSim/Region/Environment') 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 return avatar; } + /// + /// Get the avatar apperance for the given client. + /// + /// + /// public void GetAvatarAppearance(IClientAPI client, out AvatarAppearance appearance) { appearance = null; // VS needs this line, mono doesn't - if (m_AvatarFactory == null || - !m_AvatarFactory.TryGetAvatarAppearance(client.AgentId, out appearance)) + + try { - m_log.Warn("[APPEARANCE]: Appearance not found, creating default"); + if (m_AvatarFactory == null || + !m_AvatarFactory.TryGetAvatarAppearance(client.AgentId, out appearance)) + { + m_log.Warn("[APPEARANCE]: Appearance not found, creating default"); + appearance = new AvatarAppearance(); + } } + catch (Exception e) + { + m_log.ErrorFormat( + "[APPERANCE]: Problem when fetching appearance for avatar {0}, {1}, using default. {2}", + client.Name, client.AgentId, e); + appearance = new AvatarAppearance(); + } } /// -- cgit v1.1