From 8465910c79b8e746e04fd581cca2d60399e569b9 Mon Sep 17 00:00:00 2001 From: Jacek Antonelli Date: Fri, 15 Aug 2008 23:45:07 -0500 Subject: Second Life viewer sources 1.18.3.2-RC --- linden/indra/newview/llflexibleobject.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'linden/indra/newview/llflexibleobject.cpp') diff --git a/linden/indra/newview/llflexibleobject.cpp b/linden/indra/newview/llflexibleobject.cpp index 836cfdc..454b40f 100644 --- a/linden/indra/newview/llflexibleobject.cpp +++ b/linden/indra/newview/llflexibleobject.cpp @@ -643,6 +643,15 @@ BOOL LLVolumeImplFlexible::doUpdateGeometry(LLDrawable *drawable) volume->updateRelativeXform(); doFlexibleUpdate(); + // Object may have been rotated, which means it needs a rebuild. See SL-47220 + BOOL rotated = FALSE; + LLQuaternion cur_rotation = getFrameRotation(); + if ( cur_rotation != mLastFrameRotation ) + { + mLastFrameRotation = cur_rotation; + rotated = TRUE; + } + if (volume->mLODChanged || volume->mFaceMappingChanged || volume->mVolumeChanged) { @@ -650,7 +659,7 @@ BOOL LLVolumeImplFlexible::doUpdateGeometry(LLDrawable *drawable) volume->mDrawable->setState(LLDrawable::REBUILD_VOLUME); } - if (!mUpdated || volume->mFaceMappingChanged || volume->mVolumeChanged) + if (!mUpdated || volume->mFaceMappingChanged || volume->mVolumeChanged || rotated) { doFlexibleRebuild(); volume->genBBoxes(isVolumeGlobal()); -- cgit v1.1