merge.
commit
1f5320e214
|
|
@ -2300,7 +2300,7 @@ public:
|
|||
|
||||
virtual ~LLLibraryOutfitsCopyDone()
|
||||
{
|
||||
if (!!LLApp::isExiting() && mLibraryOutfitsFetcher)
|
||||
if (!LLApp::isExiting() && mLibraryOutfitsFetcher)
|
||||
{
|
||||
gInventory.addObserver(mLibraryOutfitsFetcher);
|
||||
mLibraryOutfitsFetcher->done();
|
||||
|
|
|
|||
|
|
@ -279,7 +279,7 @@ public:
|
|||
|
||||
virtual ~LLUpdateAppearanceOnDestroy()
|
||||
{
|
||||
if (!!LLApp::isExiting())
|
||||
if (!LLApp::isExiting())
|
||||
{
|
||||
LLAppearanceManager::instance().updateAppearanceFromCOF();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1845,21 +1845,6 @@ bool idle_startup()
|
|||
{
|
||||
F32 timeout_frac = timeout.getElapsedTimeF32()/PRECACHING_DELAY;
|
||||
|
||||
// We now have an inventory skeleton, so if this is a user's first
|
||||
// login, we can start setting up their clothing and avatar
|
||||
// appearance. This helps to avoid the generic "Ruth" avatar in
|
||||
// the orientation island tutorial experience. JC
|
||||
if (gAgent.isFirstLogin()
|
||||
&& !sInitialOutfit.empty() // registration set up an outfit
|
||||
&& !sInitialOutfitGender.empty() // and a gender
|
||||
&& gAgent.getAvatarObject() // can't wear clothes without object
|
||||
&& !gAgent.isGenderChosen() ) // nothing already loading
|
||||
{
|
||||
// Start loading the wearables, textures, gestures
|
||||
LLStartUp::loadInitialOutfit( sInitialOutfit, sInitialOutfitGender );
|
||||
}
|
||||
|
||||
|
||||
// We now have an inventory skeleton, so if this is a user's first
|
||||
// login, we can start setting up their clothing and avatar
|
||||
// appearance. This helps to avoid the generic "Ruth" avatar in
|
||||
|
|
@ -2536,6 +2521,11 @@ bool callback_choose_gender(const LLSD& notification, const LLSD& response)
|
|||
void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name,
|
||||
const std::string& gender_name )
|
||||
{
|
||||
// Not going through the processAgentInitialWearables path, so need to set this here.
|
||||
LLAppearanceManager::instance().setAttachmentInvLinkEnable(true);
|
||||
// Initiate creation of COF, since we're also bypassing that.
|
||||
gInventory.findCategoryUUIDForType(LLFolderType::FT_CURRENT_OUTFIT);
|
||||
|
||||
S32 gender = 0;
|
||||
std::string gestures;
|
||||
if (gender_name == "male")
|
||||
|
|
@ -2554,7 +2544,7 @@ void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name,
|
|||
LLInventoryModel::cat_array_t cat_array;
|
||||
LLInventoryModel::item_array_t item_array;
|
||||
LLNameCategoryCollector has_name(outfit_folder_name);
|
||||
gInventory.collectDescendentsIf(LLUUID::null,
|
||||
gInventory.collectDescendentsIf(gInventory.getLibraryRootFolderID(),
|
||||
cat_array,
|
||||
item_array,
|
||||
LLInventoryModel::EXCLUDE_TRASH,
|
||||
|
|
@ -2565,7 +2555,10 @@ void LLStartUp::loadInitialOutfit( const std::string& outfit_folder_name,
|
|||
}
|
||||
else
|
||||
{
|
||||
LLAppearanceManager::instance().wearOutfitByName(outfit_folder_name);
|
||||
LLInventoryCategory* cat = cat_array.get(0);
|
||||
bool do_copy = true;
|
||||
bool do_append = false;
|
||||
LLAppearanceManager::instance().wearInventoryCategory(cat, do_copy, do_append);
|
||||
}
|
||||
LLAppearanceManager::instance().wearOutfitByName(gestures);
|
||||
LLAppearanceManager::instance().wearOutfitByName(COMMON_GESTURES_FOLDER);
|
||||
|
|
|
|||
Loading…
Reference in New Issue