diff options
author | Oz Linden <oz@lindenlab.com> | 2015-10-13 09:49:57 -0400 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2015-10-13 09:49:57 -0400 |
commit | 90c26759ef5fe1f35bcda82f444e647d07c28fc6 (patch) | |
tree | 5f0d669d275be58fa7543cb1a826b3036c031c13 /indra/newview/llfolderviewmodelinventory.cpp | |
parent | 4d81570d62bc9d746565083ef18fdc16c198a5dc (diff) | |
parent | 4312629e7c5749b86add9d42e6e550602f34dbf5 (diff) |
merge changes for 3.8.5-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(); |