summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorNyx Linden <nyx@lindenlab.com>2013-03-01 19:40:06 -0500
committerNyx Linden <nyx@lindenlab.com>2013-03-01 19:40:06 -0500
commita0a9a60e283bf5e9a19551e359c154d3d20b3f2d (patch)
treeaf85b743e4be02b5c82c998b232367fb96b2fbd6 /indra/newview
parent3e5599a827238faa4fcccfad9702428ce4ea6f46 (diff)
parent312b2563548c19837707b6598932d8ef19430f73 (diff)
merge
Diffstat (limited to 'indra/newview')
-rwxr-xr-xindra/newview/llappearancemgr.cpp9
-rwxr-xr-xindra/newview/llinventorymodel.cpp11
-rwxr-xr-x[-rw-r--r--]indra/newview/llstartup.cpp4
-rwxr-xr-xindra/newview/llvoavatarself.cpp50
4 files changed, 45 insertions, 29 deletions
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;
}
}