diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 6972d4ec983cb75fa6a96e2369f1e93dbaa26985..61d60fdff96d76cd872e71788cb9ed8a4c7bfcbb 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -322,7 +322,15 @@ LLWearableHoldingPattern::~LLWearableHoldingPattern() bool LLWearableHoldingPattern::isDone() { - return (mResolved >= (S32)mFoundList.size()); + if (mResolved >= (S32)mFoundList.size()) + return true; // have everything we were waiting for + else if (isTimedOut()) + { + llwarns << "Exceeded max wait time, updating appearance based on what has arrived" << llendl; + return true; + } + return false; + } bool LLWearableHoldingPattern::isTimedOut() @@ -369,16 +377,8 @@ bool LLWearableHoldingPattern::pollCompletion() } delete this; - return done; } - else if (isTimedOut()) - { - llwarns << "wearables taking too long to fetch for outfit, retrying updateAppearanceFromCOF()." << llendl; - delete this; - LLAppearanceManager::instance().updateAppearanceFromCOF(); - return true; - } - return false; + return done; } static void removeDuplicateItems(LLInventoryModel::item_array_t& items)