diff options
author | Loren Shih <seraph@lindenlab.com> | 2009-11-11 10:44:39 -0500 |
---|---|---|
committer | Loren Shih <seraph@lindenlab.com> | 2009-11-11 10:44:39 -0500 |
commit | 652c8f6b5e91e1333854ac5e300b0bf650d03fc2 (patch) | |
tree | 4c0375dddbf315baa73c30fe648eb0915f3e3f2a /indra/newview/llvovolume.cpp | |
parent | af9b99b457a6a6ab9f04a20bcde6a90091321375 (diff) | |
parent | 062d0a13db505636b186084d42c527a49637f380 (diff) |
merge
Diffstat (limited to 'indra/newview/llvovolume.cpp')
-rw-r--r-- | indra/newview/llvovolume.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index a32abf3ab9..2def905bbb 100644 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -108,6 +108,12 @@ public: if (te->getMediaData() != NULL) { result = te->getMediaData()->asLLSD(); + // XXX HACK: workaround bug in asLLSD() where whitelist is not set properly + // See DEV-41949 + if (!result.has(LLMediaEntry::WHITELIST_KEY)) + { + result[LLMediaEntry::WHITELIST_KEY] = LLSD::emptyArray(); + } } } return result; @@ -1663,6 +1669,13 @@ void LLVOVolume::requestMediaDataUpdate() sObjectMediaClient->fetchMedia(new LLMediaDataClientObjectImpl(this)); } +bool LLVOVolume::isMediaDataBeingFetched() const +{ + // I know what I'm doing by const_casting this away: this is just + // a wrapper class that is only going to do a lookup. + return sObjectMediaClient->isInQueue(new LLMediaDataClientObjectImpl(const_cast<LLVOVolume*>(this))); +} + void LLVOVolume::cleanUpMediaImpls() { // Iterate through our TEs and remove any Impls that are no longer used @@ -1733,6 +1746,10 @@ void LLVOVolume::syncMediaData(S32 texture_index, const LLSD &media_data, bool m addMediaImpl(media_impl, texture_index) ; } + else + { + removeMediaImpl(texture_index); + } //llinfos << "AFTER: texture_index = " << texture_index // << " hasMedia = " << te->hasMedia() << " : " |