aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMaster ScienceSim2010-10-26 12:53:15 -0700
committerMaster ScienceSim2010-10-26 12:53:15 -0700
commit9132e251aa0d0d7395dc4868fd57799dd679cdb7 (patch)
tree3b911336b8b11cc59146f23ea19c561a5cafbea6 /OpenSim
parentHalf of the compatibility is working. Login into a new region with (diff)
downloadopensim-SC-9132e251aa0d0d7395dc4868fd57799dd679cdb7.zip
opensim-SC-9132e251aa0d0d7395dc4868fd57799dd679cdb7.tar.gz
opensim-SC-9132e251aa0d0d7395dc4868fd57799dd679cdb7.tar.bz2
opensim-SC-9132e251aa0d0d7395dc4868fd57799dd679cdb7.tar.xz
Made the check for texture assets asynchronous. This is one part of
a bigger clean up that needs to happen around locks on appearance.
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs17
1 files changed, 10 insertions, 7 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
index b74cdc9..5444f80 100644
--- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
+++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs
@@ -84,6 +84,15 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
84 // client.OnAvatarNowWearing -= AvatarIsWearing; 84 // client.OnAvatarNowWearing -= AvatarIsWearing;
85 } 85 }
86 86
87 public void CheckBakedTextureAssets(IClientAPI client, UUID textureID, int idx)
88 {
89 if (m_scene.AssetService.Get(textureID.ToString()) == null)
90 {
91 m_log.WarnFormat("[AVFACTORY]: Missing baked texture {0} ({1}) for avatar {2}",textureID,idx,client.Name);
92 client.SendRebakeAvatarTextures(textureID);
93 }
94 }
95
87 /// <summary> 96 /// <summary>
88 /// Set appearance data (textureentry and slider settings) received from the client 97 /// Set appearance data (textureentry and slider settings) received from the client
89 /// </summary> 98 /// </summary>
@@ -133,13 +142,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory
133 Primitive.TextureEntryFace face = textureEntry.FaceTextures[j]; 142 Primitive.TextureEntryFace face = textureEntry.FaceTextures[j];
134 143
135 if (face != null && face.TextureID != AppearanceManager.DEFAULT_AVATAR_TEXTURE) 144 if (face != null && face.TextureID != AppearanceManager.DEFAULT_AVATAR_TEXTURE)
136 { 145 Util.FireAndForget(delegate(object o) { CheckBakedTextureAssets(client,face.TextureID,j); });
137 if (m_scene.AssetService.Get(face.TextureID.ToString()) == null)
138 {
139 m_log.WarnFormat("[AVFACTORY]: Missing baked texture {0} ({1}) for avatar {2}",face.TextureID,j,client.Name);
140 client.SendRebakeAvatarTextures(face.TextureID);
141 }
142 }
143 } 146 }
144 changed = sp.Appearance.SetTextureEntries(textureEntry); 147 changed = sp.Appearance.SetTextureEntries(textureEntry);
145 148