diff options
author | Rider Linden <rider@lindenlab.com> | 2015-10-19 12:03:08 -0700 |
---|---|---|
committer | Rider Linden <rider@lindenlab.com> | 2015-10-19 12:03:08 -0700 |
commit | 53b947e0397d6b88fdc6c0a10144e5a6d02a67d3 (patch) | |
tree | 38c94f216386ba6653e8152d9db0198807f4f2cc /indra/newview/llfolderviewmodelinventory.cpp | |
parent | ed7963bad14abd628fa60d0d5baf357f1858c48c (diff) | |
parent | 4312629e7c5749b86add9d42e6e550602f34dbf5 (diff) |
Merge from viewer release.
Diffstat (limited to 'indra/newview/llfolderviewmodelinventory.cpp')
-rwxr-xr-x | indra/newview/llfolderviewmodelinventory.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/indra/newview/llfolderviewmodelinventory.cpp b/indra/newview/llfolderviewmodelinventory.cpp index 44eda4d6c0..e9f80b795a 100755 --- a/indra/newview/llfolderviewmodelinventory.cpp +++ b/indra/newview/llfolderviewmodelinventory.cpp @@ -109,6 +109,29 @@ bool LLFolderViewModelInventory::contentsReady() return !LLInventoryModelBackgroundFetch::instance().folderFetchActive(); } +bool LLFolderViewModelInventory::isFolderComplete(LLFolderViewFolder* folder) +{ + LLFolderViewModelItemInventory* modelp = static_cast<LLFolderViewModelItemInventory*>(folder->getViewModelItem()); + LLUUID cat_id = modelp->getUUID(); + if (cat_id.isNull()) + { + return false; + } + LLViewerInventoryCategory* cat = gInventory.getCategory(cat_id); + if (cat) + { + // don't need to check version - descendents_server == -1 if we have no data + S32 descendents_server = cat->getDescendentCount(); + S32 descendents_actual = cat->getViewerDescendentCount(); + if (descendents_server == descendents_actual + || (descendents_actual > 0 && descendents_server == -1)) // content was loaded in previous session + { + return true; + } + } + return false; +} + void LLFolderViewModelItemInventory::requestSort() { LLFolderViewModelItemCommon::requestSort(); |