diff --git a/indra/llmessage/llavatarnamecache.h b/indra/llmessage/llavatarnamecache.h index 0e4906b64e97d1e3c70b96bd7bfe965b14999b0e..144048a12e8ed1c72318614775f6fee33eafb213 100644 --- a/indra/llmessage/llavatarnamecache.h +++ b/indra/llmessage/llavatarnamecache.h @@ -29,6 +29,7 @@ #define LLAVATARNAMECACHE_H #include "llavatarname.h" // for convenience +#include "lluuid.h" #include "llsingleton.h" #include <boost/signals2.hpp> @@ -38,7 +39,6 @@ #include <set> class LLSD; -class LLUUID; class LLAvatarNameCache : public LLSingleton<LLAvatarNameCache> { @@ -187,7 +187,7 @@ private: // May have multiple callbacks for a single ID, which are // represented as multiple slots bound to the signal. // Avoid copying signals via pointers. - typedef absl::flat_hash_map<LLUUID, callback_signal_t*> signal_map_t; + typedef absl::flat_hash_map<LLUUID, callback_signal_t* > signal_map_t; signal_map_t mSignalMap; // The cache at last, i.e. avatar names we know about. diff --git a/indra/newview/llcommandlineparser.cpp b/indra/newview/llcommandlineparser.cpp index 9a7fad75898ec4ca082a75e80e929e1a234f7e3d..46525448238bd46627da165a1fb6493b0eed6b49 100644 --- a/indra/newview/llcommandlineparser.cpp +++ b/indra/newview/llcommandlineparser.cpp @@ -152,7 +152,12 @@ public: { return mMaxTokens; } - +#if LL_LINUX + bool adjacent_tokens_only() const override + { + return false; + } +#endif bool is_composing() const override { return mIsComposing; diff --git a/indra/newview/llfilepicker.cpp b/indra/newview/llfilepicker.cpp index 2c1887309dd9366f70427f4f49904dd2ad2dc38a..8a82161c0a55056f9e6fd398938ac91e56cdfb82 100644 --- a/indra/newview/llfilepicker.cpp +++ b/indra/newview/llfilepicker.cpp @@ -1228,7 +1228,7 @@ static std::string add_save_texture_filter_to_gtkchooser(GtkWindow *picker) return caption; } -BOOL LLFilePicker::getSaveFile( ESaveFilter filter, const std::string& filename ) +BOOL LLFilePicker::getSaveFile( ESaveFilter filter, const std::string& filename, bool blocking ) { BOOL rtn = FALSE; diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 067dafa6f55416dbc64f6ef91ac5341cad27c213..a2d9bc4df5f889fb6c9c217c867499ade6dedbf0 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -857,7 +857,7 @@ void LLFloaterPreference::onAddSkin() zip->extractFile("manifest.json", buf.get(), buf_size); buf[buf_size - 1] = '\0'; // force. std::stringstream ss; - ss << buf; + ss << std::string(const_cast<const char*>(buf.get()), buf_size); buf.reset(); nlohmann::json root; diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index 5bbe9633356ce32c631d38ba58d6cc3d2ad2af28..228bdb457f595518ad58f327550ba9defc07dc65 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -4368,6 +4368,7 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent) } BOOL visible = isVisible(); +#if LL_DEBUG bool is_control_avatar = isControlAvatar(); // capture state to simplify tracing bool is_attachment = false; if (is_control_avatar) @@ -4376,7 +4377,6 @@ BOOL LLVOAvatar::updateCharacter(LLAgent &agent) is_attachment = cav->mRootVolp && cav->mRootVolp->isAttachment(); // For attached animated objects } -#if LL_DEBUG LLScopedContextString str("updateCharacter " + getFullname() + " is_control_avatar " + std::to_string(is_control_avatar) + " is_attachment " + std::to_string(is_attachment)); diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index da5e54250ae0c5f12f1047cc7f1cf2e1388303ef..018d6077b32e91284f984369a4ab28e83ebeffd7 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -756,6 +756,7 @@ void RlvHandler::setActiveGroup(const LLUUID& idGroup) m_idAgentGroup = idGroup; } +enum class EMatch {E_Matched_None, E_Matched_Partial, E_Matched_Exact}; void RlvHandler::setActiveGroupRole(const LLUUID& idGroup, const std::string& strRole) { // Check if we need a group change first @@ -781,7 +782,8 @@ void RlvHandler::setActiveGroupRole(const LLUUID& idGroup, const std::string& st // We have everything - activate the requested role (if we can find it) if (pGroupData) { - enum class EMatch { None, Partial, Exact } eMatch = EMatch::None; LLUUID idRole; + EMatch eMatch = EMatch::E_Matched_None; + LLUUID idRole; for (const auto& roleData : pGroupData->mRoles) { // NOTE: exact matches take precedence over partial matches; in case of partial matches the last match wins @@ -789,13 +791,13 @@ void RlvHandler::setActiveGroupRole(const LLUUID& idGroup, const std::string& st if (boost::istarts_with(strRoleName, strRole)) { idRole = roleData.first; - eMatch = (strRoleName.length() == strRole.length()) ? EMatch::Exact : EMatch::Partial; - if (eMatch == EMatch::Exact) + eMatch = (strRoleName.length() == strRole.length()) ? EMatch::E_Matched_Exact : EMatch::E_Matched_Partial; + if (eMatch == EMatch::E_Matched_Exact) break; } } - if (eMatch != EMatch::None) + if (eMatch != EMatch::E_Matched_None) { RLV_INFOS << "Activating role '" << strRole << "' for group '" << pGroupData->mName << "'" << RLV_ENDL; LLGroupMgr::getInstance()->sendGroupTitleUpdate(idGroup, idRole);