diff options
author | maxim_productengine <mnikolenko@productengine.com> | 2019-09-09 17:47:01 +0300 |
---|---|---|
committer | maxim_productengine <mnikolenko@productengine.com> | 2019-09-09 17:47:01 +0300 |
commit | 645508e4e197755541a44ee3f3ee8d2ba7c8b0c8 (patch) | |
tree | 7d860af9201b237cdee43c932e25e314380900c7 /indra/newview/llappearancemgr.cpp | |
parent | bdf6956799c9d9dfe48a39d464b6301454d4adcc (diff) |
SL-11903 FIXED Crash in LLAppearanceMgr::slamCategoryLinks
Diffstat (limited to 'indra/newview/llappearancemgr.cpp')
-rw-r--r-- | indra/newview/llappearancemgr.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/indra/newview/llappearancemgr.cpp b/indra/newview/llappearancemgr.cpp index 22bcbad7da..18c0cedba8 100644 --- a/indra/newview/llappearancemgr.cpp +++ b/indra/newview/llappearancemgr.cpp @@ -1713,6 +1713,24 @@ void LLAppearanceMgr::slamCategoryLinks(const LLUUID& src_id, const LLUUID& dst_ LLInventoryModel::item_array_t* items; LLSD contents = LLSD::emptyArray(); gInventory.getDirectDescendentsOf(src_id, cats, items); + if (!cats || !items) + { + // NULL means the call failed -- cats/items map doesn't exist (note: this does NOT mean + // that the cat just doesn't have any items or subfolders). + LLViewerInventoryCategory* category = gInventory.getCategory(src_id); + if (category) + { + LL_WARNS() << "Category '" << category->getName() << "' descendents corrupted, linking content failed." << LL_ENDL; + } + else + { + LL_WARNS() << "Category could not be retrieved, linking content failed." << LL_ENDL; + } + llassert(cats != NULL && items != NULL); + + return; + } + LL_INFOS() << "copying " << items->size() << " items" << LL_ENDL; for (LLInventoryModel::item_array_t::const_iterator iter = items->begin(); iter != items->end(); |