aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/lldrawable.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/newview/lldrawable.cpp10
1 files changed, 1 insertions, 9 deletions
diff --git a/linden/indra/newview/lldrawable.cpp b/linden/indra/newview/lldrawable.cpp
index a228f68..71c9ebb 100644
--- a/linden/indra/newview/lldrawable.cpp
+++ b/linden/indra/newview/lldrawable.cpp
@@ -127,7 +127,6 @@ void LLDrawable::destroy()
127 llerrs << "Illegal deletion of LLDrawable!" << llendl; 127 llerrs << "Illegal deletion of LLDrawable!" << llendl;
128 } 128 }
129 129
130 LLFace::sDeleteLock = mFaces.size() ;
131 std::for_each(mFaces.begin(), mFaces.end(), DeletePointer()); 130 std::for_each(mFaces.begin(), mFaces.end(), DeletePointer());
132 mFaces.clear(); 131 mFaces.clear();
133 132
@@ -190,7 +189,6 @@ void LLDrawable::cleanupReferences()
190{ 189{
191 LLFastTimer t(LLFastTimer::FTM_PIPELINE); 190 LLFastTimer t(LLFastTimer::FTM_PIPELINE);
192 191
193 LLFace::sDeleteLock = mFaces.size() ;
194 std::for_each(mFaces.begin(), mFaces.end(), DeletePointer()); 192 std::for_each(mFaces.begin(), mFaces.end(), DeletePointer());
195 mFaces.clear(); 193 mFaces.clear();
196 194
@@ -284,7 +282,6 @@ void LLDrawable::setNumFaces(const S32 newFaces, LLFacePool *poolp, LLViewerImag
284 } 282 }
285 else if (newFaces < (S32)mFaces.size()) 283 else if (newFaces < (S32)mFaces.size())
286 { 284 {
287 LLFace::sDeleteLock = (S32)mFaces.size() - newFaces ;
288 std::for_each(mFaces.begin() + newFaces, mFaces.end(), DeletePointer()); 285 std::for_each(mFaces.begin() + newFaces, mFaces.end(), DeletePointer());
289 mFaces.erase(mFaces.begin() + newFaces, mFaces.end()); 286 mFaces.erase(mFaces.begin() + newFaces, mFaces.end());
290 } 287 }
@@ -308,7 +305,6 @@ void LLDrawable::setNumFacesFast(const S32 newFaces, LLFacePool *poolp, LLViewer
308 } 305 }
309 else if (newFaces < (S32)mFaces.size()) 306 else if (newFaces < (S32)mFaces.size())
310 { 307 {
311 LLFace::sDeleteLock = (S32)mFaces.size() - newFaces ;
312 std::for_each(mFaces.begin() + newFaces, mFaces.end(), DeletePointer()); 308 std::for_each(mFaces.begin() + newFaces, mFaces.end(), DeletePointer());
313 mFaces.erase(mFaces.begin() + newFaces, mFaces.end()); 309 mFaces.erase(mFaces.begin() + newFaces, mFaces.end());
314 } 310 }
@@ -343,12 +339,8 @@ void LLDrawable::deleteFaces(S32 offset, S32 count)
343 face_list_t::iterator face_begin = mFaces.begin() + offset; 339 face_list_t::iterator face_begin = mFaces.begin() + offset;
344 face_list_t::iterator face_end = face_begin + count; 340 face_list_t::iterator face_end = face_begin + count;
345 341
346 S32 end = (S32)mFaces.size() ;
347 LLFace::sDeleteLock = count ;
348 std::for_each(face_begin, face_end, DeletePointer()); 342 std::for_each(face_begin, face_end, DeletePointer());
349 mFaces.erase(face_begin, face_end); 343 mFaces.erase(face_begin, face_end);
350
351 llassert_always(mFaces.size() == end - count) ;
352} 344}
353 345
354void LLDrawable::update() 346void LLDrawable::update()
@@ -526,7 +518,7 @@ F32 LLDrawable::updateXform(BOOL undamped)
526 } 518 }
527 519
528 if ((mCurrentScale != target_scale) || 520 if ((mCurrentScale != target_scale) ||
529 (!isRoot() && (dist_squared >= MIN_INTERPOLATE_DISTANCE_SQUARED*camdist2))) 521 (!isRoot() && (dist_squared >= MIN_INTERPOLATE_DISTANCE_SQUARED) || !mVObjp->getAngularVelocity().isExactlyZero()))
530 { //child prim moving or scale change requires immediate rebuild 522 { //child prim moving or scale change requires immediate rebuild
531 gPipeline.markRebuild(this, LLDrawable::REBUILD_POSITION, TRUE); 523 gPipeline.markRebuild(this, LLDrawable::REBUILD_POSITION, TRUE);
532 } 524 }