diff options
| author | Nyx Linden <nyx@lindenlab.com> | 2013-03-01 19:40:06 -0500 | 
|---|---|---|
| committer | Nyx Linden <nyx@lindenlab.com> | 2013-03-01 19:40:06 -0500 | 
| commit | a0a9a60e283bf5e9a19551e359c154d3d20b3f2d (patch) | |
| tree | af85b743e4be02b5c82c998b232367fb96b2fbd6 | |
| parent | 3e5599a827238faa4fcccfad9702428ce4ea6f46 (diff) | |
| parent | 312b2563548c19837707b6598932d8ef19430f73 (diff) | |
merge
| -rwxr-xr-x | indra/llappearance/llwearable.cpp | 2 | ||||
| -rwxr-xr-x | indra/newview/llappearancemgr.cpp | 9 | ||||
| -rwxr-xr-x | indra/newview/llinventorymodel.cpp | 11 | ||||
| -rwxr-xr-x[-rw-r--r--] | indra/newview/llstartup.cpp | 4 | ||||
| -rwxr-xr-x | indra/newview/llvoavatarself.cpp | 50 | 
5 files changed, 46 insertions, 30 deletions
| diff --git a/indra/llappearance/llwearable.cpp b/indra/llappearance/llwearable.cpp index 9fb8b7749f..4028c1dfad 100755 --- a/indra/llappearance/llwearable.cpp +++ b/indra/llappearance/llwearable.cpp @@ -455,7 +455,7 @@ BOOL LLWearable::getNextPopulatedLine(std::istream& input_stream, char* buffer,  	}  	while (input_stream.good() && buffer[0]=='\0'); -	return input_stream.good();  +	return (buffer[0] != '\0');   } diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 6c3858b947..d8ba4239b7 100755 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -3658,9 +3658,9 @@ public:  	}  	virtual void done()  	{ -		// What we do here is get the complete information on the items in -		// the library, and set up an observer that will wait for that to -		// happen. +		// What we do here is get the complete information on the +		// items in the requested category, and set up an observer +		// that will wait for that to happen.  		LLInventoryModel::cat_array_t cat_array;  		LLInventoryModel::item_array_t item_array;  		gInventory.collectDescendents(mComplete.front(), @@ -3674,9 +3674,8 @@ public:  					<< llendl;  			//dec_busy_count();  			gInventory.removeObserver(this); +			doOnIdleOneTime(mCallable); -			// lets notify observers that loading is finished. -			gAgentWearables.notifyLoadingFinished();  			delete this;  			return;  		} diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index f0bfc68866..ac1f40b486 100755 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -1922,18 +1922,7 @@ bool LLInventoryModel::loadSkeleton(  			for(cat_set_t::iterator it = temp_cats.begin(); it != temp_cats.end(); ++it)  			{  				LLViewerInventoryCategory *llvic = (*it); -#if 0  				llvic->setVersion(NO_VERSION); -#else // SH-3860 WIP -				if (llvic->getPreferredType()==LLFolderType::FT_CURRENT_OUTFIT && llvic->getVersion()==1) -				{ -					llinfos << "preserving empty COF for first-time login" << llendl; -				} -				else -				{ -					llvic->setVersion(NO_VERSION); -				} -#endif  				addCategory(*it);  			}  		} diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 717f578ddb..156aa25274 100644..100755 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -2580,13 +2580,9 @@ void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name,  		bool do_copy = true;  		bool do_append = false;  		LLViewerInventoryCategory *cat = gInventory.getCategory(cat_id); -#if 0 // SH-3860 WIP  		// Need to fetch cof contents before we can wear.  		callAfterCategoryFetch(LLAppearanceMgr::instance().getCOF(),  							   boost::bind(&LLAppearanceMgr::wearInventoryCategory, LLAppearanceMgr::getInstance(), cat, do_copy, do_append)); -#else -		LLAppearanceMgr::instance().wearInventoryCategory(cat, do_copy, do_append); -#endif  		lldebugs << "initial outfit category id: " << cat_id << llendl;  	} diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index c069488a37..d3c91f3339 100755 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -1946,19 +1946,41 @@ void LLVOAvatarSelf::dumpTotalLocalTextureByteCount()  BOOL LLVOAvatarSelf::getIsCloud() const  { +	// Let people know why they're clouded without spamming them into oblivion. +	bool do_warn = false; +	static LLTimer time_since_notice; +	F32 update_freq = 30.0; +	if (time_since_notice.getElapsedTimeF32() > update_freq) +	{ +		time_since_notice.reset(); +		do_warn = true; +	} +	  	// do we have our body parts? -	if (gAgentWearables.getWearableCount(LLWearableType::WT_SHAPE) == 0 || -		gAgentWearables.getWearableCount(LLWearableType::WT_HAIR) == 0 || -		gAgentWearables.getWearableCount(LLWearableType::WT_EYES) == 0 || -		gAgentWearables.getWearableCount(LLWearableType::WT_SKIN) == 0)	 +	S32 shape_count = gAgentWearables.getWearableCount(LLWearableType::WT_SHAPE); +	S32 hair_count = gAgentWearables.getWearableCount(LLWearableType::WT_HAIR); +	S32 eye_count = gAgentWearables.getWearableCount(LLWearableType::WT_EYES); +	S32 skin_count = gAgentWearables.getWearableCount(LLWearableType::WT_SKIN); +	if (!shape_count || !hair_count || !eye_count || !skin_count)  	{ -		lldebugs << "No body parts" << llendl; +		if (do_warn) +		{ +			llinfos << "Self is clouded due to missing one or more required body parts: " +					<< (shape_count ? "" : "SHAPE ") +					<< (hair_count ? "" : "HAIR ") +					<< (eye_count ? "" : "EYES ") +					<< (skin_count ? "" : "SKIN ") +					<< llendl; +		}  		return TRUE;  	}  	if (!isTextureDefined(TEX_HAIR, 0))  	{ -		lldebugs << "No hair texture" << llendl; +		if (do_warn) +		{ +			llinfos << "Self is clouded because of no hair texture" << llendl; +		}  		return TRUE;  	} @@ -1967,14 +1989,20 @@ BOOL LLVOAvatarSelf::getIsCloud() const  		if (!isLocalTextureDataAvailable(getLayerSet(BAKED_LOWER)) &&  			(!isTextureDefined(TEX_LOWER_BAKED, 0)))  		{ -			lldebugs << "Lower textures not baked" << llendl; +			if (do_warn) +			{ +				llinfos << "Self is clouded because lower textures not baked" << llendl; +			}  			return TRUE;  		}  		if (!isLocalTextureDataAvailable(getLayerSet(BAKED_UPPER)) &&  			(!isTextureDefined(TEX_UPPER_BAKED, 0)))  		{ -			lldebugs << "Upper textures not baked" << llendl; +			if (do_warn) +			{ +				llinfos << "Self is clouded because upper textures not baked" << llendl; +			}  			return TRUE;  		} @@ -1991,7 +2019,11 @@ BOOL LLVOAvatarSelf::getIsCloud() const  			const LLViewerTexture* baked_img = getImage( texture_data.mTextureIndex, 0 );  			if (!baked_img || !baked_img->hasGLTexture())  			{ -				lldebugs << "Texture at index " << i << " (texture index is " << texture_data.mTextureIndex << ") is not loaded" << llendl; +				if (do_warn) +				{ +					llinfos << "Self is clouded because texture at index " << i +							<< " (texture index is " << texture_data.mTextureIndex << ") is not loaded" << llendl; +				}  				return TRUE;  			}  		} | 
