summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorandreykproductengine <akleshchev@productengine.com>2014-07-31 18:14:38 +0300
committerandreykproductengine <akleshchev@productengine.com>2014-07-31 18:14:38 +0300
commit4723375709313d99ec8243179e71a114322f810e (patch)
tree3da3e6a69c9c81d24bb41cf6ebcdf61139139ed6
parent21a0ea1209acc5f531e9ae7a477d0361f107aeee (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-xindra/newview/llinventorypanel.cpp15
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);
+ }
}
}