From afa9036dda4a7984919266db118dbb79c19c47af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20H=C3=B6rmann?= Date: Sat, 22 Jun 2024 14:38:47 +0200 Subject: [PATCH 1/3] annotate GCC 13 -Wdangling reference false positives so they are ignored --- indra/llui/llfloaterreg.h | 11 +++++++++++ indra/newview/llpathfindingnavmesh.cpp | 11 +++++++++++ indra/newview/rlvcommon.cpp | 7 +++++++ indra/newview/rlvhandler.cpp | 7 +++++++ 4 files changed, 36 insertions(+) diff --git a/indra/llui/llfloaterreg.h b/indra/llui/llfloaterreg.h index c30e6afe7a..9f8a15f54d 100644 --- a/indra/llui/llfloaterreg.h +++ b/indra/llui/llfloaterreg.h @@ -123,7 +123,18 @@ public: static bool destroyInstance(const std::string& name, const LLSD& key = LLSD()); // Iterators + // ignore dangling reference false positives in gcc13 +#if defined(__GNUC__) && (__GNUC__ >= 13) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdangling-reference" +#endif + // static const_instance_list_t& getFloaterList(const std::string& name); + // ignore dangling reference false positives in gcc13 +#if defined(__GNUC__) && (__GNUC__ >= 13) +#pragma GCC diagnostic pop +#endif + // // Visibility Management // [RLVa:KB] - Checked: 2012-02-07 (RLVa-1.4.5) | Added: RLVa-1.4.5 diff --git a/indra/newview/llpathfindingnavmesh.cpp b/indra/newview/llpathfindingnavmesh.cpp index 52a7383da6..5832e47a72 100644 --- a/indra/newview/llpathfindingnavmesh.cpp +++ b/indra/newview/llpathfindingnavmesh.cpp @@ -139,7 +139,18 @@ void LLPathfindingNavMesh::handleNavMeshResult(const LLSD &pContent, U32 pNavMes ENavMeshRequestStatus status; if ( pContent.has(NAVMESH_DATA_FIELD) ) { + // ignore dangling reference false positives in gcc13 +#if defined(__GNUC__) && (__GNUC__ >= 13) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdangling-reference" +#endif + // const LLSD::Binary &value = pContent.get(NAVMESH_DATA_FIELD).asBinary(); + // ignore dangling reference false positives in gcc13 +#if defined(__GNUC__) && (__GNUC__ >= 13) +#pragma GCC diagnostic pop +#endif + // unsigned int binSize = value.size(); std::string newStr(reinterpret_cast(&value[0]), binSize); std::istringstream streamdecomp( newStr ); diff --git a/indra/newview/rlvcommon.cpp b/indra/newview/rlvcommon.cpp index b64171451d..1d93c91a32 100644 --- a/indra/newview/rlvcommon.cpp +++ b/indra/newview/rlvcommon.cpp @@ -490,7 +490,14 @@ void RlvUtil::filterLocation(std::string& strUTF8Text) { // Filter any mention of the surrounding region names LLWorld::region_list_t regions = LLWorld::getInstance()->getRegionList(); +#if defined(__GNUC__) && (__GNUC__ >= 13) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdangling-reference" +#endif const std::string& strHiddenRegion = RlvStrings::getString(RlvStringKeys::Hidden::Region); +#if defined(__GNUC__) && (__GNUC__ >= 13) +#pragma GCC diagnostic pop +#endif for (LLWorld::region_list_t::const_iterator itRegion = regions.begin(); itRegion != regions.end(); ++itRegion) boost::replace_all_regex(strUTF8Text, boost::regex("\\b" + escape_for_regex((*itRegion)->getName()) + "\\b", boost::regex::icase), strHiddenRegion); diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index f3afeb05b9..476e29d05a 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -374,7 +374,14 @@ void RlvHandler::getAttachmentResourcesCoro(const std::string& strUrl) for (LLSD::array_const_iterator itAttachObj = sdAttachObjects.beginArray(), endAttachObj = sdAttachObjects.endArray(); itAttachObj != endAttachObj; ++itAttachObj) { const LLUUID idObj = itAttachObj->get("id").asUUID(); +#if defined(__GNUC__) && (__GNUC__ >= 13) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdangling-reference" +#endif const std::string& strObjName = itAttachObj->get("name").asStringRef(); +#if defined(__GNUC__) && (__GNUC__ >= 13) +#pragma GCC diagnostic pop +#endif // If it's an attachment, it should be a temporary one (NOTE: we might catch it before it's had a chance to attach) const LLViewerObject* pObj = gObjectList.findObject(idObj); From 69b405553ff550fab230ef7624e6dd487302452f Mon Sep 17 00:00:00 2001 From: Beq Date: Fri, 19 Jul 2024 16:31:49 +0100 Subject: [PATCH 2/3] Updated VRAM reporting logic on Linux Modified the condition for using NVXMemInfo in LLWindowSDL. Now, it will only use accurate feedback onNVidia if there's no override being used. --- indra/llwindow/llwindowsdl2.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/indra/llwindow/llwindowsdl2.cpp b/indra/llwindow/llwindowsdl2.cpp index 7c877c8ba7..8128d33619 100644 --- a/indra/llwindow/llwindowsdl2.cpp +++ b/indra/llwindow/llwindowsdl2.cpp @@ -2691,7 +2691,8 @@ U32 LLWindowSDL::getAvailableVRAMMegabytes() return gGLManager.mVRAM - (LLImageGL::getTextureBytesAllocated() * total_factor/mb); */ LL_PROFILE_ZONE_SCOPED; - if (gGLManager.mHasNVXMemInfo) + // Only use the accurate feedback if we are not using an override + if (gGLManager.mHasNVXMemInfo && gGLManager.mVRAM == gGLManager.mVRAMDetected) { S32 available_memory; glGetIntegerv(GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX, &available_memory); From 3dc98a12921ad5321d4293d3aa625d35b68aad6f Mon Sep 17 00:00:00 2001 From: PanteraPolnocy Date: Sat, 20 Jul 2024 13:20:42 +0200 Subject: [PATCH 3/3] fire-34309 fire-34311 updated french (laurent bechir) and russian (romka swallowtail) translations --- indra/newview/skins/default/xui/fr/floater_camera.xml | 2 ++ .../newview/skins/default/xui/fr/floater_fs_camera_small.xml | 2 ++ indra/newview/skins/default/xui/ru/floater_camera.xml | 4 +++- .../newview/skins/default/xui/ru/floater_fs_camera_small.xml | 2 ++ 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/fr/floater_camera.xml b/indra/newview/skins/default/xui/fr/floater_camera.xml index b87d0619f8..3e4c995885 100644 --- a/indra/newview/skins/default/xui/fr/floater_camera.xml +++ b/indra/newview/skins/default/xui/fr/floater_camera.xml @@ -17,6 +17,8 @@ +