diff --git a/indra/llui/llscrolllistctrl.cpp b/indra/llui/llscrolllistctrl.cpp index 00366097d5..34afcef81d 100644 --- a/indra/llui/llscrolllistctrl.cpp +++ b/indra/llui/llscrolllistctrl.cpp @@ -3397,6 +3397,7 @@ void LLScrollListCtrl::setFilterString(const std::string& str) mFilterString = str; std::transform(mFilterString.begin(), mFilterString.end(), mFilterString.begin(), ::tolower); mIsFiltered = (mFilterColumn > -1 && !mFilterString.empty()); + updateLayout(); } bool LLScrollListCtrl::isFiltered(const LLScrollListItem* item) const diff --git a/indra/newview/llattachmentsmgr.cpp b/indra/newview/llattachmentsmgr.cpp index f529c3023d..964ff30bea 100644 --- a/indra/newview/llattachmentsmgr.cpp +++ b/indra/newview/llattachmentsmgr.cpp @@ -309,6 +309,7 @@ void LLAttachmentsMgr::linkRecentlyArrivedAttachments() { if (isAgentAvatarValid() && gAgentAvatarp->isWearingAttachment(*it) && + !gAgentAvatarp->getWornAttachment(*it)->isTempAttachment() && // Don't link temp attachments in COF! !LLAppearanceMgr::instance().isLinkedInCOF(*it)) { LLUUID item_id = *it; @@ -321,12 +322,16 @@ void LLAttachmentsMgr::linkRecentlyArrivedAttachments() if (ids_to_link.size()) { // [SL:KB] - Patch: Appearance-SyncAttach | Checked: 2015-06-24 (Catznip-3.7) - LLPointer cb = new LLRegisterAttachmentCallback(); + LLPointer cb = NULL; for (uuid_vec_t::const_iterator itAttach = ids_to_link.begin(); itAttach != ids_to_link.end(); ++itAttach) { const LLUUID& idAttach = *itAttach; if (std::find(mPendingAttachLinks.begin(), mPendingAttachLinks.end(), idAttach) == mPendingAttachLinks.end()) { + if (cb.isNull()) + { + cb = new LLRegisterAttachmentCallback(); + } LLAppearanceMgr::instance().addCOFItemLink(idAttach, cb); mPendingAttachLinks.insert(idAttach); } diff --git a/indra/newview/llfavoritesbar.cpp b/indra/newview/llfavoritesbar.cpp index 00da29ae89..bbf10e32b6 100644 --- a/indra/newview/llfavoritesbar.cpp +++ b/indra/newview/llfavoritesbar.cpp @@ -56,6 +56,7 @@ #include "llviewernetwork.h" // FIRE-10122 - User@grid stored_favorites.xml - getGrid() #include "fsfloaterplacedetails.h" +#include "lleventtimer.h" static LLDefaultChildRegistry::Register r("favorites_bar"); @@ -66,18 +67,25 @@ const S32 DROP_DOWN_MENU_TOP_PAD = 13; * Helper for LLFavoriteLandmarkButton and LLFavoriteLandmarkMenuItem. * Performing requests for SLURL for given Landmark ID */ -class LLLandmarkInfoGetter +// FIRE-20370: Viewer sends multiple map block requests when hovering over favorites bar button +//class LLLandmarkInfoGetter +class LLLandmarkInfoGetter : public LLEventTimer { public: LLLandmarkInfoGetter() - : mLandmarkID(LLUUID::null), - mName("(Loading...)"), + : LLEventTimer(1.f), + mLandmarkID(LLUUID::null), + // Localization fix in LLLandmarkInfoGetter + //mName("(Loading...)"), + mName(LLTrans::getString("LoadingData")), mPosX(0), mPosY(0), mPosZ(0), + mIsLoading(false), // FIRE-20370: Viewer sends multiple map block requests when hovering over favorites bar button mLoaded(false) { mHandle.bind(this); + mEventTimer.stop(); // FIRE-20370: Viewer sends multiple map block requests when hovering over favorites bar button } void setLandmarkID(const LLUUID& id) { mLandmarkID = id; } @@ -85,7 +93,10 @@ public: const std::string& getName() { - if(!mLoaded) + // FIRE-20370: Viewer sends multiple map block requests when hovering over favorites bar button + //if(!mLoaded) + if (!mLoaded && !mIsLoading) + // requestNameAndPos(); return mName; @@ -93,25 +104,47 @@ public: S32 getPosX() { - if (!mLoaded) + // FIRE-20370: Viewer sends multiple map block requests when hovering over favorites bar button + //if (!mLoaded) + if (!mLoaded && !mIsLoading) + // requestNameAndPos(); return mPosX; } S32 getPosY() { - if (!mLoaded) + // FIRE-20370: Viewer sends multiple map block requests when hovering over favorites bar button + //if (!mLoaded) + if (!mLoaded && !mIsLoading) + // requestNameAndPos(); return mPosY; } S32 getPosZ() { - if (!mLoaded) + // FIRE-20370: Viewer sends multiple map block requests when hovering over favorites bar button + //if (!mLoaded) + if (!mLoaded && !mIsLoading) + // requestNameAndPos(); return mPosZ; } + // FIRE-20370: Viewer sends multiple map block requests when hovering over favorites bar button + bool isLoaded() const + { + return mLoaded; + } + + /*virtual */ BOOL tick() + { + requestNameAndPos(); + return FALSE; + } + // + private: /** * Requests landmark data from server. @@ -124,6 +157,10 @@ private: LLVector3d g_pos; if(LLLandmarkActions::getLandmarkGlobalPos(mLandmarkID, g_pos)) { + // FIRE-20370: Viewer sends multiple map block requests when hovering over favorites bar button + mIsLoading = true; + mEventTimer.start(); + // LLLandmarkActions::getRegionNameAndCoordsFromPosGlobal(g_pos, boost::bind(&LLLandmarkInfoGetter::landmarkNameCallback, static_cast >(mHandle), _1, _2, _3, _4)); } @@ -139,6 +176,10 @@ private: getter->mPosZ = z; getter->mName = name; getter->mLoaded = true; + // FIRE-20370: Viewer sends multiple map block requests when hovering over favorites bar button + getter->mIsLoading = false; + getter->mEventTimer.stop(); + // } } @@ -148,6 +189,7 @@ private: S32 mPosY; S32 mPosZ; bool mLoaded; + bool mIsLoading; // FIRE-20370: Viewer sends multiple map block requests when hovering over favorites bar button LLRootHandle mHandle; }; @@ -166,18 +208,34 @@ public: { std::string region_name = mLandmarkInfoGetter.getName(); - if (!region_name.empty()) + // FIRE-20370: Viewer sends multiple map block requests when hovering over favorites bar button + //if (!region_name.empty()) + //{ + // std::string extra_message = llformat("%s (%d, %d, %d)", region_name.c_str(), + // mLandmarkInfoGetter.getPosX(), mLandmarkInfoGetter.getPosY(), mLandmarkInfoGetter.getPosZ()); + + // LLToolTip::Params params; + // params.message = llformat("%s\n%s", getLabelSelected().c_str(), extra_message.c_str()); + // params.max_width = 1000; + // params.sticky_rect = calcScreenRect(); + + // LLToolTipMgr::instance().show(params); + //} + std::string extra_message = region_name; + if (mLandmarkInfoGetter.isLoaded()) { - std::string extra_message = llformat("%s (%d, %d, %d)", region_name.c_str(), + extra_message = llformat("%s (%d, %d, %d)", region_name.c_str(), mLandmarkInfoGetter.getPosX(), mLandmarkInfoGetter.getPosY(), mLandmarkInfoGetter.getPosZ()); - - LLToolTip::Params params; - params.message = llformat("%s\n%s", getLabelSelected().c_str(), extra_message.c_str()); - params.max_width = 1000; - params.sticky_rect = calcScreenRect(); - - LLToolTipMgr::instance().show(params); } + + LLToolTip::Params params; + params.message = llformat("%s\n%s", getLabelSelected().c_str(), extra_message.c_str()); + params.max_width = 1000; + params.sticky_rect = calcScreenRect(); + + LLToolTipMgr::instance().show(params); + // + return TRUE; } @@ -229,13 +287,25 @@ public: BOOL handleToolTip(S32 x, S32 y, MASK mask) { std::string region_name = mLandmarkInfoGetter.getName(); - if (!region_name.empty()) + // FIRE-20370: Viewer sends multiple map block requests when hovering over favorites bar button + //if (!region_name.empty()) + if (mLandmarkInfoGetter.isLoaded()) + // { LLToolTip::Params params; params.message = llformat("%s\n%s (%d, %d)", getLabel().c_str(), region_name.c_str(), mLandmarkInfoGetter.getPosX(), mLandmarkInfoGetter.getPosY()); params.sticky_rect = calcScreenRect(); LLToolTipMgr::instance().show(params); } + // FIRE-20370: Viewer sends multiple map block requests when hovering over favorites bar button + else + { + LLToolTip::Params params; + params.message = llformat("%s\n%s (%d, %d)", getLabel().c_str(), region_name.c_str()); + params.sticky_rect = calcScreenRect(); + LLToolTipMgr::instance().show(params); + } + // return TRUE; } diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 7e13086406..4fdedd1802 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -4686,7 +4686,7 @@ void process_chat_from_simulator(LLMessageSystem *msg, void **user_data) sdQuery["name"] = chat.mFromName; sdQuery["owner"] = owner_id; - if ( (!RlvActions::canShowName(RlvActions::SNC_COUNT, owner_id)) && (!is_owned_by_me) ) + if ( (!RlvActions::canShowName(RlvActions::SNC_DEFAULT, owner_id)) && (!is_owned_by_me) ) sdQuery["rlv_shownames"] = true; const LLViewerRegion* pRegion = LLWorld::getInstance()->getRegionFromPosAgent(chat.mPosAgent); diff --git a/indra/newview/llvoavatarself.cpp b/indra/newview/llvoavatarself.cpp index 861cb6c63d..4bc91f635b 100644 --- a/indra/newview/llvoavatarself.cpp +++ b/indra/newview/llvoavatarself.cpp @@ -996,7 +996,9 @@ BOOL LLVOAvatarSelf::updateCharacter(LLAgent &agent) // virtual BOOL LLVOAvatarSelf::isValid() const { - return ((getRegion() != NULL) && !isDead()); + // Skip unregistering attachments during shutdown + //return ((getRegion() != NULL) && !isDead()); + return ((getRegion() != NULL) && !isDead() && !LLApp::isExiting()); } // virtual diff --git a/indra/newview/llvoicevivox.cpp b/indra/newview/llvoicevivox.cpp index fd5eb51959..337f7ec237 100644 --- a/indra/newview/llvoicevivox.cpp +++ b/indra/newview/llvoicevivox.cpp @@ -1548,7 +1548,10 @@ bool LLVivoxVoiceClient::waitForChannel() { recordingAndPlaybackMode(); } - else if (checkParcelChanged() || (mNextAudioSession == NULL)) + // FIRE-20371: Viewer spams region with ParcelVoiceInfoRequest if voice is disabled on parcel + //else if (checkParcelChanged() || (mNextAudioSession == NULL)) + else if ((checkParcelChanged() || (mNextAudioSession == NULL)) && LLViewerParcelMgr::instance().allowAgentVoice()) + // { // the parcel is changed, or we have no pending audio sessions, // so try to request the parcel voice info diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml index 8ba1837738..8dce494697 100644 --- a/indra/newview/skins/default/xui/de/notifications.xml +++ b/indra/newview/skins/default/xui/de/notifications.xml @@ -1400,7 +1400,7 @@ Sie können [APP_NAME] normal verwenden. Andere Benutzer können Sie korrekt dar - [HUD_REASON], es wird wahrscheinlich die Performance negativ beeinflussen. + [HUD_REASON]. Es wird wahrscheinlich die Performance negativ beeinflussen. diff --git a/indra/newview/skins/default/xui/de/strings.xml b/indra/newview/skins/default/xui/de/strings.xml index 5c755ad96b..f26d46b82d 100644 --- a/indra/newview/skins/default/xui/de/strings.xml +++ b/indra/newview/skins/default/xui/de/strings.xml @@ -91,6 +91,9 @@ VFS (Cache) Erstellungszeit: [VFS_DATE] Paketverlust: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%) + + [day, datetime, slt]. [month, datetime, slt] [year, datetime, slt] [hour24, datetime, slt]:[min, datetime, slt]:[second,datetime,slt] SLT + Fehler beim Abrufen der URL für die Server-Versionshinweise. diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index ac8c409071..d1c155da1c 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -3454,7 +3454,7 @@ Your [https://community.secondlife.com/t5/English-Knowledge-Base/Avatar-Renderin HUDComplexityWarning - [HUD_REASON], it is likely to negatively affect your performance. + [HUD_REASON]. It is likely to negatively affect your performance. diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index 3d3abc0905..7694cb4a16 100644 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -80,7 +80,7 @@ Texture memory: [TEXTUREMEMORY] MB ([TEXTUREMEMORYMULTIPLIER]) VFS (cache) creation time (UTC): [VFS_DATE] Packets Lost: [PACKETS_LOST,number,0]/[PACKETS_IN,number,0] ([PACKETS_PCT,number,1]%) - [month, datetime, slt] [day, datetime, slt] [year, datetime, slt] [hour, datetime, slt]:[min, datetime, slt]:[second,datetime,slt] + [month, datetime, slt] [day, datetime, slt] [year, datetime, slt] [hour, datetime, slt]:[min, datetime, slt]:[second,datetime,slt] SLT Error fetching server release notes URL. Build Configuration diff --git a/indra/newview/skins/default/xui/pl/floater_report_abuse.xml b/indra/newview/skins/default/xui/pl/floater_report_abuse.xml index ec790c97f9..b71e70e84e 100644 --- a/indra/newview/skins/default/xui/pl/floater_report_abuse.xml +++ b/indra/newview/skins/default/xui/pl/floater_report_abuse.xml @@ -4,7 +4,6 @@ Zdjęcie ekranu