summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGilbert Gonzales <gilbert@lindenlab.com>2012-09-04 14:21:25 -0700
committerGilbert Gonzales <gilbert@lindenlab.com>2012-09-04 14:21:25 -0700
commitd41202336b7c797bc3fe4feffa8be2164518e845 (patch)
tree1606c95e9b8a9b768b8e8bbab49a274d2a7a1180
parent5c14f6e783c2581d0e4401d82581e7a5def99043 (diff)
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.
-rw-r--r--indra/newview/llinventorybridge.cpp12
-rw-r--r--indra/newview/llinventorymodel.cpp1
2 files changed, 3 insertions, 10 deletions
diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp
index 745375fe3d..72c54e5ce2 100644
--- a/indra/newview/llinventorybridge.cpp
+++ b/indra/newview/llinventorybridge.cpp
@@ -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);
}
}
diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp
index 0673970d89..e7d59d92d9 100644
--- a/indra/newview/llinventorymodel.cpp
+++ b/indra/newview/llinventorymodel.cpp
@@ -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())
{