Removal of discarded inventory offers moved to deferred (idle) tick. Nested gInventory.notifyObservers() don't work.
This commit is contained in:
@@ -3548,6 +3548,28 @@ void LLInventoryModel::processMoveInventoryItem(LLMessageSystem* msg, void**)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void LLInventoryModel::removeItem(const LLUUID& item_id)
|
||||
{
|
||||
LLViewerInventoryItem* item = getItem(item_id);
|
||||
const LLUUID new_parent = findCategoryUUIDForType(LLFolderType::FT_TRASH);
|
||||
if(item && new_parent.notNull() && item->getParentUUID() != new_parent)
|
||||
{
|
||||
LLInventoryModel::update_list_t update;
|
||||
LLInventoryModel::LLCategoryUpdate old_folder(item->getParentUUID(), -1);
|
||||
update.push_back(old_folder);
|
||||
LLInventoryModel::LLCategoryUpdate new_folder(new_parent, 1);
|
||||
update.push_back(new_folder);
|
||||
accountForUpdate(update);
|
||||
|
||||
LLPointer<LLViewerInventoryItem> new_item = new LLViewerInventoryItem(item);
|
||||
new_item->setParent(new_parent);
|
||||
new_item->updateParentOnServer(TRUE);
|
||||
updateItem(new_item);
|
||||
notifyObservers();
|
||||
}
|
||||
}
|
||||
|
||||
const LLUUID &LLInventoryModel::getRootFolderID() const
|
||||
{
|
||||
return mRootFolderID;
|
||||
|
||||
Reference in New Issue
Block a user