summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerregion.cpp
diff options
context:
space:
mode:
authorXiaohong Bao <bao@lindenlab.com>2013-11-20 11:43:09 -0700
committerXiaohong Bao <bao@lindenlab.com>2013-11-20 11:43:09 -0700
commit5979467198e9a8d4c065de908cf48c7d73101cd7 (patch)
tree82a31195c96a27bc0a72533d5710434df0b26e42 /indra/newview/llviewerregion.cpp
parent65b1c7a9dc98169fd3a961f90b2d6e5a2f463009 (diff)
revert changeset 05606ef22574: fix for SH-4629: Interesting: crash at LLViewerRegion::killObject
Diffstat (limited to 'indra/newview/llviewerregion.cpp')
-rwxr-xr-xindra/newview/llviewerregion.cpp32
1 files changed, 0 insertions, 32 deletions
diff --git a/indra/newview/llviewerregion.cpp b/indra/newview/llviewerregion.cpp
index f71d0a7a64..2eb065c1ef 100755
--- a/indra/newview/llviewerregion.cpp
+++ b/indra/newview/llviewerregion.cpp
@@ -923,21 +923,6 @@ void LLViewerRegion::addActiveCacheEntry(LLVOCacheEntry* entry)
mImpl->mActiveSet.insert(entry);
}
-//remove vo entry which is in mImpl->mActiveSet but not in rendering pipeline.
-//this is caused by mImpl->mActiveSet failing to remove this entry somehow.
-void LLViewerRegion::removeDanglingEntry(LLVOCacheEntry* entry)
-{
- if(mDead || !entry)
- {
- return;
- }
-
- mImpl->mVisibleEntries.erase(entry);
- mImpl->mActiveSet.erase(entry);
- mImpl->mWaitingSet.erase(entry);
- entry->setState(LLVOCacheEntry::INACTIVE);
-}
-
void LLViewerRegion::removeActiveCacheEntry(LLVOCacheEntry* entry, LLDrawable* drawablep)
{
if(mDead || !entry)
@@ -1418,8 +1403,6 @@ void LLViewerRegion::killInvisibleObjects(F32 max_time)
}
std::vector<LLDrawable*> delete_list;
- std::vector<LLVOCacheEntry*> dangling_list;
-
S32 update_counter = llmin(max_update, mImpl->mActiveSet.size());
LLVOCacheEntry::vocache_entry_set_t::iterator iter = mImpl->mActiveSet.upper_bound(mLastVisitedEntry);
@@ -1435,13 +1418,6 @@ void LLViewerRegion::killInvisibleObjects(F32 max_time)
}
LLVOCacheEntry* vo_entry = *iter;
- if(!vo_entry->getEntry() || !vo_entry->getEntry()->getDrawable())
- {
- //sometimes mImpl->mActiveSet fails to erase some entry, causing this dangling case.
- dangling_list.push_back(vo_entry);
- continue;
- }
-
if(!vo_entry->isAnyVisible(camera_origin, local_origin, back_threshold) && vo_entry->mLastCameraUpdated < sLastCameraUpdated)
{
killObject(vo_entry, delete_list);
@@ -1474,14 +1450,6 @@ void LLViewerRegion::killInvisibleObjects(F32 max_time)
delete_list.clear();
}
- if(!dangling_list.empty())
- {
- for(S32 i = 0; i < dangling_list.size(); i++)
- {
- removeDanglingEntry(dangling_list[i]);
- }
- }
-
return;
}