summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.clang-format6
-rw-r--r--indra/llcommon/llfile.cpp4
-rw-r--r--indra/llcommon/llfile.h8
-rw-r--r--indra/llfilesystem/lldiskcache.cpp58
-rw-r--r--indra/llfilesystem/lldiskcache.h14
-rw-r--r--indra/llfilesystem/llfilesystem.cpp64
-rw-r--r--indra/llfilesystem/llfilesystem.h14
-rw-r--r--indra/llui/llaccordionctrl.cpp115
-rw-r--r--indra/llui/llaccordionctrl.h26
-rw-r--r--indra/newview/llmeshrepository.cpp12
10 files changed, 99 insertions, 222 deletions
diff --git a/.clang-format b/.clang-format
index ee8a8a8c92..90124fb04b 100644
--- a/.clang-format
+++ b/.clang-format
@@ -40,7 +40,7 @@ CompactNamespaces: false
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
-Cpp11BracedListStyle: true
+Cpp11BracedListStyle: false
DeriveLineEnding: true
DerivePointerAlignment: false
DisableFormat: false
@@ -87,7 +87,7 @@ PenaltyBreakString: 1000
PenaltyBreakTemplateDeclaration: 10
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 1000
-PointerAlignment: Right
+PointerAlignment: Left
ReflowComments: true
SortIncludes: false
SortUsingDeclarations: true
@@ -95,7 +95,7 @@ SpaceAfterCStyleCast: true
SpaceAfterLogicalNot: false
SpaceAfterTemplateKeyword: true
SpaceBeforeAssignmentOperators: true
-SpaceBeforeCpp11BracedList: true
+SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatements
diff --git a/indra/llcommon/llfile.cpp b/indra/llcommon/llfile.cpp
index 9045324bf2..ed94ef21ef 100644
--- a/indra/llcommon/llfile.cpp
+++ b/indra/llcommon/llfile.cpp
@@ -293,7 +293,7 @@ int LLFile::rename(const std::string& filename, const std::string& newname, int
return warnif(STRINGIZE("rename to '" << newname << "' from"), filename, rc, supress_error);
}
-bool LLFile::copy(const std::string from, const std::string to)
+bool LLFile::copy(const std::string& from, const std::string& to)
{
bool copied = false;
LLFILE* in = LLFile::fopen(from, "rb"); /* Flawfinder: ignore */
@@ -424,7 +424,7 @@ LLFILE * LLFile::_Fiopen(const std::string& filename,
if (valid[n] == 0)
return (0); // no valid mode
- else if (norepflag && mode & (ios_base::out || ios_base::app)
+ else if (norepflag && mode & (ios_base::out | ios_base::app)
&& (fp = LLFile::fopen(filename, "r")) != 0) /* Flawfinder: ignore */
{ // file must not exist, close and fail
fclose(fp);
diff --git a/indra/llcommon/llfile.h b/indra/llcommon/llfile.h
index 74110343fc..1661cbeb55 100644
--- a/indra/llcommon/llfile.h
+++ b/indra/llcommon/llfile.h
@@ -77,7 +77,7 @@ public:
static int rmdir(const std::string& filename);
static int remove(const std::string& filename, int supress_error = 0);
static int rename(const std::string& filename,const std::string& newname, int supress_error = 0);
- static bool copy(const std::string from, const std::string to);
+ static bool copy(const std::string& from, const std::string& to);
static int stat(const std::string& filename,llstat* file_status);
static bool isdir(const std::string& filename);
@@ -160,7 +160,7 @@ private:
* Does The Right Thing when passed a non-ASCII pathname. Sadly, that isn't
* true of Microsoft's std::ifstream.
*/
-class LL_COMMON_API llifstream : public std::ifstream
+class LL_COMMON_API llifstream : public std::ifstream
{
// input stream associated with a C stream
public:
@@ -205,7 +205,7 @@ class LL_COMMON_API llifstream : public std::ifstream
* Right Thing when passed a non-ASCII pathname. Sadly, that isn't true of
* Microsoft's std::ofstream.
*/
-class LL_COMMON_API llofstream : public std::ofstream
+class LL_COMMON_API llofstream : public std::ofstream
{
public:
// Constructors:
@@ -241,7 +241,7 @@ class LL_COMMON_API llofstream : public std::ofstream
/**
- * @breif filesize helpers.
+ * @brief filesize helpers.
*
* The file size helpers are not considered particularly efficient,
* and should only be used for config files and the like -- not in a
diff --git a/indra/llfilesystem/lldiskcache.cpp b/indra/llfilesystem/lldiskcache.cpp
index e780387f4e..49904911a9 100644
--- a/indra/llfilesystem/lldiskcache.cpp
+++ b/indra/llfilesystem/lldiskcache.cpp
@@ -51,7 +51,7 @@ static const std::string CACHE_FILENAME_PREFIX("sl_cache");
std::string LLDiskCache::sCacheDir;
-LLDiskCache::LLDiskCache(const std::string cache_dir,
+LLDiskCache::LLDiskCache(const std::string& cache_dir,
const uintmax_t max_size_bytes,
const bool enable_cache_debug_info) :
mMaxSizeBytes(max_size_bytes),
@@ -196,59 +196,9 @@ void LLDiskCache::purge()
}
}
-const std::string LLDiskCache::assetTypeToString(LLAssetType::EType at)
+const std::string LLDiskCache::metaDataToFilepath(const LLUUID& id, LLAssetType::EType at)
{
- /**
- * Make use of the handy C++17 feature that allows
- * for inline initialization of an std::map<>
- */
- typedef std::map<LLAssetType::EType, std::string> asset_type_to_name_t;
- asset_type_to_name_t asset_type_to_name =
- {
- { LLAssetType::AT_TEXTURE, "TEXTURE" },
- { LLAssetType::AT_SOUND, "SOUND" },
- { LLAssetType::AT_CALLINGCARD, "CALLINGCARD" },
- { LLAssetType::AT_LANDMARK, "LANDMARK" },
- { LLAssetType::AT_SCRIPT, "SCRIPT" },
- { LLAssetType::AT_CLOTHING, "CLOTHING" },
- { LLAssetType::AT_OBJECT, "OBJECT" },
- { LLAssetType::AT_NOTECARD, "NOTECARD" },
- { LLAssetType::AT_CATEGORY, "CATEGORY" },
- { LLAssetType::AT_LSL_TEXT, "LSL_TEXT" },
- { LLAssetType::AT_LSL_BYTECODE, "LSL_BYTECODE" },
- { LLAssetType::AT_TEXTURE_TGA, "TEXTURE_TGA" },
- { LLAssetType::AT_BODYPART, "BODYPART" },
- { LLAssetType::AT_SOUND_WAV, "SOUND_WAV" },
- { LLAssetType::AT_IMAGE_TGA, "IMAGE_TGA" },
- { LLAssetType::AT_IMAGE_JPEG, "IMAGE_JPEG" },
- { LLAssetType::AT_ANIMATION, "ANIMATION" },
- { LLAssetType::AT_GESTURE, "GESTURE" },
- { LLAssetType::AT_SIMSTATE, "SIMSTATE" },
- { LLAssetType::AT_LINK, "LINK" },
- { LLAssetType::AT_LINK_FOLDER, "LINK_FOLDER" },
- { LLAssetType::AT_MARKETPLACE_FOLDER, "MARKETPLACE_FOLDER" },
- { LLAssetType::AT_WIDGET, "WIDGET" },
- { LLAssetType::AT_PERSON, "PERSON" },
- { LLAssetType::AT_MESH, "MESH" },
- { LLAssetType::AT_SETTINGS, "SETTINGS" },
- { LLAssetType::AT_MATERIAL, "MATERIAL" },
- { LLAssetType::AT_GLTF, "GLTF" },
- { LLAssetType::AT_GLTF_BIN, "GLTF_BIN" },
- { LLAssetType::AT_UNKNOWN, "UNKNOWN" }
- };
-
- asset_type_to_name_t::iterator iter = asset_type_to_name.find(at);
- if (iter != asset_type_to_name.end())
- {
- return iter->second;
- }
-
- return std::string("UNKNOWN");
-}
-
-const std::string LLDiskCache::metaDataToFilepath(const std::string& id, LLAssetType::EType at)
-{
- return llformat("%s%s%s_%s_0.asset", sCacheDir.c_str(), gDirUtilp->getDirDelimiter().c_str(), CACHE_FILENAME_PREFIX.c_str(), id.c_str());
+ return llformat("%s%s%s_%s_0.asset", sCacheDir.c_str(), gDirUtilp->getDirDelimiter().c_str(), CACHE_FILENAME_PREFIX.c_str(), id.asString().c_str());
}
const std::string LLDiskCache::getCacheInfo()
@@ -335,7 +285,7 @@ void LLDiskCache::removeOldVFSFiles()
}
}
-uintmax_t LLDiskCache::dirFileSize(const std::string dir)
+uintmax_t LLDiskCache::dirFileSize(const std::string& dir)
{
uintmax_t total_file_size = 0;
diff --git a/indra/llfilesystem/lldiskcache.h b/indra/llfilesystem/lldiskcache.h
index 62c19361fb..f07b26c2d7 100644
--- a/indra/llfilesystem/lldiskcache.h
+++ b/indra/llfilesystem/lldiskcache.h
@@ -81,7 +81,7 @@ class LLDiskCache :
* a child of the main Viewer cache directory. Defined
* by the setting at 'DiskCacheDirName'
*/
- const std::string cache_dir,
+ const std::string& cache_dir,
/**
* The maximum size of the cache in bytes - Based on the
* setting at 'CacheSize' and 'DiskCachePercentOfTotal'
@@ -104,9 +104,7 @@ class LLDiskCache :
* so many things had to be pushed back there to accomodate it, that I
* decided to move it here. Still not sure that's completely right.
*/
- static const std::string metaDataToFilepath(const std::string& id,
- LLAssetType::EType at);
-
+ static const std::string metaDataToFilepath(const LLUUID& id, LLAssetType::EType at);
/**
* Purge the oldest items in the cache so that the combined size of all files
@@ -141,13 +139,7 @@ class LLDiskCache :
* directory. Primarily used here to determine the directory size
* before and after the cache purge
*/
- uintmax_t dirFileSize(const std::string dir);
-
- /**
- * Utility function to convert an LLAssetType enum into a
- * string that we use as part of the cache file filename
- */
- const std::string assetTypeToString(LLAssetType::EType at);
+ uintmax_t dirFileSize(const std::string& dir);
private:
/**
diff --git a/indra/llfilesystem/llfilesystem.cpp b/indra/llfilesystem/llfilesystem.cpp
index b206aab7cf..c8ce9531c2 100644
--- a/indra/llfilesystem/llfilesystem.cpp
+++ b/indra/llfilesystem/llfilesystem.cpp
@@ -36,10 +36,10 @@
#include "boost/filesystem.hpp"
-const S32 LLFileSystem::READ = 0x00000001;
-const S32 LLFileSystem::WRITE = 0x00000002;
-const S32 LLFileSystem::READ_WRITE = 0x00000003; // LLFileSystem::READ & LLFileSystem::WRITE
-const S32 LLFileSystem::APPEND = 0x00000006; // 0x00000004 & LLFileSystem::WRITE
+constexpr S32 LLFileSystem::READ = 0x00000001;
+constexpr S32 LLFileSystem::WRITE = 0x00000002;
+constexpr S32 LLFileSystem::READ_WRITE = 0x00000003; // LLFileSystem::READ & LLFileSystem::WRITE
+constexpr S32 LLFileSystem::APPEND = 0x00000006; // 0x00000004 & LLFileSystem::WRITE
static LLTrace::BlockTimerStatHandle FTM_VFILE_WAIT("VFile Wait");
@@ -57,9 +57,7 @@ LLFileSystem::LLFileSystem(const LLUUID& file_id, const LLAssetType::EType file_
if (mode == LLFileSystem::READ)
{
// build the filename (TODO: we do this in a few places - perhaps we should factor into a single function)
- std::string id;
- mFileID.asString();
- const std::string filename = LLDiskCache::metaDataToFilepath(id, mFileType);
+ const std::string filename = LLDiskCache::metaDataToFilepath(mFileID, mFileType);
// update the last access time for the file if it exists - this is required
// even though we are reading and not writing because this is the
@@ -73,17 +71,11 @@ LLFileSystem::LLFileSystem(const LLUUID& file_id, const LLAssetType::EType file_
}
}
-LLFileSystem::~LLFileSystem()
-{
-}
-
// static
bool LLFileSystem::getExists(const LLUUID& file_id, const LLAssetType::EType file_type)
{
LL_PROFILE_ZONE_SCOPED;
- std::string id_str;
- file_id.toString(id_str);
- const std::string filename = LLDiskCache::metaDataToFilepath(id_str, file_type);
+ const std::string filename = LLDiskCache::metaDataToFilepath(file_id, file_type);
llifstream file(filename, std::ios::binary);
if (file.is_open())
@@ -97,9 +89,7 @@ bool LLFileSystem::getExists(const LLUUID& file_id, const LLAssetType::EType fil
// static
bool LLFileSystem::removeFile(const LLUUID& file_id, const LLAssetType::EType file_type, int suppress_error /*= 0*/)
{
- std::string id_str;
- file_id.toString(id_str);
- const std::string filename = LLDiskCache::metaDataToFilepath(id_str, file_type);
+ const std::string filename = LLDiskCache::metaDataToFilepath(file_id, file_type);
LLFile::remove(filename.c_str(), suppress_error);
@@ -110,13 +100,8 @@ bool LLFileSystem::removeFile(const LLUUID& file_id, const LLAssetType::EType fi
bool LLFileSystem::renameFile(const LLUUID& old_file_id, const LLAssetType::EType old_file_type,
const LLUUID& new_file_id, const LLAssetType::EType new_file_type)
{
- std::string old_id_str;
- old_file_id.toString(old_id_str);
- const std::string old_filename = LLDiskCache::metaDataToFilepath(old_id_str, old_file_type);
-
- std::string new_id_str;
- new_file_id.toString(new_id_str);
- const std::string new_filename = LLDiskCache::metaDataToFilepath(new_id_str, new_file_type);
+ const std::string old_filename = LLDiskCache::metaDataToFilepath(old_file_id, old_file_type);
+ const std::string new_filename = LLDiskCache::metaDataToFilepath(new_file_id, new_file_type);
// Rename needs the new file to not exist.
LLFileSystem::removeFile(new_file_id, new_file_type, ENOENT);
@@ -127,7 +112,7 @@ bool LLFileSystem::renameFile(const LLUUID& old_file_id, const LLAssetType::ETyp
// failed but the original code does not and doing so seems to
// break a lot of things so we go with the flow...
//return false;
- LL_WARNS() << "Failed to rename " << old_file_id << " to " << new_id_str << " reason: " << strerror(errno) << LL_ENDL;
+ LL_WARNS() << "Failed to rename " << old_file_id << " to " << new_file_id << " reason: " << strerror(errno) << LL_ENDL;
}
return true;
@@ -136,9 +121,7 @@ bool LLFileSystem::renameFile(const LLUUID& old_file_id, const LLAssetType::ETyp
// static
S32 LLFileSystem::getFileSize(const LLUUID& file_id, const LLAssetType::EType file_type)
{
- std::string id_str;
- file_id.toString(id_str);
- const std::string filename = LLDiskCache::metaDataToFilepath(id_str, file_type);
+ const std::string filename = LLDiskCache::metaDataToFilepath(file_id, file_type);
S32 file_size = 0;
llifstream file(filename, std::ios::binary);
@@ -155,9 +138,7 @@ bool LLFileSystem::read(U8* buffer, S32 bytes)
{
bool success = false;
- std::string id;
- mFileID.toString(id);
- const std::string filename = LLDiskCache::metaDataToFilepath(id, mFileType);
+ const std::string filename = LLDiskCache::metaDataToFilepath(mFileID, mFileType);
llifstream file(filename, std::ios::binary);
if (file.is_open())
@@ -187,21 +168,19 @@ bool LLFileSystem::read(U8* buffer, S32 bytes)
return success;
}
-S32 LLFileSystem::getLastBytesRead()
+S32 LLFileSystem::getLastBytesRead() const
{
return mBytesRead;
}
-bool LLFileSystem::eof()
+bool LLFileSystem::eof() const
{
return mPosition >= getSize();
}
bool LLFileSystem::write(const U8* buffer, S32 bytes)
{
- std::string id_str;
- mFileID.toString(id_str);
- const std::string filename = LLDiskCache::metaDataToFilepath(id_str, mFileType);
+ const std::string filename = LLDiskCache::metaDataToFilepath(mFileID, mFileType);
bool success = false;
@@ -212,12 +191,11 @@ bool LLFileSystem::write(const U8* buffer, S32 bytes)
{
ofs.write((const char*)buffer, bytes);
- mPosition = (S32)ofs.tellp(); // <FS:Ansariel> Fix asset caching
+ mPosition = (S32)ofs.tellp();
success = true;
}
}
- // <FS:Ansariel> Fix asset caching
else if (mMode == READ_WRITE)
{
// Don't truncate if file already exists
@@ -241,7 +219,6 @@ bool LLFileSystem::write(const U8* buffer, S32 bytes)
}
}
}
- // </FS:Ansariel>
else
{
llofstream ofs(filename, std::ios::binary);
@@ -293,12 +270,12 @@ S32 LLFileSystem::tell() const
return mPosition;
}
-S32 LLFileSystem::getSize()
+S32 LLFileSystem::getSize() const
{
return LLFileSystem::getFileSize(mFileID, mFileType);
}
-S32 LLFileSystem::getMaxSize()
+S32 LLFileSystem::getMaxSize() const
{
// offer up a huge size since we don't care what the max is
return INT_MAX;
@@ -314,10 +291,9 @@ bool LLFileSystem::rename(const LLUUID& new_id, const LLAssetType::EType new_typ
return true;
}
-bool LLFileSystem::remove()
+bool LLFileSystem::remove() const
{
LLFileSystem::removeFile(mFileID, mFileType);
-
return true;
}
@@ -332,7 +308,7 @@ void LLFileSystem::updateFileAccessTime(const std::string& file_path)
*
* Let's start with 1 hour in time_t units and see how that unfolds
*/
- const std::time_t time_threshold = 1 * 60 * 60;
+ constexpr std::time_t time_threshold = 1 * 60 * 60;
// current time
const std::time_t cur_time = std::time(nullptr);
diff --git a/indra/llfilesystem/llfilesystem.h b/indra/llfilesystem/llfilesystem.h
index 983e452981..10649b6920 100644
--- a/indra/llfilesystem/llfilesystem.h
+++ b/indra/llfilesystem/llfilesystem.h
@@ -38,20 +38,20 @@ class LLFileSystem
{
public:
LLFileSystem(const LLUUID& file_id, const LLAssetType::EType file_type, S32 mode = LLFileSystem::READ);
- ~LLFileSystem();
+ ~LLFileSystem() = default;
bool read(U8* buffer, S32 bytes);
- S32 getLastBytesRead();
- bool eof();
+ S32 getLastBytesRead() const;
+ bool eof() const;
bool write(const U8* buffer, S32 bytes);
bool seek(S32 offset, S32 origin = -1);
S32 tell() const;
- S32 getSize();
- S32 getMaxSize();
+ S32 getSize() const;
+ S32 getMaxSize() const;
bool rename(const LLUUID& new_id, const LLAssetType::EType new_type);
- bool remove();
+ bool remove() const;
/**
* Update the "last write time" of a file to "now". This must be called whenever a
@@ -78,8 +78,6 @@ class LLFileSystem
S32 mPosition;
S32 mMode;
S32 mBytesRead;
-//private:
-// static const std::string idToFilepath(const std::string id, LLAssetType::EType at);
};
#endif // LL_FILESYSTEM_H
diff --git a/indra/llui/llaccordionctrl.cpp b/indra/llui/llaccordionctrl.cpp
index 06f7a20add..495ba2f40f 100644
--- a/indra/llui/llaccordionctrl.cpp
+++ b/indra/llui/llaccordionctrl.cpp
@@ -36,12 +36,12 @@
#include "boost/bind.hpp"
-static const S32 BORDER_MARGIN = 2;
-static const S32 PARENT_BORDER_MARGIN = 5;
-static const S32 VERTICAL_MULTIPLE = 16;
-static const F32 MIN_AUTO_SCROLL_RATE = 120.f;
-static const F32 MAX_AUTO_SCROLL_RATE = 500.f;
-static const F32 AUTO_SCROLL_RATE_ACCEL = 120.f;
+static constexpr S32 BORDER_MARGIN = 2;
+static constexpr S32 PARENT_BORDER_MARGIN = 5;
+static constexpr S32 VERTICAL_MULTIPLE = 16;
+static constexpr F32 MIN_AUTO_SCROLL_RATE = 120.f;
+static constexpr F32 MAX_AUTO_SCROLL_RATE = 500.f;
+static constexpr F32 AUTO_SCROLL_RATE_ACCEL = 120.f;
// LLAccordionCtrl =================================================================|
@@ -49,13 +49,7 @@ static LLDefaultChildRegistry::Register<LLAccordionCtrl> t2("accordion");
LLAccordionCtrl::LLAccordionCtrl(const Params& params):LLPanel(params)
, mFitParent(params.fit_parent)
- , mAutoScrolling( false )
- , mAutoScrollRate( 0.f )
- , mSelectedTab( NULL )
- , mTabComparator( NULL )
- , mNoVisibleTabsHelpText(NULL)
, mNoVisibleTabsOrigString(params.no_visible_tabs_text.initial_value().asString())
- , mSkipScrollToChild(false)
{
initNoTabsWidget(params.no_matched_tabs_text);
@@ -67,10 +61,6 @@ LLAccordionCtrl::LLAccordionCtrl(const Params& params):LLPanel(params)
}
LLAccordionCtrl::LLAccordionCtrl() : LLPanel()
- , mAutoScrolling( false )
- , mAutoScrollRate( 0.f )
- , mSelectedTab( NULL )
- , mNoVisibleTabsHelpText(NULL)
{
initNoTabsWidget(LLTextBox::Params());
@@ -133,11 +123,10 @@ bool LLAccordionCtrl::postBuild()
mScrollbar->setFollowsBottom();
//if it was created from xml...
- std::vector<LLUICtrl*> accordion_tabs;
- for (child_list_const_iter_t it = getChildList()->begin();
- getChildList()->end() != it; ++it)
+ std::vector<LLAccordionCtrlTab*> accordion_tabs;
+ for(LLView* viewp : *getChildList())
{
- LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(*it);
+ LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(viewp);
if (accordion_tab == NULL)
continue;
if (std::find(mAccordionTabs.begin(), mAccordionTabs.end(), accordion_tab) == mAccordionTabs.end())
@@ -146,7 +135,7 @@ bool LLAccordionCtrl::postBuild()
}
}
- for (std::vector<LLUICtrl*>::reverse_iterator it = accordion_tabs.rbegin();
+ for (auto it = accordion_tabs.rbegin();
it < accordion_tabs.rend(); ++it)
{
addCollapsibleCtrl(*it);
@@ -294,11 +283,8 @@ void LLAccordionCtrl::hideScrollbar(S32 width, S32 height)
S32 LLAccordionCtrl::calcRecuiredHeight()
{
S32 rec_height = 0;
-
- std::vector<LLAccordionCtrlTab*>::iterator panel;
- for(panel=mAccordionTabs.begin(); panel!=mAccordionTabs.end(); ++panel)
+ for(LLAccordionCtrlTab* accordion_tab : mAccordionTabs)
{
- LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(*panel);
if(accordion_tab && accordion_tab->getVisible())
{
rec_height += accordion_tab->getRect().getHeight();
@@ -330,9 +316,8 @@ void LLAccordionCtrl::ctrlShiftVertical(LLView* panel, S32 delta)
//---------------------------------------------------------------------------------
-void LLAccordionCtrl::addCollapsibleCtrl(LLView* view)
+void LLAccordionCtrl::addCollapsibleCtrl(LLAccordionCtrlTab* accordion_tab)
{
- LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(view);
if (!accordion_tab)
return;
if (std::find(beginChild(), endChild(), accordion_tab) == endChild())
@@ -343,9 +328,8 @@ void LLAccordionCtrl::addCollapsibleCtrl(LLView* view)
arrange();
}
-void LLAccordionCtrl::removeCollapsibleCtrl(LLView* view)
+void LLAccordionCtrl::removeCollapsibleCtrl(LLAccordionCtrlTab* accordion_tab)
{
- LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(view);
if(!accordion_tab)
return;
@@ -363,7 +347,7 @@ void LLAccordionCtrl::removeCollapsibleCtrl(LLView* view)
}
// if removed is selected - reset selection
- if (mSelectedTab == view)
+ if (mSelectedTab == accordion_tab)
{
mSelectedTab = NULL;
}
@@ -401,24 +385,20 @@ void LLAccordionCtrl::arrangeSingle()
S32 collapsed_height = 0;
- for (size_t i = 0; i < mAccordionTabs.size(); ++i)
+ for (LLAccordionCtrlTab* accordion_tab : mAccordionTabs)
{
- LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
-
if (!accordion_tab->getVisible()) // Skip hidden accordion tabs
continue;
if (!accordion_tab->isExpanded() )
{
- collapsed_height+=mAccordionTabs[i]->getRect().getHeight();
+ collapsed_height += accordion_tab->getRect().getHeight();
}
}
S32 expanded_height = getRect().getHeight() - BORDER_MARGIN - collapsed_height;
- for (size_t i = 0; i < mAccordionTabs.size(); ++i)
+ for (LLAccordionCtrlTab* accordion_tab : mAccordionTabs)
{
- LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
-
if (!accordion_tab->getVisible()) // Skip hidden accordion tabs
continue;
if (!accordion_tab->isExpanded() )
@@ -448,8 +428,8 @@ void LLAccordionCtrl::arrangeSingle()
// make sure at least header is shown
panel_height = llmax(panel_height, accordion_tab->getHeaderHeight());
- ctrlSetLeftTopAndSize(mAccordionTabs[i], panel_left, panel_top, panel_width, panel_height);
- panel_top -= mAccordionTabs[i]->getRect().getHeight();
+ ctrlSetLeftTopAndSize(accordion_tab, panel_left, panel_top, panel_width, panel_height);
+ panel_top -= accordion_tab->getRect().getHeight();
}
show_hide_scrollbar(getRect().getWidth(), getRect().getHeight());
@@ -463,17 +443,16 @@ void LLAccordionCtrl::arrangeMultiple()
S32 panel_width = getRect().getWidth() - 4;
//Calculate params
- for (size_t i = 0; i < mAccordionTabs.size(); i++ )
+ for (size_t i = 0, end = mAccordionTabs.size(); i < end; i++)
{
- LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
-
+ LLAccordionCtrlTab* accordion_tab = static_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
if (!accordion_tab->getVisible()) // Skip hidden accordion tabs
continue;
if (!accordion_tab->isExpanded() )
{
- ctrlSetLeftTopAndSize(mAccordionTabs[i], panel_left, panel_top, panel_width, accordion_tab->getRect().getHeight());
- panel_top -= mAccordionTabs[i]->getRect().getHeight();
+ ctrlSetLeftTopAndSize(accordion_tab, panel_left, panel_top, panel_width, accordion_tab->getRect().getHeight());
+ panel_top -= accordion_tab->getRect().getHeight();
}
else
{
@@ -495,13 +474,13 @@ void LLAccordionCtrl::arrangeMultiple()
}
// minimum tab height is equal to header height
- if (mAccordionTabs[i]->getHeaderHeight() > panel_height)
+ if (accordion_tab->getHeaderHeight() > panel_height)
{
- panel_height = mAccordionTabs[i]->getHeaderHeight();
+ panel_height = accordion_tab->getHeaderHeight();
}
}
- ctrlSetLeftTopAndSize(mAccordionTabs[i], panel_left, panel_top, panel_width, panel_height);
+ ctrlSetLeftTopAndSize(accordion_tab, panel_left, panel_top, panel_width, panel_height);
panel_top -= panel_height;
}
@@ -528,7 +507,7 @@ void LLAccordionCtrl::arrange()
S32 panel_top = getRect().getHeight() - BORDER_MARGIN; // Top coordinate of the first panel
S32 panel_width = getRect().getWidth() - 4;
- LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[0]);
+ LLAccordionCtrlTab* accordion_tab = mAccordionTabs[0];
LLRect panel_rect = accordion_tab->getRect();
@@ -638,12 +617,12 @@ void LLAccordionCtrl::updateLayout(S32 width, S32 height)
panel_width -= scrollbar_size;
// set sizes for first panels and dragbars
- for (size_t i = 0; i < mAccordionTabs.size(); ++i)
+ for (LLAccordionCtrlTab* accordion_tab : mAccordionTabs)
{
- if (!mAccordionTabs[i]->getVisible())
+ if (!accordion_tab->getVisible())
continue;
- LLRect panel_rect = mAccordionTabs[i]->getRect();
- ctrlSetLeftTopAndSize(mAccordionTabs[i], panel_rect.mLeft, panel_top, panel_width, panel_rect.getHeight());
+ LLRect panel_rect = accordion_tab->getRect();
+ ctrlSetLeftTopAndSize(accordion_tab, panel_rect.mLeft, panel_top, panel_width, panel_rect.getHeight());
panel_top -= panel_rect.getHeight();
}
}
@@ -685,9 +664,8 @@ void LLAccordionCtrl::onUpdateScrollToChild(const LLUICtrl *cntrl)
void LLAccordionCtrl::onOpen(const LLSD& key)
{
- for (size_t i = 0; i < mAccordionTabs.size(); ++i)
+ for (LLAccordionCtrlTab* accordion_tab : mAccordionTabs)
{
- LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
LLPanel* panel = dynamic_cast<LLPanel*>(accordion_tab->getAccordionView());
if (panel != NULL)
{
@@ -711,7 +689,7 @@ S32 LLAccordionCtrl::notifyParent(const LLSD& info)
{
for (size_t i = 0; i < mAccordionTabs.size(); ++i)
{
- LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
+ LLAccordionCtrlTab* accordion_tab = static_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
if (accordion_tab->hasFocus())
{
while (++i < mAccordionTabs.size())
@@ -721,7 +699,7 @@ S32 LLAccordionCtrl::notifyParent(const LLSD& info)
}
if (i < mAccordionTabs.size())
{
- accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
+ accordion_tab = static_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
accordion_tab->notify(LLSD().with("action","select_first"));
return 1;
}
@@ -734,7 +712,7 @@ S32 LLAccordionCtrl::notifyParent(const LLSD& info)
{
for (size_t i = 0; i < mAccordionTabs.size(); ++i)
{
- LLAccordionCtrlTab* accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
+ LLAccordionCtrlTab* accordion_tab = static_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
if (accordion_tab->hasFocus() && i > 0)
{
bool prev_visible_tab_found = false;
@@ -749,7 +727,7 @@ S32 LLAccordionCtrl::notifyParent(const LLSD& info)
if (prev_visible_tab_found)
{
- accordion_tab = dynamic_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
+ accordion_tab = static_cast<LLAccordionCtrlTab*>(mAccordionTabs[i]);
accordion_tab->notify(LLSD().with("action","select_last"));
return 1;
}
@@ -887,15 +865,12 @@ void LLAccordionCtrl::setFilterSubString(const std::string& filter_string)
const LLAccordionCtrlTab* LLAccordionCtrl::getExpandedTab() const
{
- typedef std::vector<LLAccordionCtrlTab*>::const_iterator tabs_const_iterator;
-
- const LLAccordionCtrlTab* result = 0;
-
- for (tabs_const_iterator i = mAccordionTabs.begin(); i != mAccordionTabs.end(); ++i)
+ const LLAccordionCtrlTab* result = nullptr;
+ for (LLAccordionCtrlTab* accordion_tab : mAccordionTabs)
{
- if ((*i)->isExpanded())
+ if (accordion_tab->isExpanded())
{
- result = *i;
+ result = accordion_tab;
break;
}
}
@@ -913,11 +888,11 @@ S32 LLAccordionCtrl::calcExpandedTabHeight(S32 tab_index /* = 0 */, S32 availabl
S32 collapsed_tabs_height = 0;
S32 num_expanded = 0;
- for (size_t n = tab_index; n < mAccordionTabs.size(); ++n)
+ for (LLAccordionCtrlTab* tab : mAccordionTabs)
{
- if (!mAccordionTabs[n]->isExpanded())
+ if (!tab->isExpanded())
{
- collapsed_tabs_height += mAccordionTabs[n]->getHeaderHeight();
+ collapsed_tabs_height += tab->getHeaderHeight();
}
else
{
@@ -939,10 +914,8 @@ void LLAccordionCtrl::collapseAllTabs()
{
if (mAccordionTabs.size() > 0)
{
- for (size_t i = 0; i < mAccordionTabs.size(); ++i)
+ for (LLAccordionCtrlTab* tab : mAccordionTabs)
{
- LLAccordionCtrlTab *tab = mAccordionTabs[i];
-
if (tab->getDisplayChildren())
{
tab->setDisplayChildren(false);
diff --git a/indra/llui/llaccordionctrl.h b/indra/llui/llaccordionctrl.h
index 1dfa9100f6..43a33a2b3c 100644
--- a/indra/llui/llaccordionctrl.h
+++ b/indra/llui/llaccordionctrl.h
@@ -57,8 +57,8 @@ public:
class LLTabComparator
{
public:
- LLTabComparator() {};
- virtual ~LLTabComparator() {};
+ LLTabComparator() = default;
+ virtual ~LLTabComparator() = default;
/** Returns true if tab1 < tab2, false otherwise */
virtual bool compare(const LLAccordionCtrlTab* tab1, const LLAccordionCtrlTab* tab2) const = 0;
@@ -103,8 +103,8 @@ public:
// Call reshape after changing splitter's size
virtual void reshape(S32 width, S32 height, bool called_from_parent = true);
- void addCollapsibleCtrl(LLView* view);
- void removeCollapsibleCtrl(LLView* view);
+ void addCollapsibleCtrl(LLAccordionCtrlTab* accordion_tab);
+ void removeCollapsibleCtrl(LLAccordionCtrlTab* accordion_tab);
void arrange();
@@ -180,20 +180,20 @@ private:
private:
LLRect mInnerRect;
- LLScrollbar* mScrollbar;
- bool mSingleExpansion;
- bool mFitParent;
- bool mAutoScrolling;
- F32 mAutoScrollRate;
- LLTextBox* mNoVisibleTabsHelpText;
+ LLScrollbar* mScrollbar = nullptr;
+ bool mSingleExpansion = false;
+ bool mFitParent = false;
+ bool mAutoScrolling = false;
+ F32 mAutoScrollRate = 0.f;
+ LLTextBox* mNoVisibleTabsHelpText = nullptr;
- bool mSkipScrollToChild;
+ bool mSkipScrollToChild = false;
std::string mNoMatchedTabsOrigString;
std::string mNoVisibleTabsOrigString;
- LLAccordionCtrlTab* mSelectedTab;
- const LLTabComparator* mTabComparator;
+ LLAccordionCtrlTab* mSelectedTab = nullptr;
+ const LLTabComparator* mTabComparator = nullptr;
};
diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp
index 349df11f35..26e2d8f319 100644
--- a/indra/newview/llmeshrepository.cpp
+++ b/indra/newview/llmeshrepository.cpp
@@ -3292,8 +3292,6 @@ void LLMeshHeaderHandler::processData(LLCore::BufferArray * /* body */, S32 /* b
// only allocate as much space in the cache as is needed for the local cache
data_size = llmin(data_size, bytes);
- // <FS:Ansariel> Fix asset caching
- //LLFileSystem file(mesh_id, LLAssetType::AT_MESH, LLFileSystem::WRITE);
LLFileSystem file(mesh_id, LLAssetType::AT_MESH, LLFileSystem::READ_WRITE);
if (file.getMaxSize() >= bytes)
{
@@ -3302,7 +3300,6 @@ void LLMeshHeaderHandler::processData(LLCore::BufferArray * /* body */, S32 /* b
file.write(data, data_size);
- // <FS:Ansariel> Fix asset caching
S32 remaining = bytes - file.tell();
if (remaining > 0)
{
@@ -3314,7 +3311,6 @@ void LLMeshHeaderHandler::processData(LLCore::BufferArray * /* body */, S32 /* b
delete[] block;
}
}
- // </FS:Ansariel>
}
}
else
@@ -3367,8 +3363,6 @@ void LLMeshLODHandler::processData(LLCore::BufferArray * /* body */, S32 /* body
if (result == MESH_OK)
{
// good fetch from sim, write to cache
- // <FS:Ansariel> Fix asset caching
- //LLFileSystem file(mMeshParams.getSculptID(), LLAssetType::AT_MESH, LLFileSystem::WRITE);
LLFileSystem file(mMeshParams.getSculptID(), LLAssetType::AT_MESH, LLFileSystem::READ_WRITE);
S32 offset = mOffset;
@@ -3432,8 +3426,6 @@ void LLMeshSkinInfoHandler::processData(LLCore::BufferArray * /* body */, S32 /*
&& gMeshRepo.mThread->skinInfoReceived(mMeshID, data, data_size))
{
// good fetch from sim, write to cache
- // <FS:Ansariel> Fix asset caching
- //LLFileSystem file(mMeshID, LLAssetType::AT_MESH, LLFileSystem::WRITE);
LLFileSystem file(mMeshID, LLAssetType::AT_MESH, LLFileSystem::READ_WRITE);
S32 offset = mOffset;
@@ -3483,8 +3475,6 @@ void LLMeshDecompositionHandler::processData(LLCore::BufferArray * /* body */, S
&& gMeshRepo.mThread->decompositionReceived(mMeshID, data, data_size))
{
// good fetch from sim, write to cache
- // <FS:Ansariel> Fix asset caching
- //LLFileSystem file(mMeshID, LLAssetType::AT_MESH, LLFileSystem::WRITE);
LLFileSystem file(mMeshID, LLAssetType::AT_MESH, LLFileSystem::READ_WRITE);
S32 offset = mOffset;
@@ -3532,8 +3522,6 @@ void LLMeshPhysicsShapeHandler::processData(LLCore::BufferArray * /* body */, S3
&& gMeshRepo.mThread->physicsShapeReceived(mMeshID, data, data_size) == MESH_OK)
{
// good fetch from sim, write to cache for caching
- // <FS:Ansariel> Fix asset caching
- //LLFileSystem file(mMeshID, LLAssetType::AT_MESH, LLFileSystem::WRITE);
LLFileSystem file(mMeshID, LLAssetType::AT_MESH, LLFileSystem::READ_WRITE);
S32 offset = mOffset;