diff options
author | andreykproductengine <akleshchev@productengine.com> | 2014-07-31 18:14:38 +0300 |
---|---|---|
committer | andreykproductengine <akleshchev@productengine.com> | 2014-07-31 18:14:38 +0300 |
commit | 4723375709313d99ec8243179e71a114322f810e (patch) | |
tree | 3da3e6a69c9c81d24bb41cf6ebcdf61139139ed6 | |
parent | 21a0ea1209acc5f531e9ae7a477d0361f107aeee (diff) |
MAINT-4290 FIXED [BEAR] Recent Items flashes badly and sometimes blanks out when any change is made to inventory and especially when inventory is fetching from a clean cache
-rwxr-xr-x | indra/newview/llinventorypanel.cpp | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/indra/newview/llinventorypanel.cpp b/indra/newview/llinventorypanel.cpp index adfdfebae7..4491ec8488 100755 --- a/indra/newview/llinventorypanel.cpp +++ b/indra/newview/llinventorypanel.cpp @@ -590,9 +590,20 @@ void LLInventoryPanel::modelChanged(U32 mask) } } - if ("Recent Items" == getName()) + if (mask & (LLInventoryObserver::STRUCTURE | LLInventoryObserver::REMOVE)) { - getFilter().setModified(); + // STRUCTURE and REMOVE model changes usually fail to update (clean) + // mMostFilteredDescendantGeneration of parent folder and dirtyFilter() + // is not sufficient for successful filter update, so we need to check + // all already passed element over again to remove obsolete elements. + // New items or moved items should be sufficiently covered by + // dirtyFilter(). + LLInventoryFilter& filter = getFilter(); + if (filter.getFilterTypes() & LLInventoryFilter::FILTERTYPE_DATE + || filter.isNotDefault()) + { + filter.setModified(LLFolderViewFilter::FILTER_MORE_RESTRICTIVE); + } } } |