summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorBrad Payne (Vir Linden) <vir@lindenlab.com>2022-01-28 17:51:29 +0000
committerBrad Payne (Vir Linden) <vir@lindenlab.com>2022-01-28 17:51:29 +0000
commit1049089dd1c2ad1cc7c610b7c49c5ec438e96c9f (patch)
treed8d7d5151138e74993ce06484634f6192bce3480 /indra/newview
parent0bef5e553e5234b9373507341e3b001f4f4e54e7 (diff)
SL-16715 - viewerstats, added more detail about failure cases in inventory
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/llinventorymodel.cpp11
-rw-r--r--indra/newview/llinventorymodel.h3
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;
};