From d41202336b7c797bc3fe4feffa8be2164518e845 Mon Sep 17 00:00:00 2001
From: Gilbert Gonzales <gilbert@lindenlab.com>
Date: Tue, 4 Sep 2012 14:21:25 -0700
Subject: 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.

---
 indra/newview/llinventorybridge.cpp | 12 ++----------
 indra/newview/llinventorymodel.cpp  |  1 +
 2 files changed, 3 insertions(+), 10 deletions(-)

(limited to 'indra')

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())
 		{
-- 
cgit v1.2.3