diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 17 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 22 |
2 files changed, 26 insertions, 13 deletions
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index 5b58804..da76ab8 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs | |||
@@ -2382,24 +2382,23 @@ namespace OpenSim.Region.Environment.Scenes | |||
2382 | /// <param name="appearance"></param> | 2382 | /// <param name="appearance"></param> |
2383 | public void GetAvatarAppearance(IClientAPI client, out AvatarAppearance appearance) | 2383 | public void GetAvatarAppearance(IClientAPI client, out AvatarAppearance appearance) |
2384 | { | 2384 | { |
2385 | appearance = null; // VS needs this line, mono doesn't | 2385 | appearance = new AvatarAppearance(); |
2386 | 2386 | ||
2387 | try | 2387 | try |
2388 | { | 2388 | { |
2389 | if (m_AvatarFactory == null || | 2389 | if (m_AvatarFactory != null) |
2390 | !m_AvatarFactory.TryGetAvatarAppearance(client.AgentId, out appearance)) | ||
2391 | { | 2390 | { |
2392 | m_log.Warn("[APPEARANCE]: Appearance not found, creating default"); | 2391 | if (m_AvatarFactory.TryGetAvatarAppearance(client.AgentId, out appearance)) |
2393 | appearance = new AvatarAppearance(); | 2392 | return; |
2394 | } | 2393 | } |
2395 | } | 2394 | } |
2396 | catch (Exception e) | 2395 | catch (Exception e) |
2397 | { | 2396 | { |
2398 | m_log.ErrorFormat( | 2397 | m_log.ErrorFormat("[APPEARANCE]: Problem fetching appearance for avatar {0}, {1}, {2}", |
2399 | "[APPERANCE]: Problem when fetching appearance for avatar {0}, {1}, using default. {2}", | 2398 | client.Name, client.AgentId, e.ToString()); |
2400 | client.Name, client.AgentId, e); | ||
2401 | appearance = new AvatarAppearance(); | ||
2402 | } | 2399 | } |
2400 | m_log.Warn("[APPEARANCE]: Appearance not found, returning default"); | ||
2401 | |||
2403 | } | 2402 | } |
2404 | 2403 | ||
2405 | /// <summary> | 2404 | /// <summary> |
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs index abda63e..ff043fb 100644 --- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs | |||
@@ -2911,19 +2911,33 @@ namespace OpenSim.Region.Environment.Scenes | |||
2911 | 2911 | ||
2912 | private void ItemReceived(UUID itemID) | 2912 | private void ItemReceived(UUID itemID) |
2913 | { | 2913 | { |
2914 | if (null == m_appearance) | ||
2915 | { | ||
2916 | m_log.Warn("[ATTACHMENT] Appearance has not been initialized"); | ||
2917 | return; | ||
2918 | } | ||
2919 | |||
2914 | int attachpoint = m_appearance.GetAttachpoint(itemID); | 2920 | int attachpoint = m_appearance.GetAttachpoint(itemID); |
2915 | if (attachpoint == 0) | 2921 | if (attachpoint == 0) |
2916 | return; | 2922 | return; |
2917 | 2923 | ||
2918 | UUID asset = m_appearance.GetAttachedAsset(attachpoint); | 2924 | UUID asset = m_appearance.GetAttachedAsset(attachpoint); |
2919 | if (asset == UUID.Zero) // We have just logged in | 2925 | if (UUID.Zero == asset) // We have just logged in |
2920 | { | 2926 | { |
2921 | m_log.InfoFormat("[ATTACHMENT] Rez attachment {0}", | 2927 | m_log.InfoFormat("[ATTACHMENT] Rez attachment {0}", |
2922 | itemID.ToString()); | 2928 | itemID.ToString()); |
2923 | 2929 | ||
2924 | // Rez from inventory | 2930 | try |
2925 | m_scene.RezSingleAttachment(ControllingClient, itemID, | 2931 | { |
2926 | (uint)attachpoint, 0, 0); | 2932 | // Rez from inventory |
2933 | m_scene.RezSingleAttachment(ControllingClient, itemID, | ||
2934 | (uint)attachpoint, 0, 0); | ||
2935 | } | ||
2936 | catch (Exception e) | ||
2937 | { | ||
2938 | m_log.ErrorFormat("[ATTACHMENT] Unable to rez attachment: {0}", e.ToString()); | ||
2939 | } | ||
2940 | |||
2927 | return; | 2941 | return; |
2928 | } | 2942 | } |
2929 | 2943 | ||