summaryrefslogtreecommitdiff
path: root/indra/newview/llinventorypanel.cpp
diff options
context:
space:
mode:
authorRichard Linden <none@none>2012-08-02 20:45:52 -0700
committerRichard Linden <none@none>2012-08-02 20:45:52 -0700
commitfaac868b682360df1bf461624667cc6e0bbdd8c6 (patch)
tree7daafcbef279754acae7d62d5a88513437e37b5d /indra/newview/llinventorypanel.cpp
parent88e81f99293c992944787289699bf885568bf327 (diff)
CHUI-223 FIX Selecting to cut an inventory item causes all open inventory windows to refresh
Diffstat (limited to 'indra/newview/llinventorypanel.cpp')
-rw-r--r--indra/newview/llinventorypanel.cpp22
1 files changed, 19 insertions, 3 deletions
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp
index 9403ccdabe..b02d08955f 100644
--- a/indra/newview/llinventorypanel.cpp
+++ b/indra/newview/llinventorypanel.cpp
@@ -604,9 +604,25 @@ void LLInventoryPanel::idle(void* user_data)
if (panel->mClipboardState != LLClipboard::instance().getGeneration())
{
panel->mClipboardState = LLClipboard::instance().getGeneration();
- panel->getFilter().setModified(LLClipboard::instance().isCutMode()
- ? LLInventoryFilter::FILTER_MORE_RESTRICTIVE
- : LLInventoryFilter::FILTER_LESS_RESTRICTIVE);
+ if (LLClipboard::instance().isCutMode())
+ {
+ LLDynamicArray<LLUUID> objects;
+ LLClipboard::instance().pasteFromClipboard(objects);
+
+ for (LLDynamicArray<LLUUID>::iterator it = objects.begin(), end_it = objects.end();
+ it != end_it;
+ ++it)
+ {
+ LLFolderViewItem* item = panel->getItemByID(*it);
+ if (item)
+ {
+ item->getViewModelItem()->dirtyFilter();
+ }
+ }
+ /*panel->getFilter().setModified(LLClipboard::instance().isCutMode()
+ ? LLInventoryFilter::FILTER_MORE_RESTRICTIVE
+ : LLInventoryFilter::FILTER_LESS_RESTRICTIVE);*/
+ }
}
panel->mFolderRoot->update();