From 38ce446a02375a46db08c1e1176ec4c9c60e3814 Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Thu, 17 Dec 2020 15:23:04 +0000 Subject: SL-14570 - detailed breakdown of system folder issues in inventory validation. More info about expected state of system folders in llfoldertype --- indra/newview/llstartup.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'indra/newview/llstartup.cpp') diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 17777c3ceb..603f790815 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -1807,6 +1807,13 @@ bool idle_startup() // This method MUST be called before gInventory.findCategoryUUIDForType because of // gInventory.mIsAgentInvUsable is set to true in the gInventory.buildParentChildMap. gInventory.buildParentChildMap(); + + // If inventory is unusable, need to flag this and + // bail out. In particular, must not trigger creation of new system + // categories. + LLPointer validation_info = gInventory.validate(); + // FIXME add handling of unfixable corruption here - need to exit and get support to fix. + gInventory.createCommonSystemCategories(); // It's debatable whether this flag is a good idea - sets all @@ -1850,6 +1857,10 @@ bool idle_startup() display_startup(); LLStartUp::setStartupState( STATE_MISC ); display_startup(); + + // Update status check after various system folders created. + validation_info = gInventory.validate(); + return FALSE; } -- cgit v1.2.3 From 9156c22f73b6706a3f480d0fd72ed04a7de8187b Mon Sep 17 00:00:00 2001 From: "Brad Payne (Vir Linden)" Date: Thu, 17 Dec 2020 20:33:19 +0000 Subject: SL-14570 - error reporting and prevention --- indra/newview/llstartup.cpp | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'indra/newview/llstartup.cpp') diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp index 603f790815..51a96b2b10 100644 --- a/indra/newview/llstartup.cpp +++ b/indra/newview/llstartup.cpp @@ -1808,11 +1808,11 @@ bool idle_startup() // gInventory.mIsAgentInvUsable is set to true in the gInventory.buildParentChildMap. gInventory.buildParentChildMap(); - // If inventory is unusable, need to flag this and - // bail out. In particular, must not trigger creation of new system - // categories. - LLPointer validation_info = gInventory.validate(); - // FIXME add handling of unfixable corruption here - need to exit and get support to fix. + // If buildParentChildMap succeeded, inventory will now be in + // a usable state and gInventory.isInventoryUsable() will be + // true. + + // FIXME if inventory is unusable, we need to bail out. gInventory.createCommonSystemCategories(); @@ -1858,9 +1858,6 @@ bool idle_startup() LLStartUp::setStartupState( STATE_MISC ); display_startup(); - // Update status check after various system folders created. - validation_info = gInventory.validate(); - return FALSE; } -- cgit v1.2.3