diff options
-rwxr-xr-x | indra/llui/llfloater.cpp | 11 | ||||
-rwxr-xr-x | indra/newview/llvovolume.cpp | 15 |
2 files changed, 16 insertions, 10 deletions
diff --git a/indra/llui/llfloater.cpp b/indra/llui/llfloater.cpp index 93eca8b62e..f8b01e106b 100755 --- a/indra/llui/llfloater.cpp +++ b/indra/llui/llfloater.cpp @@ -716,22 +716,17 @@ void LLFloater::closeFloater(bool app_quitting) if (!app_quitting) { if ( mVerifyUponClose && !mForceCloseAfterVerify ) - { - - llinfos<<"prep#dogshit1"<<llendl; + { onClose( app_quitting ); if ( mForceCloseAfterVerify ) - { - - llinfos<<"prep#dogshit1b"<<llendl; + { return; } } } if (app_quitting) - { - llinfos<<"prep#dogshit2"<<llendl; + { LLFloater::sQuitting = true; } diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp index 8730ef66bb..b7f7a11a15 100755 --- a/indra/newview/llvovolume.cpp +++ b/indra/newview/llvovolume.cpp @@ -76,6 +76,7 @@ #include "llviewershadermgr.h" #include "llvoavatar.h" #include "llvocache.h" +#include "llappearancemgr.h" const S32 MIN_QUIET_FRAMES_COALESCE = 30; const F32 FORCE_SIMPLE_RENDER_AREA = 512.f; @@ -4239,6 +4240,8 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group) { LLFastTimer t(FTM_REBUILD_VOLUME_FACE_LIST); + bool requiredAppearanceUpdate = false; + //get all the faces into a list for (LLSpatialGroup::element_iter drawable_iter = group->getDataBegin(); drawable_iter != group->getDataEnd(); ++drawable_iter) { @@ -4337,6 +4340,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group) const int jointCnt = pSkinData->mJointNames.size(); const F32 pelvisZOffset = pSkinData->mPelvisOffset; bool fullRig = (jointCnt>=20) ? true : false; + requiredAppearanceUpdate = true; if ( fullRig ) { for ( int i=0; i<jointCnt; ++i ) @@ -4361,12 +4365,14 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group) pelvisGotSet = true; } } - } + } } } } } - } + } + + //If we've set the pelvis to a new position we need to also rebuild some information that the //viewer does at launch (e.g. body size etc.) if ( pelvisGotSet ) @@ -4606,6 +4612,11 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group) drawablep->clearState(LLDrawable::RIGGED); } } + + if ( requiredAppearanceUpdate && gAgent.getRegion() && gAgent.getRegion()->getCentralBakeVersion() ) + { + LLAppearanceMgr::instance().requestServerAppearanceUpdate(); + } } group->mBufferUsage = useage; |