diff options
author | Monroe Linden <monroe@lindenlab.com> | 2010-06-02 14:58:42 -0700 |
---|---|---|
committer | Monroe Linden <monroe@lindenlab.com> | 2010-06-02 14:58:42 -0700 |
commit | 1e13fd9260696e10df05dcb81803649c805b95cd (patch) | |
tree | e3fced8c09815bf82a7f7e135faae9476ab1e036 | |
parent | c1aaca36aefff1154a2cd0069d46d466ce39b83a (diff) |
Partial fix for EXT-6255 (Fix ruthing/replacement wearables logic).
This change should make the logic for missing wearables match what's in the doc linked from the jira. It doesn't address the case of missing attachments, which will be more complicated.
Reviewed by Nyx and vir.
-rw-r--r-- | indra/newview/llappearancemgr.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 75ffb9f329..e6f363028a 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -276,12 +276,14 @@ void LLWearableHoldingPattern::checkMissingWearables() if (found_by_type[type] > 0) continue; if ( - // Need to recover if at least one wearable of that type - // was requested but none was found (prevent missing - // pants) - (requested_by_type[type] > 0) || - // or if type is a body part and no wearables were found. - ((type == LLWearableType::WT_SHAPE) || (type == LLWearableType::WT_SKIN) || (type == LLWearableType::WT_HAIR) || (type == LLWearableType::WT_EYES))) + // If at least one wearable of certain types (pants/shirt/skirt) + // was requested but none was found, create a default asset as a replacement. + // In all other cases, don't do anything. + // For critical types (shape/hair/skin/eyes), this will keep the avatar as a cloud + // due to logic in LLVOAvatarSelf::getIsCloud(). + // For non-critical types (tatoo, socks, etc.) the wearable will just be missing. + (requested_by_type[type] > 0) && + ((type == LLWearableType::WT_PANTS) || (type == LLWearableType::WT_SHIRT) || (type == LLWearableType::WT_SKIRT))) { mTypesToRecover.insert(type); mTypesToLink.insert(type); |