diff options
Diffstat (limited to 'indra')
| -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; | 
