diff options
author | Aura Linden <aura@lindenlab.com> | 2015-10-13 16:44:20 -0700 |
---|---|---|
committer | Aura Linden <aura@lindenlab.com> | 2015-10-13 16:44:20 -0700 |
commit | 2f6166a5a4f8d5be679cef0699142c4ef061fb55 (patch) | |
tree | f45efe7e4c55c37dc097f15f8e0f445d86bfe972 /indra/newview/llfolderviewmodelinventory.cpp | |
parent | 8729f5d23a52263e55df5574c672c87d00b563bd (diff) | |
parent | a16a6034c25c5e78331ef1bd13485df8759456e5 (diff) |
Pulled merge from llinternal/bento-box.
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(); |