CHUI-303: Problem was that the prior solution only updated (using dirtyFilter()) the inventory window that the paste occurred in. Resolution: Now each inventory window calls dirtyFilter(), which then determines visibility of the pasted item.

meow-7.2.2
Gilbert Gonzales 2012-09-04 14:21:25 -07:00
parent 5c14f6e783
commit d41202336b
2 changed files with 3 additions and 10 deletions

View File

@ -3193,16 +3193,8 @@ void LLFolderBridge::pasteFromClipboard()
LLViewerInventoryCategory* vicat = (LLViewerInventoryCategory *) model->getCategory(item_id);
llassert(vicat);
if (vicat)
{
//Set the pasted folder to dirty, could do this in changeCategoryParent() but only need to set dirty
//when pasting from the clipboard. Setting dirty allows updating the filter state, which determines
//visibility in the new pasted location.
LLFolderViewFolder * folderViewItem = mInventoryPanel.get() ? mInventoryPanel.get()->getFolderByID(item_id) : NULL;
if(folderViewItem && folderViewItem->getViewModelItem())
{
folderViewItem->getViewModelItem()->dirtyFilter();
}
{
//changeCategoryParent() implicity calls dirtyFilter
changeCategoryParent(model, vicat, parent_id, FALSE);
}
}

View File

@ -986,6 +986,7 @@ void LLInventoryModel::updateCategory(const LLViewerInventoryCategory* cat)
cat_array->put(old_cat);
}
mask |= LLInventoryObserver::STRUCTURE;
mask |= LLInventoryObserver::INTERNAL;
}
if(old_cat->getName() != cat->getName())
{