More memory cleanup of containers after DeletePairedPointer() usage.
parent
25a51add29
commit
2ccebebece
|
|
@ -461,6 +461,7 @@ LLPoseBlender::LLPoseBlender()
|
|||
LLPoseBlender::~LLPoseBlender()
|
||||
{
|
||||
for_each(mJointStateBlenderPool.begin(), mJointStateBlenderPool.end(), DeletePairedPointer());
|
||||
mJointStateBlenderPool.clear();
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -125,6 +125,7 @@ public:
|
|||
~NamedTimerFactory()
|
||||
{
|
||||
std::for_each(mTimers.begin(), mTimers.end(), DeletePairedPointer());
|
||||
mTimers.clear();
|
||||
|
||||
delete mTimerRoot;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -98,6 +98,7 @@ struct DeletePointerArray
|
|||
// The general form is:
|
||||
//
|
||||
// std::for_each(somemap.begin(), somemap.end(), DeletePairedPointer());
|
||||
// somemap.clear(); // Don't leave dangling pointers around
|
||||
|
||||
struct DeletePairedPointer
|
||||
{
|
||||
|
|
|
|||
|
|
@ -280,6 +280,7 @@ LLCacheName::Impl::Impl(LLMessageSystem* msg)
|
|||
LLCacheName::Impl::~Impl()
|
||||
{
|
||||
for_each(mCache.begin(), mCache.end(), DeletePairedPointer());
|
||||
mCache.clear();
|
||||
for_each(mReplyQueue.begin(), mReplyQueue.end(), DeletePointer());
|
||||
mReplyQueue.clear();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,8 +76,8 @@ LLHTTPNode::LLHTTPNode()
|
|||
// virtual
|
||||
LLHTTPNode::~LLHTTPNode()
|
||||
{
|
||||
std::for_each(impl.mNamedChildren.begin(), impl.mNamedChildren.end(),
|
||||
DeletePairedPointer());
|
||||
std::for_each(impl.mNamedChildren.begin(), impl.mNamedChildren.end(), DeletePairedPointer());
|
||||
impl.mNamedChildren.clear();
|
||||
|
||||
delete impl.mWildcardChild;
|
||||
|
||||
|
|
|
|||
|
|
@ -120,6 +120,7 @@ public:
|
|||
~LLMsgData()
|
||||
{
|
||||
for_each(mMemberBlocks.begin(), mMemberBlocks.end(), DeletePairedPointer());
|
||||
mMemberBlocks.clear();
|
||||
}
|
||||
|
||||
void addBlock(LLMsgBlkData *blockp)
|
||||
|
|
|
|||
|
|
@ -130,6 +130,7 @@ LLFontFreetype::~LLFontFreetype()
|
|||
|
||||
// Delete glyph info
|
||||
std::for_each(mCharGlyphInfoMap.begin(), mCharGlyphInfoMap.end(), DeletePairedPointer());
|
||||
mCharGlyphInfoMap.clear();
|
||||
|
||||
// mFontBitmapCachep will be cleaned up by LLPointer destructor.
|
||||
// mFallbackFonts cleaned up by LLPointer destructor
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@ inline BOOL LLKeywordToken::isTail(const llwchar* s) const
|
|||
LLKeywords::~LLKeywords()
|
||||
{
|
||||
std::for_each(mWordTokenMap.begin(), mWordTokenMap.end(), DeletePairedPointer());
|
||||
mWordTokenMap.clear();
|
||||
std::for_each(mLineTokenList.begin(), mLineTokenList.end(), DeletePointer());
|
||||
mLineTokenList.clear();
|
||||
std::for_each(mDelimiterTokenList.begin(), mDelimiterTokenList.end(), DeletePointer());
|
||||
|
|
|
|||
|
|
@ -330,6 +330,7 @@ LLScrollListCtrl::~LLScrollListCtrl()
|
|||
std::for_each(mItemList.begin(), mItemList.end(), DeletePointer());
|
||||
mItemList.clear();
|
||||
std::for_each(mColumns.begin(), mColumns.end(), DeletePairedPointer());
|
||||
mColumns.clear();
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -578,6 +578,7 @@ LLVFS::~LLVFS()
|
|||
mFreeBlocksByLength.clear();
|
||||
|
||||
for_each(mFreeBlocksByLocation.begin(), mFreeBlocksByLocation.end(), DeletePairedPointer());
|
||||
mFreeBlocksByLocation.clear();
|
||||
|
||||
unlockAndClose(mDataFP);
|
||||
mDataFP = NULL;
|
||||
|
|
|
|||
|
|
@ -171,6 +171,7 @@ std::string LLDXDriverFile::dump()
|
|||
LLDXDevice::~LLDXDevice()
|
||||
{
|
||||
for_each(mDriverFiles.begin(), mDriverFiles.end(), DeletePairedPointer());
|
||||
mDriverFiles.clear();
|
||||
}
|
||||
|
||||
std::string LLDXDevice::dump()
|
||||
|
|
@ -230,6 +231,7 @@ LLDXHardware::LLDXHardware()
|
|||
void LLDXHardware::cleanup()
|
||||
{
|
||||
// for_each(mDevices.begin(), mDevices.end(), DeletePairedPointer());
|
||||
// mDevices.clear();
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -126,6 +126,7 @@ LLAvatarTracker::~LLAvatarTracker()
|
|||
std::for_each(mObservers.begin(), mObservers.end(), DeletePointer());
|
||||
mObservers.clear();
|
||||
std::for_each(mBuddyInfo.begin(), mBuddyInfo.end(), DeletePairedPointer());
|
||||
mBuddyInfo.clear();
|
||||
}
|
||||
|
||||
void LLAvatarTracker::track(const LLUUID& avatar_id, const std::string& name)
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ LLLandmarkList gLandmarkList;
|
|||
LLLandmarkList::~LLLandmarkList()
|
||||
{
|
||||
std::for_each(mList.begin(), mList.end(), DeletePairedPointer());
|
||||
mList.clear();
|
||||
}
|
||||
|
||||
LLLandmark* LLLandmarkList::getAsset(const LLUUID& asset_uuid, loaded_callback_t cb)
|
||||
|
|
|
|||
|
|
@ -241,6 +241,7 @@ void LLVOGrass::initClass()
|
|||
void LLVOGrass::cleanupClass()
|
||||
{
|
||||
for_each(sSpeciesTable.begin(), sSpeciesTable.end(), DeletePairedPointer());
|
||||
sSpeciesTable.clear();
|
||||
}
|
||||
|
||||
U32 LLVOGrass::processUpdateMessage(LLMessageSystem *mesgsys,
|
||||
|
|
|
|||
|
|
@ -269,6 +269,7 @@ void LLVOTree::initClass()
|
|||
void LLVOTree::cleanupClass()
|
||||
{
|
||||
std::for_each(sSpeciesTable.begin(), sSpeciesTable.end(), DeletePairedPointer());
|
||||
sSpeciesTable.clear();
|
||||
}
|
||||
|
||||
U32 LLVOTree::processUpdateMessage(LLMessageSystem *mesgsys,
|
||||
|
|
|
|||
Loading…
Reference in New Issue