diff options
Diffstat (limited to 'indra/newview/lltexlayer.h')
-rw-r--r-- | indra/newview/lltexlayer.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/indra/newview/lltexlayer.h b/indra/newview/lltexlayer.h index 18e6d6b24f..1924d0bee3 100644 --- a/indra/newview/lltexlayer.h +++ b/indra/newview/lltexlayer.h @@ -534,14 +534,22 @@ public: }; // Used by LLTexLayerSetBuffer for a callback. + +// For DEV-DEV-31590, "Heap corruption and crash after outfit +// changes", added the mLayerSet member. The current +// LLTexLayerSetBuffer can be found by querying mLayerSet->mComposite, +// but we still store the original mLayerSetBuffer here so we can +// detect when an upload is out of date. This prevents a memory +// stomp. See LLTexLayerSetBuffer::onTextureUploadComplete() for usage. class LLBakedUploadData { public: - LLBakedUploadData( LLVOAvatar* avatar, LLTexLayerSetBuffer* layerset_buffer, const LLUUID & id); + LLBakedUploadData( LLVOAvatar* avatar, LLTexLayerSet* layerset, LLTexLayerSetBuffer* layerset_buffer, const LLUUID & id); ~LLBakedUploadData() {} LLUUID mID; LLVOAvatar* mAvatar; // just backlink, don't LLPointer + LLTexLayerSet* mLayerSet; LLTexLayerSetBuffer* mLayerSetBuffer; LLUUID mWearableAssets[WT_COUNT]; U64 mStartTime; // Used to measure time baked texture upload requires |