Skip to content
Snippets Groups Projects
Commit 855f5390 authored by Andrey Kleshchev's avatar Andrey Kleshchev
Browse files

SL-16799 Clean up use of hardcoded folder names

parent 26e03f0c
No related branches found
No related tags found
No related merge requests found
......@@ -116,7 +116,7 @@ void LLAlignedArray<T, alignment>::resize(U32 size)
template <class T, U32 alignment>
T& LLAlignedArray<T, alignment>::operator[](int idx)
{
if(idx >= mElementCount)
if(idx >= mElementCount || idx < 0)
{
LL_ERRS() << "Out of bounds LLAlignedArray, requested: " << (S32)idx << " size: " << mElementCount << LL_ENDL;
}
......@@ -126,7 +126,7 @@ T& LLAlignedArray<T, alignment>::operator[](int idx)
template <class T, U32 alignment>
const T& LLAlignedArray<T, alignment>::operator[](int idx) const
{
if (idx >= mElementCount)
if (idx >= mElementCount || idx < 0)
{
LL_ERRS() << "Out of bounds LLAlignedArray, requested: " << (S32)idx << " size: " << mElementCount << LL_ENDL;
}
......
......@@ -327,22 +327,63 @@ void LLFriendCardsManager::syncFriendCardsFolders()
/************************************************************************/
/* Private Methods */
/************************************************************************/
const LLUUID& LLFriendCardsManager::findFriendFolderUUIDImpl() const
const LLUUID& LLFriendCardsManager::findFirstCallingCardSubfolder(const LLUUID &parent_id) const
{
const LLUUID callingCardsFolderID = gInventory.findCategoryUUIDForType(LLFolderType::FT_CALLINGCARD);
if (parent_id.isNull())
{
return LLUUID::null;
}
std::string friendFolderName = get_friend_folder_name();
LLInventoryModel::cat_array_t* cats;
LLInventoryModel::item_array_t* items;
gInventory.getDirectDescendentsOf(parent_id, cats, items);
return findChildFolderUUID(callingCardsFolderID, friendFolderName);
if (!cats || !items || cats->size() == 0)
{
// call failed
return LLUUID::null;
}
if (cats->size() > 1)
{
const LLViewerInventoryCategory* friendFolder = gInventory.getCategory(parent_id);
if (friendFolder)
{
LL_WARNS_ONCE() << friendFolder->getName() << " folder contains more than one folder" << LL_ENDL;
}
}
for (LLInventoryModel::cat_array_t::const_iterator iter = cats->begin();
iter != cats->end();
++iter)
{
const LLInventoryCategory* category = (*iter);
if (category->getPreferredType() == LLFolderType::FT_CALLINGCARD)
{
return category->getUUID();
}
}
return LLUUID::null;
}
const LLUUID& LLFriendCardsManager::findFriendAllSubfolderUUIDImpl() const
// Inventorry ->
// Calling Cards - >
// Friends - > (the only expected folder)
// All (the only expected folder)
const LLUUID& LLFriendCardsManager::findFriendFolderUUIDImpl() const
{
LLUUID friendFolderUUID = findFriendFolderUUIDImpl();
const LLUUID callingCardsFolderID = gInventory.findCategoryUUIDForType(LLFolderType::FT_CALLINGCARD);
return findFirstCallingCardSubfolder(callingCardsFolderID);
}
std::string friendAllSubfolderName = get_friend_all_subfolder_name();
const LLUUID& LLFriendCardsManager::findFriendAllSubfolderUUIDImpl() const
{
LLUUID friendFolderUUID = findFriendFolderUUIDImpl();
return findChildFolderUUID(friendFolderUUID, friendAllSubfolderName);
return findFirstCallingCardSubfolder(friendFolderUUID);
}
const LLUUID& LLFriendCardsManager::findChildFolderUUID(const LLUUID& parentFolderUUID, const std::string& nonLocalizedName) const
......
......@@ -116,6 +116,7 @@ class LLFriendCardsManager
}
const LLUUID& findChildFolderUUID(const LLUUID& parentFolderUUID, const std::string& nonLocalizedName) const;
const LLUUID& findFirstCallingCardSubfolder(const LLUUID &parent_id) const;
const LLUUID& findFriendFolderUUIDImpl() const;
const LLUUID& findFriendAllSubfolderUUIDImpl() const;
const LLUUID& findFriendCardInventoryUUIDImpl(const LLUUID& avatarID);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment