diff options
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/Modules/AvatarFactory/AvatarFactoryModule.cs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/OpenSim/Region/Modules/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/Modules/AvatarFactory/AvatarFactoryModule.cs index 0b75e89..4b8eee7 100644 --- a/OpenSim/Region/Modules/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/Modules/AvatarFactory/AvatarFactoryModule.cs | |||
@@ -117,11 +117,16 @@ namespace OpenSim.Region.Modules.AvatarFactory | |||
117 | { | 117 | { |
118 | IClientAPI clientView = (IClientAPI)sender; | 118 | IClientAPI clientView = (IClientAPI)sender; |
119 | ScenePresence avatar = m_scene.GetScenePresence(clientView.AgentId); | 119 | ScenePresence avatar = m_scene.GetScenePresence(clientView.AgentId); |
120 | if(avatar == null) { | ||
121 | m_log.Info("Avatar is child agent, ignoring AvatarIsWearing event"); | ||
122 | return; | ||
123 | } | ||
124 | |||
120 | CachedUserInfo profile = m_scene.CommsManager.UserProfileCacheService.GetUserDetails(clientView.AgentId); | 125 | CachedUserInfo profile = m_scene.CommsManager.UserProfileCacheService.GetUserDetails(clientView.AgentId); |
121 | 126 | ||
122 | AvatarAppearance avatAppearance = null; | 127 | AvatarAppearance avatAppearance = null; |
123 | if(!TryGetAvatarAppearance(clientView.AgentId, out avatAppearance)) { | 128 | if(!TryGetAvatarAppearance(clientView.AgentId, out avatAppearance)) { |
124 | m_log.Info("We didn't seem to find the appearance"); | 129 | m_log.Info("We didn't seem to find the appearance, falling back to ScenePresense"); |
125 | avatAppearance = avatar.Appearance; | 130 | avatAppearance = avatar.Appearance; |
126 | } | 131 | } |
127 | m_log.Info("Calling Avatar is Wearing"); | 132 | m_log.Info("Calling Avatar is Wearing"); |