diff options
author | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2022-01-28 17:51:29 +0000 |
---|---|---|
committer | Brad Payne (Vir Linden) <vir@lindenlab.com> | 2022-01-28 17:51:29 +0000 |
commit | 1049089dd1c2ad1cc7c610b7c49c5ec438e96c9f (patch) | |
tree | d8d7d5151138e74993ce06484634f6192bce3480 /indra | |
parent | 0bef5e553e5234b9373507341e3b001f4f4e54e7 (diff) |
SL-16715 - viewerstats, added more detail about failure cases in inventory
Diffstat (limited to 'indra')
-rw-r--r-- | indra/newview/llinventorymodel.cpp | 11 | ||||
-rw-r--r-- | indra/newview/llinventorymodel.h | 3 |
2 files changed, 13 insertions, 1 deletions
diff --git a/indra/newview/llinventorymodel.cpp b/indra/newview/llinventorymodel.cpp index bf07793e8b..b4fc832596 100644 --- a/indra/newview/llinventorymodel.cpp +++ b/indra/newview/llinventorymodel.cpp @@ -138,7 +138,10 @@ bool LLCanCache::operator()(LLInventoryCategory* cat, LLInventoryItem* item) LLInventoryValidationInfo::LLInventoryValidationInfo(): mFatalErrorCount(0), mWarningCount(0), - mInitialized(false) + mInitialized(false), + mFatalNoRootFolder(false), + mFatalNoLibraryRootFolder(false), + mFatalQADebugMode(false) { } @@ -160,6 +163,9 @@ void LLInventoryValidationInfo::asLLSD(LLSD& sd) const sd["warning_count"] = mWarningCount; sd["initialized"] = mInitialized; sd["missing_system_folders_count"] = LLSD::Integer(mMissingRequiredSystemFolders.size()); + sd["fatal_no_root_folder"] = mFatalNoRootFolder; + sd["fatal_no_library_root_folder"] = mFatalNoLibraryRootFolder; + sd["fatal_qa_debug_mode"] = mFatalQADebugMode; if (mMissingRequiredSystemFolders.size()>0) { sd["missing_system_folders"] = LLSD::emptyArray(); @@ -3850,11 +3856,13 @@ LLPointer<LLInventoryValidationInfo> LLInventoryModel::validate() const if (getRootFolderID().isNull()) { LL_WARNS("Inventory") << "Fatal inventory corruption: no root folder id" << LL_ENDL; + validation_info->mFatalNoRootFolder = true; fatalities++; } if (getLibraryRootFolderID().isNull()) { LL_WARNS("Inventory") << "Fatal inventory corruption: no library root folder id" << LL_ENDL; + validation_info->mFatalNoLibraryRootFolder = true; fatalities++; } @@ -4196,6 +4204,7 @@ LLPointer<LLInventoryValidationInfo> LLInventoryModel::validate() const // Force all counts to be either 0 or 2, thus flagged as an error. count_under_root = 2*distrib(e); count_elsewhere = 2*distrib(e); + validation_info->mFatalQADebugMode = true; } if (is_singleton) { diff --git a/indra/newview/llinventorymodel.h b/indra/newview/llinventorymodel.h index 403b86e318..e81652820f 100644 --- a/indra/newview/llinventorymodel.h +++ b/indra/newview/llinventorymodel.h @@ -69,6 +69,9 @@ public: S32 mFatalErrorCount; S32 mWarningCount; bool mInitialized; + bool mFatalNoRootFolder; + bool mFatalNoLibraryRootFolder; + bool mFatalQADebugMode; std::set<LLFolderType::EType> mMissingRequiredSystemFolders; std::set<LLFolderType::EType> mDuplicateRequiredSystemFolders; }; |