From 6c034506c33b85c3c70898c8d7dc4097267eec0d Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Thu, 18 Apr 2019 16:02:24 -0400 Subject: [PATCH] Does this fix the issue with recent items not updating? --- indra/newview/llinventorypanel.cpp | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index a8a155436..b16879113 100644 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -562,6 +562,11 @@ void LLInventoryPanel::modelChanged(U32 mask) } // Singu note: Needed to propagate name change to wearables. view_item->nameOrDescriptionChanged(); + LLFolderViewFolder* parent = view_item->getParentFolder(); + if(parent) + { + parent->dirtyFilter(); + } } } @@ -629,11 +634,13 @@ void LLInventoryPanel::modelChanged(U32 mask) { // Add the UI element for this item. buildNewViews(item_id); + if (auto parent = view_item->getParentFolder()) parent->dirtyFilter(); // Select any newly created object that has the auto rename at top of folder root set. if(mFolderRoot.get()->getRoot()->needsAutoRename()) { setSelection(item_id, FALSE); } + //updateFolderLabel(model_item->getParentUUID()); } ////////////////////////////// @@ -645,6 +652,7 @@ void LLInventoryPanel::modelChanged(U32 mask) // Don't process the item if it is the root if (view_item->getRoot() != view_item) { + //auto* viewmodel_folder = old_parent->getListener(); LLFolderViewFolder* new_parent = (LLFolderViewFolder*)getItemByID(model_item->getParentUUID()); // Item has been moved. if (old_parent != new_parent) @@ -663,6 +671,7 @@ void LLInventoryPanel::modelChanged(U32 mask) setSelection(item_id, FALSE); } } + //updateFolderLabel(model_item->getParentUUID()); } else { @@ -674,6 +683,11 @@ void LLInventoryPanel::modelChanged(U32 mask) // doesn't include trash). Just remove the item's UI. view_item->destroyView(); } + /*if(viewmodel_folder) + { + updateFolderLabel(viewmodel_folder->getUUID()); + }*/ + old_parent->dirtyFilter(); } } } @@ -684,9 +698,18 @@ void LLInventoryPanel::modelChanged(U32 mask) else if (!model_item && view_item) { // Remove the item's UI. - //LLFolderViewFolder* parent = view_item->getParentFolder(); + LLFolderViewFolder* parent = view_item->getParentFolder(); removeItemID(view_item->getListener()->getUUID()); view_item->destroyView(); + if(parent) + { + parent->dirtyFilter(); + /*auto* viewmodel_folder = parent->getListener(); + if(viewmodel_folder) + { + updateFolderLabel(viewmodel_folder->getUUID()); + }*/ + } } } }