diff options
Diffstat (limited to 'indra/newview')
-rw-r--r-- | indra/newview/llappearancemgr.cpp | 5 | ||||
-rw-r--r-- | indra/newview/llinventoryfunctions.cpp | 20 |
2 files changed, 16 insertions, 9 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index a4dc0c341e..59bf418a00 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1702,8 +1702,6 @@ void LLAppearanceMgr::shallowCopyCategory(const LLUUID& src_id, const LLUUID& ds { parent_id = gInventory.getRootFolderID(); } - // USES UDP PATH - // D567 needs to carry over thumbnail info gInventory.createNewCategory( parent_id, LLFolderType::FT_NONE, @@ -1713,7 +1711,8 @@ void LLAppearanceMgr::shallowCopyCategory(const LLUUID& src_id, const LLUUID& ds LLAppearanceMgr::getInstance()->shallowCopyCategoryContents(src_id, new_id, cb); gInventory.notifyObservers(); - } + }, + src_cat->getThumbnailUUID() ); } diff --git a/indra/newview/llinventoryfunctions.cpp b/indra/newview/llinventoryfunctions.cpp index 00ff0e83c0..dd3750c152 100644 --- a/indra/newview/llinventoryfunctions.cpp +++ b/indra/newview/llinventoryfunctions.cpp @@ -1649,16 +1649,20 @@ void validate_marketplacelistings( gInventory.createNewCategory(parent_uuid, LLFolderType::FT_NONE, cat->getName(), - [cat_uuid, cb_result, cb_msg, fix_hierarchy, depth, notify_observers](const LLUUID &new_cat_id) + [cat_uuid, cb_result, cb_msg, fix_hierarchy, depth](const LLUUID &new_cat_id) { + if (new_cat_id.isNull()) + { + cb_result(0, false); + return; + } LLInventoryCategory * move_cat = gInventory.getCategory(cat_uuid); LLViewerInventoryCategory * viewer_cat = (LLViewerInventoryCategory *)(move_cat); LLInventoryCategory * new_cat = gInventory.getCategory(new_cat_id); gInventory.changeCategoryParent(viewer_cat, new_cat_id, false); S32 pending = 0; bool result = true; - // notify_observers probably should be true in such case? - validate_marketplacelistings(new_cat, cb_result, cb_msg, fix_hierarchy, depth + 1, notify_observers, pending, result); + validate_marketplacelistings(new_cat, cb_result, cb_msg, fix_hierarchy, depth + 1, true, pending, result); cb_result(pending, result); } ); @@ -2306,8 +2310,11 @@ bool can_share_item(const LLUUID& item_id) LLMarketplaceValidator::LLMarketplaceValidator() + : mPendingCallbacks(0) + , mValidationInProgress(false) { } + LLMarketplaceValidator::~LLMarketplaceValidator() { } @@ -2335,7 +2342,7 @@ void LLMarketplaceValidator::start() return; } mValidationInProgress = true; - mPendingCallbacks = 1; // do '1' in case something decides ro callback immediately + mPendingCallbacks = 1; // do '1' in case something decides to callback immediately const ValidationRequest &first = mValidationQueue.front(); LLViewerInventoryCategory* cat = gInventory.getCategory(first.mCategoryId); @@ -2358,6 +2365,7 @@ void LLMarketplaceValidator::start() } }; + S32 pending_calbacks = 0; validate_marketplacelistings( cat, result_callback, @@ -2365,10 +2373,10 @@ void LLMarketplaceValidator::start() first.mFixHierarchy, first.mDepth, true, - mPendingCallbacks, + pending_calbacks, mPendingResult); - result_callback(mPendingCallbacks, mPendingResult); + result_callback(pending_calbacks, mPendingResult); } LLMarketplaceValidator::ValidationRequest::ValidationRequest( |