diff options
Diffstat (limited to 'OpenSim/Framework/Communications/Cache')
-rw-r--r-- | OpenSim/Framework/Communications/Cache/AssetCache.cs | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/OpenSim/Framework/Communications/Cache/AssetCache.cs b/OpenSim/Framework/Communications/Cache/AssetCache.cs index 1ae7eb7..e1e42cf 100644 --- a/OpenSim/Framework/Communications/Cache/AssetCache.cs +++ b/OpenSim/Framework/Communications/Cache/AssetCache.cs | |||
@@ -350,11 +350,21 @@ namespace OpenSim.Framework.Communications.Cache | |||
350 | 350 | ||
351 | // According to http://wiki.secondlife.com/wiki/AssetUploadRequest, Local signifies that the | 351 | // According to http://wiki.secondlife.com/wiki/AssetUploadRequest, Local signifies that the |
352 | // information is stored locally. It could disappear, in which case we could send the | 352 | // information is stored locally. It could disappear, in which case we could send the |
353 | // ImageNotInDatabase packet to tell the client this. However, when this was enabled in | 353 | // ImageNotInDatabase packet to tell the client this. |
354 | // TextureNotFoundSender it ended up crashing clients - we need to go back and try this again. | 354 | // |
355 | // However, this doesn't quite appear to work with local textures that are part of an avatar's | ||
356 | // appearance texture set. Whilst sending an ImageNotInDatabase does trigger an automatic rebake | ||
357 | // and reupload by the client, if those assets aren't pushed to the asset server anyway, then | ||
358 | // on crossing onto another region server, other avatars can no longer get the required textures. | ||
359 | // There doesn't appear to be any signal from the sim to the newly region border crossed client | ||
360 | // asking it to reupload its local texture assets to that region server. | ||
361 | // | ||
362 | // One can think of other cunning ways around this. For instance, on a region crossing or teleport, | ||
363 | // the original sim could squirt local assets to the new sim. Or the new sim could have pointers | ||
364 | // to the original sim to fetch the 'local' assets (this is getting more complicated). | ||
365 | // | ||
366 | // But for now, we're going to take the easy way out and store local assets globally. | ||
355 | // | 367 | // |
356 | // In the mean time, we're just going to push local assets to the permanent store instead. | ||
357 | // TODO: Need to come back and address this. | ||
358 | // TODO: Also, Temporary is now deprecated. We should start ignoring it and not passing it out from LLClientView. | 368 | // TODO: Also, Temporary is now deprecated. We should start ignoring it and not passing it out from LLClientView. |
359 | if (!asset.Temporary || asset.Local) | 369 | if (!asset.Temporary || asset.Local) |
360 | { | 370 | { |