MAINT-6685 [VOB] Outfit Image from an Outfit Gallery disappears after editing outfit
parent
74ec1116a2
commit
fc17f62335
|
|
@ -3113,6 +3113,14 @@ void appearance_mgr_update_dirty_state()
|
|||
{
|
||||
if (LLAppearanceMgr::instanceExists())
|
||||
{
|
||||
LLAppearanceMgr& app_mgr = LLAppearanceMgr::instance();
|
||||
LLUUID image_id = app_mgr.getOutfitImage();
|
||||
if(image_id.notNull())
|
||||
{
|
||||
LLPointer<LLInventoryCallback> cb = NULL;
|
||||
link_inventory_object(app_mgr.getBaseOutfitUUID(), image_id, cb);
|
||||
}
|
||||
|
||||
LLAppearanceMgr::getInstance()->updateIsDirty();
|
||||
LLAppearanceMgr::getInstance()->setOutfitLocked(false);
|
||||
gAgentWearables.notifyLoadingFinished();
|
||||
|
|
@ -3122,7 +3130,21 @@ void appearance_mgr_update_dirty_state()
|
|||
void update_base_outfit_after_ordering()
|
||||
{
|
||||
LLAppearanceMgr& app_mgr = LLAppearanceMgr::instance();
|
||||
|
||||
LLInventoryModel::cat_array_t sub_cat_array;
|
||||
LLInventoryModel::item_array_t outfit_item_array;
|
||||
gInventory.collectDescendents(app_mgr.getBaseOutfitUUID(),
|
||||
sub_cat_array,
|
||||
outfit_item_array,
|
||||
LLInventoryModel::EXCLUDE_TRASH);
|
||||
BOOST_FOREACH(LLViewerInventoryItem* outfit_item, outfit_item_array)
|
||||
{
|
||||
LLViewerInventoryItem* linked_item = outfit_item->getLinkedItem();
|
||||
if (linked_item != NULL && linked_item->getActualType() == LLAssetType::AT_TEXTURE)
|
||||
{
|
||||
app_mgr.setOutfitImage(linked_item->getLinkedUUID());
|
||||
}
|
||||
}
|
||||
|
||||
LLPointer<LLInventoryCallback> dirty_state_updater =
|
||||
new LLBoostFuncInventoryCallback(no_op_inventory_func, appearance_mgr_update_dirty_state);
|
||||
|
||||
|
|
|
|||
|
|
@ -185,6 +185,9 @@ public:
|
|||
|
||||
void wearBaseOutfit();
|
||||
|
||||
void setOutfitImage(const LLUUID& image_id) {mCOFImageID = image_id;}
|
||||
LLUUID getOutfitImage() {return mCOFImageID;}
|
||||
|
||||
// Overrides the base outfit with the content from COF
|
||||
// @return false if there is no base outfit
|
||||
bool updateBaseOutfit();
|
||||
|
|
@ -269,6 +272,8 @@ private:
|
|||
LLTimer mInFlightTimer;
|
||||
static bool mActive;
|
||||
|
||||
LLUUID mCOFImageID;
|
||||
|
||||
std::auto_ptr<LLOutfitUnLockTimer> mUnlockOutfitTimer;
|
||||
|
||||
// Set of temp attachment UUIDs that should be removed
|
||||
|
|
|
|||
Loading…
Reference in New Issue