diff --git a/.github/workflows/build_viewer.yml b/.github/workflows/build_viewer.yml index 8adc9171c1..d85167e867 100644 --- a/.github/workflows/build_viewer.yml +++ b/.github/workflows/build_viewer.yml @@ -2,8 +2,9 @@ name: Build viewer on: push: branches: - - "*release" - - master + - "Firestorm*.*.*" + tags: + - "preview" schedule: - cron: '00 03 * * *' # Run every day at 3am UTC env: @@ -74,14 +75,14 @@ jobs: - name: find channel from Branch name run: | - if [[ "${{ github.ref_name }}" == *Release* ]]; then + if [[ "${{ github.ref_name }}" == Firestorm* ]]; then FS_RELEASE_TYPE=Release + elif [[ "${{ github.ref_name }}" == *review* ]]; then + FS_RELEASE_TYPE=Beta + elif [[ "${{ github.event_name }}" == 'schedule' ]]; then + FS_RELEASE_TYPE=Nightly else - if [[ "${{github.event_name}}" == 'schedule' ]]; then - FS_RELEASE_TYPE=Nightly - else - FS_RELEASE_TYPE=Beta - fi + FS_RELEASE_TYPE=Unknown fi if [[ "${{ matrix.addrsize }}" == "64" ]]; then FS_RELEASE_CHAN="${FS_RELEASE_TYPE}x64" @@ -118,7 +119,11 @@ jobs: shell: bash - name: rclone the private 3p packages for this platform (both 64 & 32) - run: 'rclone copy fs_bundles: --include "*${{ env.fallback_platform }}*bz2" .' + run: 'rclone copy fs_bundles: --filter "- Alpha/*" --filter "+ *${{ env.fallback_platform }}*bz2" .' + + - name: rclone any extra private 3p packages for Alpha (allows library updates not in the main repo) + if: env.FS_BUILD_TYPE == 'Alpha' + run: 'rclone copy fs_bundles:Alpha --include "*${{ env.fallback_platform }}*bz2" .' - name: set VSVER for Windows builds if: runner.os == 'Windows' @@ -255,17 +260,17 @@ jobs: - name: find channel and webhook from Branch name run: | - if [[ "${{ github.ref_name }}" == *Release* ]]; then + if [[ "${{ github.ref_name }}" == Firestorm* ]]; then FS_RELEASE_FOLDER=release FS_BUILD_WEBHOOK_URL=${{ secrets.RELEASE_WEBHOOK_URL }} - else - if [[ "${{github.event_name}}" == 'schedule' ]]; then - FS_RELEASE_FOLDER=nightly - FS_BUILD_WEBHOOK_URL=${{ secrets.NIGHTLY_WEBHOOK_URL }} - else + elif [[ "${{ github.ref_name }}" == *review* ]]; then FS_RELEASE_FOLDER=preview FS_BUILD_WEBHOOK_URL=${{ secrets.BETA_WEBHOOK_URL }} - fi + elif [[ "${{ github.event_name }}" == 'schedule' ]]; then + FS_RELEASE_FOLDER=nightly + FS_BUILD_WEBHOOK_URL=${{ secrets.NIGHTLY_WEBHOOK_URL }} + else + FS_RELEASE_TYPE=Unknown fi echo "FS_RELEASE_FOLDER=${FS_RELEASE_FOLDER}" >> $GITHUB_ENV echo "FS_BUILD_WEBHOOK_URL=${FS_BUILD_WEBHOOK_URL}" >> $GITHUB_ENV diff --git a/indra/llmessage/llregionflags.h b/indra/llmessage/llregionflags.h index 464bf05250..703bf08345 100644 --- a/indra/llmessage/llregionflags.h +++ b/indra/llmessage/llregionflags.h @@ -172,8 +172,10 @@ const U32 ESTATE_ACCESS_NO_REPLY = 1U << 10; const U32 ESTATE_ACCESS_FAILED_BAN_ESTATE_MANAGER = 1U << 11; const S32 ESTATE_MAX_MANAGERS = 20; +const S32 ESTATE_MAX_MANAGERS_OS = 15; // OpenSim const S32 ESTATE_MAX_ACCESS_IDS = 500; // max for access const S32 ESTATE_MAX_BANNED_IDS = 750; // max for banned +const S32 ESTATE_MAX_BANNED_IDS_OS = 500; // max for banned // OpenSim const S32 ESTATE_MAX_GROUP_IDS = (S32) ESTATE_ACCESS_MAX_ENTRIES_PER_PACKET; // 'Sim Wide Delete' flags diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index d39948f48b..cb0aad7d12 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -26427,5 +26427,16 @@ Change of this parameter will affect the layout of buttons in notification toast Value 0 + FSSortAttachmentSpotsAlphabetically + + Comment + Sorts the attachment spots in the "Attach to" menus alphabetically + Persist + 1 + Type + Boolean + Value + 1 + diff --git a/indra/newview/fsfloaterposestand.cpp b/indra/newview/fsfloaterposestand.cpp index 47e0d2f60b..f44e30c166 100644 --- a/indra/newview/fsfloaterposestand.cpp +++ b/indra/newview/fsfloaterposestand.cpp @@ -23,7 +23,7 @@ FSFloaterPoseStand::FSFloaterPoseStand(const LLSD& key) : LLFloater(key), - mComboPose(NULL), + mComboPose(nullptr), mPoseStandLock(false), mAOPaused(false) { diff --git a/indra/newview/fsfloaterradar.cpp b/indra/newview/fsfloaterradar.cpp index ad6d8b6625..b7cbb85a14 100644 --- a/indra/newview/fsfloaterradar.cpp +++ b/indra/newview/fsfloaterradar.cpp @@ -30,7 +30,7 @@ FSFloaterRadar::FSFloaterRadar(const LLSD& key) : LLFloater(key), - mRadarPanel(NULL) + mRadarPanel(nullptr) { } diff --git a/indra/newview/fsfloaterwearablefavorites.cpp b/indra/newview/fsfloaterwearablefavorites.cpp index bbb1f50751..4fa8dd5927 100644 --- a/indra/newview/fsfloaterwearablefavorites.cpp +++ b/indra/newview/fsfloaterwearablefavorites.cpp @@ -135,8 +135,7 @@ BOOL FSFloaterWearableFavorites::postBuild() mOptionsButton = getChild("options_btn"); - LLToggleableMenu* options_menu = LLUICtrlFactory::getInstance()->createFromFile("menu_fs_wearable_favorites.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); - if (options_menu) + if (LLToggleableMenu* options_menu = LLUICtrlFactory::getInstance()->createFromFile("menu_fs_wearable_favorites.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); options_menu) { mOptionsMenuHandle = options_menu->getHandle(); mOptionsButton->setMenu(options_menu, LLMenuButton::MP_BOTTOM_LEFT); @@ -204,8 +203,7 @@ BOOL FSFloaterWearableFavorites::handleKeyHere(KEY key, MASK mask) // static std::optional FSFloaterWearableFavorites::getWearableFavoritesFolderID() { - LLUUID fs_root_cat_id = gInventory.findCategoryByName(ROOT_FIRESTORM_FOLDER); - if (!fs_root_cat_id.isNull()) + if (LLUUID fs_root_cat_id = gInventory.findCategoryByName(ROOT_FIRESTORM_FOLDER); !fs_root_cat_id.isNull()) { LLInventoryModel::item_array_t* items; LLInventoryModel::cat_array_t* cats; @@ -339,8 +337,7 @@ bool FSFloaterWearableFavorites::onOptionsMenuItemChecked(const LLSD& userdata) void FSFloaterWearableFavorites::onDoubleClick() { - LLUUID selected_item_id = mItemsList->getSelectedUUID(); - if (selected_item_id.notNull()) + if (LLUUID selected_item_id = mItemsList->getSelectedUUID(); selected_item_id.notNull()) { uuid_vec_t ids; ids.push_back(selected_item_id); diff --git a/indra/newview/fskeywords.cpp b/indra/newview/fskeywords.cpp index 88269625cf..b015ef39a4 100644 --- a/indra/newview/fskeywords.cpp +++ b/indra/newview/fskeywords.cpp @@ -120,9 +120,9 @@ bool FSKeywords::chatContainsKeyword(const LLChat& chat, bool is_local) if (sFSKeywordMatchWholeWords) { - for (std::vector::iterator it = mWordList.begin(); it != mWordList.end(); ++it) + for (const auto& word : mWordList) { - if (boost::regex_search(source, boost::regex("\\b" + (*it) + "\\b"))) + if (boost::regex_search(source, boost::regex("\\b" + word + "\\b"))) { return true; } @@ -130,9 +130,9 @@ bool FSKeywords::chatContainsKeyword(const LLChat& chat, bool is_local) } else { - for (std::vector::iterator it = mWordList.begin(); it != mWordList.end(); ++it) + for (const auto& word : mWordList) { - if (source.find((*it)) != std::string::npos) + if (source.find(word) != std::string::npos) { return true; } @@ -145,30 +145,27 @@ bool FSKeywords::chatContainsKeyword(const LLChat& chat, bool is_local) // FIRE-10178: Keyword Alerts in group IM do not work unless the group is in the foreground void FSKeywords::notify(const LLChat& chat) { - if (chat.mFromID != gAgentID || chat.mFromName == SYSTEM_FROM) + if ((chat.mFromID != gAgentID || chat.mFromName == SYSTEM_FROM) && !chat.mMuted && !LLMuteList::getInstance()->isMuted(chat.mFromID)) { - if (!chat.mMuted && !LLMuteList::getInstance()->isMuted(chat.mFromID)) + static LLCachedControl PlayModeUISndFSKeywordSound(gSavedPerAccountSettings, "PlayModeUISndFSKeywordSound"); + if (PlayModeUISndFSKeywordSound) { - static LLCachedControl PlayModeUISndFSKeywordSound(gSavedPerAccountSettings, "PlayModeUISndFSKeywordSound"); - if (PlayModeUISndFSKeywordSound) - { - LLUI::getInstance()->mAudioCallback(LLUUID(gSavedPerAccountSettings.getString("UISndFSKeywordSound"))); - } + LLUI::getInstance()->mAudioCallback(LLUUID(gSavedPerAccountSettings.getString("UISndFSKeywordSound"))); + } - static LLCachedControl FSEnableGrowl(gSavedSettings, "FSEnableGrowl"); - if (FSEnableGrowl) + static LLCachedControl FSEnableGrowl(gSavedSettings, "FSEnableGrowl"); + if (FSEnableGrowl) + { + std::string msg = chat.mFromName; + if (is_irc_me_prefix(chat.mText)) { - std::string msg = chat.mFromName; - if (is_irc_me_prefix(chat.mText)) - { - msg = msg + chat.mText.substr(3); - } - else - { - msg = msg + ": " + chat.mText; - } - GrowlManager::notify("Keyword Alert", msg, GROWL_KEYWORD_ALERT_TYPE); + msg = msg + chat.mText.substr(3); } + else + { + msg = msg + ": " + chat.mText; + } + GrowlManager::notify("Keyword Alert", msg, GROWL_KEYWORD_ALERT_TYPE); } } } diff --git a/indra/newview/fsmoneytracker.cpp b/indra/newview/fsmoneytracker.cpp index 54c36342fc..ae0aca659e 100644 --- a/indra/newview/fsmoneytracker.cpp +++ b/indra/newview/fsmoneytracker.cpp @@ -148,16 +148,13 @@ void FSMoneyTrackerListMenu::onContextMenuItemClick(const LLSD& userdata) if (option == "copy") { - FSMoneyTracker* floater = LLFloaterReg::findTypedInstance("money_tracker"); - if (floater) + if (FSMoneyTracker* floater = LLFloaterReg::findTypedInstance("money_tracker"); floater) { std::string copy_text; LLNameListCtrl* list = floater->getChild("payment_list"); - std::vector selected = list->getAllSelected(); - for (std::vector::iterator it = selected.begin(); it != selected.end(); ++it) + for (auto item : list->getAllSelected()) { - const LLScrollListItem* item = *it; copy_text += ( (copy_text.empty() ? "" : "\n") + item->getColumn(0)->getValue().asString() + ";" + item->getColumn(1)->getValue().asString() + ";" diff --git a/indra/newview/fsnearbychathub.cpp b/indra/newview/fsnearbychathub.cpp index 4bcc59d7a7..e607f503d5 100644 --- a/indra/newview/fsnearbychathub.cpp +++ b/indra/newview/fsnearbychathub.cpp @@ -48,10 +48,10 @@ #include "rlvactions.h" #include "rlvhandler.h" -static const U32 NAME_PREDICTION_MINIMUM_LENGTH = 3; +constexpr U32 NAME_PREDICTION_MINIMUM_LENGTH = 3; // *HACK* chat bar cannot return its correct height for some reason -static const S32 MAGIC_CHAT_BAR_PAD = 5; +constexpr S32 MAGIC_CHAT_BAR_PAD = 5; struct LLChatTypeTrigger { std::string name; @@ -237,8 +237,8 @@ bool matchChatTypeTrigger(const std::string& in_str, std::string* out_str) S32 FSNearbyChat::sLastSpecialChatChannel = 0; FSNearbyChat::FSNearbyChat() : - mDefaultChatBar(NULL), - mFocusedInputEditor(NULL) + mDefaultChatBar(nullptr), + mFocusedInputEditor(nullptr) { gSavedSettings.getControl("MainChatbarVisible")->getSignal()->connect(boost::bind(&FSNearbyChat::onDefaultChatBarButtonClicked, this)); } diff --git a/indra/newview/fspanelblocklist.cpp b/indra/newview/fspanelblocklist.cpp index cb45a75384..486532f7ee 100644 --- a/indra/newview/fspanelblocklist.cpp +++ b/indra/newview/fspanelblocklist.cpp @@ -132,12 +132,11 @@ BOOL FSPanelBlockList::handleKeyHere(KEY key, MASK mask) void FSPanelBlockList::selectBlocked(const LLUUID& mute_id) { mBlockedList->deselectAllItems(); - std::vector items = mBlockedList->getAllData(); - for (std::vector::iterator it = items.begin(); it != items.end(); it++) + for (auto item : mBlockedList->getAllData()) { - if ((*it)->getColumn(3)->getValue().asUUID() == mute_id) + if (item->getColumn(3)->getValue().asUUID() == mute_id) { - (*it)->setSelected(TRUE); + item->setSelected(TRUE); break; } } @@ -171,17 +170,15 @@ void FSPanelBlockList::refreshBlockedList() { mBlockedList->deleteAllItems(); - std::vector mutes = LLMuteList::getInstance()->getMutes(); - std::vector::iterator it; - for (it = mutes.begin(); it != mutes.end(); ++it) + for (const auto& mute : LLMuteList::getInstance()->getMutes()) { LLScrollListItem::Params item_p; - item_p.enabled(TRUE); + item_p.enabled(true); item_p.value(LLUUID::generateNewID()); // can't link UUID of blocked item directly because of mutes by name - item_p.columns.add().column("item_name").value(it->mName); - item_p.columns.add().column("item_type").value(it->getDisplayType()); - item_p.columns.add().column("item_mute_type").value(it->mType); - item_p.columns.add().column("item_mute_uuid").value(it->mID); + item_p.columns.add().column("item_name").value(mute.mName); + item_p.columns.add().column("item_type").value(mute.getDisplayType()); + item_p.columns.add().column("item_mute_type").value(mute.mType); + item_p.columns.add().column("item_mute_uuid").value(mute.mID); mBlockedList->addRow(item_p, ADD_BOTTOM); } @@ -208,11 +205,10 @@ void FSPanelBlockList::removeMutes() // list after each removal, sending us straight into a crash! LLMuteList::getInstance()->removeObserver(this); - std::vector selected_items = mBlockedList->getAllSelected(); - for (std::vector::iterator it = selected_items.begin(); it != selected_items.end(); it++) + for (auto item : mBlockedList->getAllSelected()) { - std::string name = (*it)->getColumn(COL_NAME)->getValue().asString(); - LLUUID id = (*it)->getColumn(COL_UUID)->getValue().asUUID(); + std::string name = item->getColumn(COL_NAME)->getValue().asString(); + LLUUID id = item->getColumn(COL_UUID)->getValue().asUUID(); LLMute mute(id, name); LLMuteList::getInstance()->remove(mute); } diff --git a/indra/newview/fspanelradar.cpp b/indra/newview/fspanelradar.cpp index b0eb1e168d..65b21e77fc 100644 --- a/indra/newview/fspanelradar.cpp +++ b/indra/newview/fspanelradar.cpp @@ -89,7 +89,7 @@ FSPanelRadar::FSPanelRadar() mFSRadarColumnConfigConnection(), mLastResizeDelta(0) { - mButtonsUpdater = new FSButtonsUpdater(boost::bind(&FSPanelRadar::updateButtons, this)); + mButtonsUpdater = std::make_unique(boost::bind(&FSPanelRadar::updateButtons, this)); mCommitCallbackRegistrar.add("Radar.AddFriend", boost::bind(&FSPanelRadar::onAddFriendButtonClicked, this)); mCommitCallbackRegistrar.add("Radar.Gear", boost::bind(&FSPanelRadar::onGearButtonClicked, this, _1)); @@ -117,9 +117,8 @@ FSPanelRadar::~FSPanelRadar() mFSRadarColumnConfigConnection.disconnect(); } - delete mButtonsUpdater; - - if (mOptionsMenuHandle.get()) mOptionsMenuHandle.get()->die(); + if (mOptionsMenuHandle.get()) + mOptionsMenuHandle.get()->die(); } BOOL FSPanelRadar::postBuild() @@ -152,8 +151,7 @@ BOOL FSPanelRadar::postBuild() mRadarGearButton = getChild("gear_btn"); mOptionsButton = getChild("options_btn"); - LLToggleableMenu* options_menu = LLUICtrlFactory::getInstance()->createFromFile("menu_fs_radar_options.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); - if (options_menu) + if (LLToggleableMenu* options_menu = LLUICtrlFactory::getInstance()->createFromFile("menu_fs_radar_options.xml", gMenuHolder, LLViewerMenuHolderGL::child_registry_t::instance()); options_menu) { mOptionsMenuHandle = options_menu->getHandle(); mOptionsButton->setMenu(options_menu, LLMenuButton::MP_BOTTOM_LEFT); @@ -204,8 +202,7 @@ void FSPanelRadar::updateButtons() LLUUID FSPanelRadar::getCurrentItemID() const { - LLScrollListItem* item = mRadarList->getFirstSelected(); - if (item) + if (LLScrollListItem* item = mRadarList->getFirstSelected(); item) { return item->getUUID(); } @@ -251,21 +248,14 @@ void FSPanelRadar::onRadarListDoubleClicked() LLUUID clicked_id = item->getUUID(); std::string name = item->getColumn(mRadarList->getColumn("name")->mIndex)->getValue().asString(); - FSRadar* radar = FSRadar::getInstance(); - if (radar) - { - radar->zoomAvatar(clicked_id, name); - } + FSRadar::getInstance()->zoomAvatar(clicked_id, name); } void FSPanelRadar::onRadarListCommitted() { - uuid_vec_t selected_uuids; - LLUUID sVal = mRadarList->getSelectedValue().asUUID(); - if (sVal.notNull()) + if (LLUUID sVal = mRadarList->getSelectedValue().asUUID(); sVal.notNull()) { - selected_uuids.push_back(sVal); - mMiniMap->setSelected(selected_uuids); + mMiniMap->setSelected({ sVal }); } updateButtons(); @@ -274,8 +264,7 @@ void FSPanelRadar::onRadarListCommitted() void FSPanelRadar::onAddFriendButtonClicked() { - LLUUID id = getCurrentItemID(); - if (id.notNull()) + if (LLUUID id = getCurrentItemID(); id.notNull()) { LLAvatarActions::requestFriendshipDialog(id); } @@ -301,14 +290,10 @@ void FSPanelRadar::onGearButtonClicked(LLUICtrl* btn) void FSPanelRadar::requestUpdate() { - FSRadar* radar = FSRadar::getInstance(); - if (radar) - { - std::vector entries; - LLSD stats; - radar->getCurrentData(entries, stats); - updateList(entries, stats); - } + std::vector entries; + LLSD stats; + FSRadar::getInstance()->getCurrentData(entries, stats); + updateList(entries, stats); } void FSPanelRadar::updateList(const std::vector& entries, const LLSD& stats) @@ -422,21 +407,21 @@ void FSPanelRadar::updateList(const std::vector& entries, const LLSD& stat radarNameCell->setColor(LLColor4(options["name_color"])); } - LLScrollListText* voiceLevelCell = (LLScrollListText*)row->getColumn(voiceLevelColumnIndex); if (entry.has("voice_level_icon")) { + LLScrollListText* voiceLevelCell = (LLScrollListText*)row->getColumn(voiceLevelColumnIndex); voiceLevelCell->setValue(entry["voice_level_icon"].asString()); } - LLScrollListText* flagsCell = (LLScrollListText*)row->getColumn(flagsColumnIndex); if (entry.has("flags")) { + LLScrollListText* flagsCell = (LLScrollListText*)row->getColumn(flagsColumnIndex); flagsCell->setValue(flagsColumnValues[entry["flags"].asInteger()]); } - LLScrollListText* ageCell = (LLScrollListText*)row->getColumn(ageColumnIndex); if (options.has("age_color")) { + LLScrollListText* ageCell = (LLScrollListText*)row->getColumn(ageColumnIndex); ageCell->setColor(LLColor4(options["age_color"])); } } @@ -477,7 +462,7 @@ void FSPanelRadar::onColumnDisplayModeChanged() std::vector column_params = mRadarList->getColumnInitParams(); S32 column_padding = mRadarList->getColumnPadding(); - LLFloater* parent_floater = nullptr; + LLFloater* parent_floater{ nullptr }; LLView* parent = getParent(); while (parent) { @@ -493,8 +478,8 @@ void FSPanelRadar::onColumnDisplayModeChanged() return; } - S32 default_width = 0; - S32 new_width = 0; + S32 default_width{ 0 }; + S32 new_width{ 0 }; S32 min_width, min_height; parent_floater->getResizeLimits(&min_width, &min_height); @@ -558,8 +543,7 @@ void FSPanelRadar::onColumnVisibilityChecked(const LLSD& userdata) U32 column_config = gSavedSettings.getU32("FSRadarColumnConfig"); U32 new_value; - U32 enabled = (mColumnBits[column] & column_config); - if (enabled) + if (U32 enabled = (mColumnBits[column] & column_config); enabled) { new_value = (column_config & ~mColumnBits[column]); } diff --git a/indra/newview/fspanelradar.h b/indra/newview/fspanelradar.h index 06550237cc..ecea395e85 100644 --- a/indra/newview/fspanelradar.h +++ b/indra/newview/fspanelradar.h @@ -92,7 +92,7 @@ private: LLHandle mOptionsMenuHandle; - FSRadar::Updater* mButtonsUpdater; + std::unique_ptr mButtonsUpdater; std::string mFilterSubString; std::string mFilterSubStringOrig; diff --git a/indra/newview/fsradar.cpp b/indra/newview/fsradar.cpp index db3be003ca..607ccff3f8 100644 --- a/indra/newview/fsradar.cpp +++ b/indra/newview/fsradar.cpp @@ -290,14 +290,13 @@ void FSRadar::updateRadarList() // Skip modelling this avatar if its basic data is either inaccessible, or it's a dummy placeholder auto ent = getEntry(avId); - LLViewerRegion* reg = world->getRegionFromPosGlobal(avPos); if (!ent) // don't update this radar listing if data is inaccessible { continue; } // Try to get the avatar's viewer object - we will need it anyway later - LLVOAvatar* avVo = (LLVOAvatar*)gObjectList.findObject(avId); + LLVOAvatar* avVo = static_cast(gObjectList.findObject(avId)); static LLUICachedControl sFSShowDummyAVsinRadar("FSShowDummyAVsinRadar"); if (!sFSShowDummyAVsinRadar && avVo && avVo->mIsDummy) @@ -315,7 +314,7 @@ void FSRadar::updateRadarList() } LLUUID avRegion; - if (reg) + if (LLViewerRegion* reg = world->getRegionFromPosGlobal(avPos); reg) { avRegion = reg->getRegionID(); } @@ -595,11 +594,10 @@ void FSRadar::updateRadarList() // Voice power level indicator if (voice_client->voiceEnabled() && voice_client->isVoiceWorking()) { - LLSpeaker* speaker = speakermgr->findSpeaker(avId); - if (speaker && speaker->isInVoiceChannel()) + if (LLSpeaker* speaker = speakermgr->findSpeaker(avId); speaker && speaker->isInVoiceChannel()) { EVoicePowerLevel power_level = voice_client->getPowerLevel(avId); - + switch (power_level) { case VPL_PTT_Off: @@ -703,8 +701,7 @@ void FSRadar::updateRadarList() } static LLCachedControl sRadarAlertChannel(gSavedSettings, "RadarAlertChannel"); - U32 num_entering = (U32)mRadarEnterAlerts.size(); - if (num_entering > 0) + if (U32 num_entering = (U32)mRadarEnterAlerts.size(); num_entering > 0) { mRadarFrameCount++; U32 num_this_pass = llmin(FSRADAR_MAX_AVATARS_PER_ALERT, num_entering); @@ -732,8 +729,8 @@ void FSRadar::updateRadarList() msg = llformat("%d,%d", mRadarFrameCount, num_this_pass); } } - U32 num_leaving = (U32)mRadarLeaveAlerts.size(); - if (num_leaving > 0) + + if (U32 num_leaving = (U32)mRadarLeaveAlerts.size(); num_leaving > 0) { mRadarFrameCount++; U32 num_this_pass = llmin(FSRADAR_MAX_AVATARS_PER_ALERT, num_leaving); @@ -1010,10 +1007,9 @@ void FSRadar::zoomAvatar(const LLUUID& avatar_id, std::string_view name) void FSRadar::updateNames() { - const entry_map_t::iterator it_end = mEntryList.end(); - for (entry_map_t::iterator it = mEntryList.begin(); it != it_end; ++it) + for (auto& [av_id, entry] : mEntryList) { - it->second->updateName(); + entry->updateName(); } } diff --git a/indra/newview/fsradarlistctrl.cpp b/indra/newview/fsradarlistctrl.cpp index 57e1d5a9c9..7841749bfd 100644 --- a/indra/newview/fsradarlistctrl.cpp +++ b/indra/newview/fsradarlistctrl.cpp @@ -43,25 +43,23 @@ BOOL FSRadarListCtrl::handleRightMouseDown(S32 x, S32 y, MASK mask) BOOL handled = LLUICtrl::handleRightMouseDown(x, y, mask); if ( (mContextMenu) && (!gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES)) ) { - std::vector selected_items = getAllSelected(); - if (selected_items.size() > 1) + if (std::vector selected_items = getAllSelected(); selected_items.size() > 1) { uuid_vec_t selected_uuids; - for (std::vector::iterator it = selected_items.begin(); it != selected_items.end(); ++it) + for (auto selected_item : selected_items) { - selected_uuids.push_back((*it)->getUUID()); + selected_uuids.emplace_back(selected_item->getUUID()); } mContextMenu->show(this, selected_uuids, x, y); } else { - LLScrollListItem* hit_item = hitItem(x, y); - if (hit_item) + if (LLScrollListItem* hit_item = hitItem(x, y); hit_item) { selectByID(hit_item->getValue()); LLUUID av = hit_item->getValue(); uuid_vec_t selected_uuids; - selected_uuids.push_back(av); + selected_uuids.emplace_back(av); mContextMenu->show(this, selected_uuids, x, y); } } diff --git a/indra/newview/llfloaterregioninfo.cpp b/indra/newview/llfloaterregioninfo.cpp index 33adad8f92..1254aa2c7a 100644 --- a/indra/newview/llfloaterregioninfo.cpp +++ b/indra/newview/llfloaterregioninfo.cpp @@ -3031,7 +3031,7 @@ BOOL LLPanelEstateAccess::postBuild() if (banned_name_list) { banned_name_list->setCommitOnSelectionChange(TRUE); - banned_name_list->setMaxItemCount(ESTATE_MAX_BANNED_IDS); + banned_name_list->setMaxItemCount(LLGridManager::instance().isInSecondLife() ? ESTATE_MAX_BANNED_IDS : ESTATE_MAX_BANNED_IDS_OS); // OpenSim } getChild("banned_search_input")->setCommitCallback(boost::bind(&LLPanelEstateAccess::onBannedSearchEdit, this, _2)); @@ -3044,7 +3044,7 @@ BOOL LLPanelEstateAccess::postBuild() if (manager_name_list) { manager_name_list->setCommitOnSelectionChange(TRUE); - manager_name_list->setMaxItemCount(ESTATE_MAX_MANAGERS * 4); // Allow extras for dupe issue + manager_name_list->setMaxItemCount((LLGridManager::instance().isInSecondLife() ? ESTATE_MAX_MANAGERS : ESTATE_MAX_MANAGERS_OS) * 4); // Allow extras for dupe issue // OpenSim } childSetAction("add_estate_manager_btn", boost::bind(&LLPanelEstateAccess::onClickAddEstateManager, this)); @@ -3175,10 +3175,10 @@ void LLPanelEstateAccess::onClickAddBannedAgent() { LLCtrlListInterface *list = childGetListInterface("banned_avatar_name_list"); if (!list) return; - if (list->getItemCount() >= ESTATE_MAX_BANNED_IDS) + if (list->getItemCount() >= (LLGridManager::instance().isInSecondLife() ? ESTATE_MAX_BANNED_IDS : ESTATE_MAX_BANNED_IDS_OS)) // OpenSim { LLSD args; - args["MAX_BANNED"] = llformat("%d", ESTATE_MAX_BANNED_IDS); + args["MAX_BANNED"] = llformat("%d", (LLGridManager::instance().isInSecondLife() ? ESTATE_MAX_BANNED_IDS : ESTATE_MAX_BANNED_IDS_OS)); // OpenSim LLNotificationsUtil::add("MaxBannedAgentsOnRegion", args); return; } @@ -3210,10 +3210,10 @@ void LLPanelEstateAccess::onClickAddEstateManager() { LLCtrlListInterface *list = childGetListInterface("estate_manager_name_list"); if (!list) return; - if (list->getItemCount() >= ESTATE_MAX_MANAGERS) + if (list->getItemCount() >= (LLGridManager::instance().isInSecondLife() ? ESTATE_MAX_MANAGERS : ESTATE_MAX_MANAGERS_OS)) // OpenSim { // Tell user they can't add more managers LLSD args; - args["MAX_MANAGER"] = llformat("%d", ESTATE_MAX_MANAGERS); + args["MAX_MANAGER"] = llformat("%d", (LLGridManager::instance().isInSecondLife() ? ESTATE_MAX_MANAGERS : ESTATE_MAX_MANAGERS_OS)); // OpenSim LLNotificationsUtil::add("MaxManagersOnRegion", args); } else @@ -3416,13 +3416,13 @@ void LLPanelEstateAccess::accessAddCore3(const uuid_vec_t& ids, std::vectorgetChild("banned_avatar_name_list"); LLNameListCtrl* em_list = panel->getChild("estate_manager_name_list"); int currentCount = (name_list ? name_list->getItemCount() : 0); - if (ids.size() + currentCount > ESTATE_MAX_BANNED_IDS) + if (ids.size() + currentCount > (LLGridManager::instance().isInSecondLife() ? ESTATE_MAX_BANNED_IDS : ESTATE_MAX_BANNED_IDS_OS)) // OpenSim { LLSD args; args["NUM_ADDED"] = llformat("%d", ids.size()); - args["MAX_AGENTS"] = llformat("%d", ESTATE_MAX_BANNED_IDS); + args["MAX_AGENTS"] = llformat("%d", (LLGridManager::instance().isInSecondLife() ? ESTATE_MAX_BANNED_IDS : ESTATE_MAX_BANNED_IDS_OS)); // OpenSim args["LIST_TYPE"] = LLTrans::getString("RegionInfoListTypeBannedAgents"); - args["NUM_EXCESS"] = llformat("%d", (ids.size() + currentCount) - ESTATE_MAX_BANNED_IDS); + args["NUM_EXCESS"] = llformat("%d", (ids.size() + currentCount) - (LLGridManager::instance().isInSecondLife() ? ESTATE_MAX_BANNED_IDS : ESTATE_MAX_BANNED_IDS_OS)); // OpenSim LLNotificationsUtil::add("MaxAgentOnRegionBatch", args); delete change_info; return; @@ -3801,7 +3801,7 @@ void LLPanelEstateAccess::requestEstateGetAccessCoro(std::string url) { LLStringUtil::format_map_t args; args["[BANNEDAGENTS]"] = llformat("%d", result["BannedAgents"].size()); - args["[MAXBANNED]"] = llformat("%d", ESTATE_MAX_BANNED_IDS); + args["[MAXBANNED]"] = llformat("%d", (LLGridManager::instance().isInSecondLife() ? ESTATE_MAX_BANNED_IDS : ESTATE_MAX_BANNED_IDS_OS)); // OpenSim std::string msg = LLTrans::getString("RegionInfoBannedResidents", args); panel->getChild("ban_resident_label")->setValue(LLSD(msg)); @@ -3863,7 +3863,7 @@ void LLPanelEstateAccess::requestEstateGetAccessCoro(std::string url) { LLStringUtil::format_map_t args; args["[ESTATEMANAGERS]"] = llformat("%d", result["Managers"].size()); - args["[MAXMANAGERS]"] = llformat("%d", ESTATE_MAX_MANAGERS); + args["[MAXMANAGERS]"] = llformat("%d", (LLGridManager::instance().isInSecondLife() ? ESTATE_MAX_MANAGERS : ESTATE_MAX_MANAGERS_OS)); // OpenSim std::string msg = LLTrans::getString("RegionInfoEstateManagers", args); panel->getChild("estate_manager_label")->setValue(LLSD(msg)); diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index d5570cd6f7..c9ed2693f4 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -7514,8 +7514,11 @@ void LLObjectBridge::buildContextMenu(LLMenuGL& menu, U32 flags) } // FIRE-21200: Attachment Points List in Alphabetical Order - attach_menu->getItems()->sort(LLViewerAttachMenu::sort()); - attach_hud_menu->getItems()->sort(LLViewerAttachMenu::sort()); + if (gSavedSettings.getBOOL("FSSortAttachmentSpotsAlphabetically")) + { + attach_menu->getItems()->sort(LLViewerAttachMenu::sort()); + attach_hud_menu->getItems()->sort(LLViewerAttachMenu::sort()); + } // } } diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp index 39eb6d82eb..87b8837d58 100644 --- a/indra/newview/llpanelobject.cpp +++ b/indra/newview/llpanelobject.cpp @@ -1500,25 +1500,23 @@ void LLPanelObject::deactivateStandardFields() getChildView("advanced_slice")->setVisible(FALSE); } -void LLPanelObject::activateMeshFields(LLViewerObject * objectp) +void LLPanelObject::activateMeshFields(LLViewerObject* objectp) { LLStringUtil::format_map_t args; static const char * dataFields[4] = { "LOWESTTRIS", "LOWTRIS", "MIDTRIS", "HIGHTRIS" }; - LLTextBox *num_tris = getChild("mesh_lod_num_tris"); - if (num_tris) + LLTextBox* num_tris = getChild("mesh_lod_num_tris"); + for (int i = 0; i < 4; i++) { - for (int i = 0; i < 4; i++) - { - args[dataFields[i]] = llformat("%d", objectp->mDrawable->getVOVolume()->getLODTriangleCount(i)); - } - num_tris->setText(getString("mesh_lod_num_tris_values",args)); - num_tris->setVisible(TRUE); + args[dataFields[i]] = llformat("%d", objectp->mDrawable->getVOVolume()->getLODTriangleCount(i)); } - childSetVisible("mesh_info_label", TRUE); - childSetVisible("lod_label", TRUE); - childSetVisible("lod_num_tris", TRUE); - childSetVisible("mesh_lod_label", TRUE); + num_tris->setText(getString("mesh_lod_num_tris_values",args)); + num_tris->setVisible(TRUE); + + childSetVisible("mesh_info_label", true); + childSetVisible("lod_label", true); + childSetVisible("lod_num_tris", true); + childSetVisible("mesh_lod_label", true); // Mesh specific display mComboLOD->setEnabled(TRUE); mComboLOD->setVisible(TRUE); @@ -1541,7 +1539,7 @@ void LLPanelObject::activateMeshFields(LLViewerObject * objectp) radius = objectp->getVolume() ? objectp->getVolume()->mLODScaleBias.scaledVec(objectp->getScale()).length() : objectp->getScale().length(); } - static const F32 max_distance = 512.f; + constexpr F32 max_distance = 512.f; F32 factor; F32 dlowest = llmin(radius / 0.03f, max_distance); F32 dlow = llmin(radius / 0.06f, max_distance); @@ -1591,7 +1589,7 @@ void LLPanelObject::activateMeshFields(LLViewerObject * objectp) setLODDistValues(tb, factor, dmid, dlow, dlowest); } -void LLPanelObject::setLODDistValues(LLTextBox * tb, F32 factor, F32 dmid, F32 dlow, F32 dlowest) +void LLPanelObject::setLODDistValues(LLTextBox* tb, F32 factor, F32 dmid, F32 dlow, F32 dlowest) { if (tb) { @@ -1607,11 +1605,11 @@ void LLPanelObject::setLODDistValues(LLTextBox * tb, F32 factor, F32 dmid, F32 d void LLPanelObject::deactivateMeshFields() { - childSetVisible("mesh_info_label", FALSE); - childSetVisible("lod_label", FALSE); - childSetVisible("lod_num_tris", FALSE); - childSetVisible("mesh_lod_num_tris", FALSE); - childSetVisible("mesh_lod_label", FALSE); + childSetVisible("mesh_info_label", false); + childSetVisible("lod_label", false); + childSetVisible("lod_num_tris", false); + childSetVisible("mesh_lod_num_tris", false); + childSetVisible("mesh_lod_label", false); // reset the debug setting as we are editing a new object gSavedSettings.setS32("ShowSpecificLODInEdit", -1); // @@ -1620,7 +1618,7 @@ void LLPanelObject::deactivateMeshFields() mComboLOD->setEnabled(FALSE); mComboLOD->setVisible(FALSE); - childSetVisible("object_radius", FALSE); + childSetVisible("object_radius", false); LLTextBox* tb = getChild("object_radius_value"); tb->setVisible(FALSE); diff --git a/indra/newview/llviewerattachmenu.cpp b/indra/newview/llviewerattachmenu.cpp index ed0a2fe342..cce9a5f7a4 100644 --- a/indra/newview/llviewerattachmenu.cpp +++ b/indra/newview/llviewerattachmenu.cpp @@ -90,8 +90,11 @@ void LLViewerAttachMenu::populateMenus(const std::string& attach_to_menu_name, c } // FIRE-21200: Attachment Points List in Alphabetical Order - attach_menu->getItems()->sort(LLViewerAttachMenu::sort()); - attach_hud_menu->getItems()->sort(LLViewerAttachMenu::sort()); + if (gSavedSettings.getBOOL("FSSortAttachmentSpotsAlphabetically")) + { + attach_menu->getItems()->sort(LLViewerAttachMenu::sort()); + attach_hud_menu->getItems()->sort(LLViewerAttachMenu::sort()); + } // } diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index a7a6915146..6e993b2a62 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -11950,7 +11950,7 @@ void LLPipeline::handleShadowDetailChanged() { skipRenderingShadows(); } - else + // else Ghosting fix for Whirly to try. just remove this for now. { LLViewerShaderMgr::instance()->setShaders(); } diff --git a/indra/newview/skins/default/xui/de/floater_preferences.xml b/indra/newview/skins/default/xui/de/floater_preferences.xml index f8d8485a22..46cf0c49fa 100644 --- a/indra/newview/skins/default/xui/de/floater_preferences.xml +++ b/indra/newview/skins/default/xui/de/floater_preferences.xml @@ -3,7 +3,7 @@