From a75582f8fbf816f85ac131a546070e44b18dcb28 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Wed, 8 May 2019 23:38:40 +0200 Subject: [PATCH 01/21] Stop whining... --- indra/newview/lllogininstance.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/indra/newview/lllogininstance.cpp b/indra/newview/lllogininstance.cpp index fe67f0172d..2df3b58b0f 100644 --- a/indra/newview/lllogininstance.cpp +++ b/indra/newview/lllogininstance.cpp @@ -63,9 +63,9 @@ #include const S32 LOGIN_MAX_RETRIES = 3; -const F32 LOGIN_SRV_TIMEOUT_MIN = 10; -const F32 LOGIN_SRV_TIMEOUT_MAX = 120; -const F32 LOGIN_DNS_TIMEOUT_FACTOR = 0.9; // make DNS wait shorter then retry time +const F32 LOGIN_SRV_TIMEOUT_MIN = 10.f; +const F32 LOGIN_SRV_TIMEOUT_MAX = 120.f; +const F32 LOGIN_DNS_TIMEOUT_FACTOR = 0.9f; // make DNS wait shorter then retry time class LLLoginInstance::Disposable { public: From 37a1d8ef2ebb57a0f6af9af631ca10e034e60324 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Thu, 9 May 2019 21:47:31 +0200 Subject: [PATCH 02/21] FIRE-23969: Fix broken preference search since last maint RC --- indra/newview/llsearchableui.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/indra/newview/llsearchableui.cpp b/indra/newview/llsearchableui.cpp index de90896548..513af68d25 100644 --- a/indra/newview/llsearchableui.cpp +++ b/indra/newview/llsearchableui.cpp @@ -70,10 +70,12 @@ bool ll::prefs::PanelData::hightlightAndHide( LLWString const &aFilter ) for( tSearchableItemList::iterator itr = mChildren.begin(); itr != mChildren.end(); ++itr ) (*itr)->setNotHighlighted( ); - if (aFilter.empty()) - { - return true; - } + // FIRE-23969: This breaks prefs search - and isn't needed on FS + //if (aFilter.empty()) + //{ + // return true; + //} + // bool bVisible(false); for( tSearchableItemList::iterator itr = mChildren.begin(); itr != mChildren.end(); ++itr ) From 7a95f818b8182ba28334cf75f8c1a7f3b5cb5c6b Mon Sep 17 00:00:00 2001 From: Ansariel Date: Sat, 11 May 2019 13:24:51 +0200 Subject: [PATCH 03/21] Fix layout issue in mesh upload floater --- indra/newview/skins/default/xui/de/floater_model_preview.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/skins/default/xui/de/floater_model_preview.xml b/indra/newview/skins/default/xui/de/floater_model_preview.xml index a69839dcd1..4ffc7e76f8 100644 --- a/indra/newview/skins/default/xui/de/floater_model_preview.xml +++ b/indra/newview/skins/default/xui/de/floater_model_preview.xml @@ -306,7 +306,7 @@ - Z-Offset (Avatar anheben oder senken): + Z-Offset (Av. anheben / senken): From 603b840a0fc24facc3f7999fe9694e13f649cf44 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Sat, 11 May 2019 14:22:24 +0200 Subject: [PATCH 04/21] Correctly handle the case when building without OpenSim and without Havok support --- indra/CMakeLists.txt | 5 +++++ indra/cmake/Variables.cmake | 2 +- indra/newview/llappviewer.cpp | 8 +++++--- indra/newview/llfloatermodelpreview.cpp | 2 +- indra/newview/llfloaterpathfindingconsole.cpp | 4 ++-- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/indra/CMakeLists.txt b/indra/CMakeLists.txt index 4b7b36735c..7b7e7c8348 100644 --- a/indra/CMakeLists.txt +++ b/indra/CMakeLists.txt @@ -36,6 +36,11 @@ else (OPENSIM) endif() message("compiling without OpenSim support") endif (OPENSIM) + +if (HAVOK_TPV) + add_definitions(-DHAVOK_TPV=1) + message("compiling with Havok libraries") +endif (HAVOK_TPV) # # Support for test builds diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake index b74990ce7d..ea98beedb6 100644 --- a/indra/cmake/Variables.cmake +++ b/indra/cmake/Variables.cmake @@ -221,7 +221,7 @@ set(USE_PRECOMPILED_HEADERS ON CACHE BOOL "Enable use of precompiled header dire # When using Havok, we have to turn OpenSim support off if( HAVOK_TPV ) if( OPENSIM ) - message( "Compiling with Havok libraries, disabling OpenSim support" ) + message( "compiling with Havok libraries, disabling OpenSim support" ) endif( OPENSIM ) set( OPENSIM OFF ) diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index d680580d86..01551e55c3 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2055,7 +2055,7 @@ bool LLAppViewer::cleanup() // FIRE-8385 Crash on exit in Havok. It is hard to say why it happens, as we only have the binary Havok blob. This is a hack around it. // Due to the fact the process is going to die anyway, the OS will clean up any reources left by not calling quitSystem. // The OpenSim version does not use Havok, it is okay to call shutdown then. -#ifdef OPENSIM +#ifndef HAVOK_TPV // shut down Havok LLPhysicsExtensions::quitSystem(); #endif // @@ -3694,10 +3694,12 @@ LLSD LLAppViewer::getViewerInfo() const //} // FIRE-8273: Add Open-sim indicator to About floater -#ifdef OPENSIM +#if defined OPENSIM info["BUILD_TYPE"] = LLTrans::getString("FSWithOpensim"); -#else +#elif defined HAVOK_TPV info["BUILD_TYPE"] = LLTrans::getString("FSWithHavok"); +#else + info["BUILD_TYPE"] = std::string(); #endif // OPENSIM // info["SKIN"] = gSavedSettings.getString("FSInternalSkinCurrent"); diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index c965f933b1..f440092db4 100644 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -410,7 +410,7 @@ BOOL LLFloaterModelPreview::postBuild() { validate_url = llformat("http://secondlife.%s.lindenlab.com/my/account/mesh.php", current_grid.c_str()); } -#ifdef OPENSIM // +#ifndef HAVOK_TPV // else { // TODO: Opensim: Set it to something reasonable diff --git a/indra/newview/llfloaterpathfindingconsole.cpp b/indra/newview/llfloaterpathfindingconsole.cpp index 74d60ed234..943e3baa89 100644 --- a/indra/newview/llfloaterpathfindingconsole.cpp +++ b/indra/newview/llfloaterpathfindingconsole.cpp @@ -58,7 +58,7 @@ #include "pipeline.h" // For NoHavok alert -#ifdef OPENSIM +#ifndef HAVOK_TPV #include "llnotificationsutil.h" #endif // OPENSIM // @@ -251,7 +251,7 @@ void LLFloaterPathfindingConsole::onOpen(const LLSD& pKey) switchIntoTestPathMode(); } // Show an alert dialog if using the Opensim viewer as functionality will be limited without Havok -#ifdef OPENSIM +#ifndef HAVOK_TPV LLSD args; args["FEATURE"] = getString("no_havok"); LLNotificationsUtil::add("NoHavok", args); From 19a3d43ce94aaa332292780322d2a368f797d90a Mon Sep 17 00:00:00 2001 From: Ansariel Date: Sat, 11 May 2019 14:38:15 +0200 Subject: [PATCH 05/21] Fix one more case of OpenSim / Havok handling --- indra/newview/llfloatermodelpreview.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index f440092db4..6fa6935b5b 100644 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -410,19 +410,22 @@ BOOL LLFloaterModelPreview::postBuild() { validate_url = llformat("http://secondlife.%s.lindenlab.com/my/account/mesh.php", current_grid.c_str()); } -#ifndef HAVOK_TPV // +#ifdef OPENSIM // else { // TODO: Opensim: Set it to something reasonable validate_url = LLGridManager::getInstance()->getLoginPage(); } +#endif // OPENSIM // + // Show an alert dialog if using the Opensim viewer as functionality will be limited without Havok +#ifndef HAVOK_TPV LLSD args; args["FEATURE"] = getString("no_havok"); LLNotificationsUtil::add("NoHavok", args); +#endif // -#endif // OPENSIM getChild("warning_message")->setTextArg("[VURL]", validate_url); From 2f57200fe5766db7cae88002b0fd9cd4a850bb9d Mon Sep 17 00:00:00 2001 From: Ansariel Date: Sat, 11 May 2019 15:12:35 +0200 Subject: [PATCH 06/21] Update FMOD Studio to 1.10.13 on Windows --- autobuild.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 81038c104f..9d0dfdd657 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -1048,11 +1048,11 @@ archive hash - 35fe52bc6b78ed954fe649c31df13a3c + 9aa1b6789b0f30943599f48c0fedefa1 hash_algorithm md5 url - file:///c:/cygwin/opt/firestorm/fmodstudio-1.10.12-windows-190751143.tar.bz2 + file:///c:/cygwin/opt/firestorm/fmodstudio-1.10.13-windows-191311251.tar.bz2 name windows @@ -1062,18 +1062,18 @@ archive hash - 9329deb7581ed08b52a694975de2ae54 + 7e6e5b4bc012e0f91c71c481aa4657fb hash_algorithm md5 url - file:///c:/cygwin/opt/firestorm/fmodstudio-1.10.12-windows64-190751144.tar.bz2 + file:///c:/cygwin/opt/firestorm/fmodstudio-1.10.13-windows64-191311303.tar.bz2 name windows64 version - 1.10.12 + 1.10.13 fmodex From f0f66afa8c125c64bccc19d94bbc05394793ca6d Mon Sep 17 00:00:00 2001 From: Nicky Date: Sat, 11 May 2019 16:25:09 +0200 Subject: [PATCH 07/21] Linux/Mac; FMODStudio 1.10.13 --- autobuild.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 9d0dfdd657..af8af36969 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -1006,11 +1006,11 @@ archive hash - d10a431d6dbd90f4ab900e4650e65b5c + 33d23a2167b58bd880f2cd3ce63501d7 hash_algorithm md5 url - file:///opt/firestorm/fmodstudio-1.10.12-darwin-190751902.tar.bz2 + file:///opt/firestorm/fmodstudio-1.10.13-darwin-191311419.tar.bz2 name darwin @@ -1034,11 +1034,11 @@ archive hash - 30795e5ffa33613fa6397c9e33d18e42 + d1ef7f3d30bf2126620a37630b615ecf hash_algorithm md5 url - file:///opt/firestorm/fmodstudio-1.10.12-linux64-190751836.tar.bz2 + file:///opt/firestorm/fmodstudio-1.10.13-linux64-191311416.tar.bz2 name linux64 From 6f0d7dacc3b1ccac51853bd162274146cbaf269a Mon Sep 17 00:00:00 2001 From: Nicky Date: Sun, 12 May 2019 22:13:06 +0200 Subject: [PATCH 08/21] Crashfix for mesh that's missing lower LOD header. --- indra/newview/llmeshrepository.cpp | 52 ++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 10 deletions(-) diff --git a/indra/newview/llmeshrepository.cpp b/indra/newview/llmeshrepository.cpp index 6afa18ac3a..791fe1977f 100644 --- a/indra/newview/llmeshrepository.cpp +++ b/indra/newview/llmeshrepository.cpp @@ -4583,6 +4583,19 @@ LLMeshCostData::LLMeshCostData() std::fill(mEstTrisByLOD.begin(), mEstTrisByLOD.end(), 0.f); } +// Guard against medium/low/lowest LOD missing and crashing the viewer +S32 getSize( std::string aLOD, const LLSD &aHeader ) +{ + if( !aHeader.has( aLOD ) ) + return 0; + + if( !aHeader[ aLOD ].has( "size" ) ) + return 0; + + return aHeader[ aLOD ][ "size" ].asInteger(); +} +// + bool LLMeshCostData::init(const LLSD& header) { mSizeByLOD.resize(4); @@ -4590,23 +4603,42 @@ bool LLMeshCostData::init(const LLSD& header) std::fill(mSizeByLOD.begin(), mSizeByLOD.end(), 0); std::fill(mEstTrisByLOD.begin(), mEstTrisByLOD.end(), 0.f); + + // Guard against medium/low/lowest LOD missing and crashing the viewer + + // S32 bytes_high = header["high_lod"]["size"].asInteger(); + // S32 bytes_med = header["medium_lod"]["size"].asInteger(); + // if (bytes_med == 0) + // { + // bytes_med = bytes_high; + // } + // S32 bytes_low = header["low_lod"]["size"].asInteger(); + // if (bytes_low == 0) + // { + // bytes_low = bytes_med; + // } + // S32 bytes_lowest = header["lowest_lod"]["size"].asInteger(); + // if (bytes_lowest == 0) + // { + // bytes_lowest = bytes_low; + // } + + S32 bytes_high = getSize( "high_lod", header ), + bytes_med = getSize( "medium_lod", header ), + bytes_low = getSize( "low_lod", header ), + bytes_lowest = getSize( "lowest_lod", header ); - S32 bytes_high = header["high_lod"]["size"].asInteger(); - S32 bytes_med = header["medium_lod"]["size"].asInteger(); if (bytes_med == 0) - { bytes_med = bytes_high; - } - S32 bytes_low = header["low_lod"]["size"].asInteger(); + if (bytes_low == 0) - { bytes_low = bytes_med; - } - S32 bytes_lowest = header["lowest_lod"]["size"].asInteger(); + if (bytes_lowest == 0) - { bytes_lowest = bytes_low; - } + + // + mSizeByLOD[0] = bytes_lowest; mSizeByLOD[1] = bytes_low; mSizeByLOD[2] = bytes_med; From 7a6734391070f95a1635fc17fcb9271ccc98d6c6 Mon Sep 17 00:00:00 2001 From: PanteraPolnocy Date: Tue, 14 May 2019 20:38:52 +0200 Subject: [PATCH 09/21] Updated Polish translation --- .../default/xui/pl/floater_bulk_perms.xml | 12 +++--- .../default/xui/pl/floater_model_preview.xml | 13 ------- .../default/xui/pl/floater_my_scripts.xml | 2 + .../skins/default/xui/pl/floater_tools.xml | 22 ++++++----- .../default/xui/pl/floater_top_objects.xml | 4 +- .../skins/default/xui/pl/menu_viewer.xml | 1 + .../skins/default/xui/pl/notifications.xml | 37 +++++++------------ .../default/xui/pl/panel_preferences_chat.xml | 2 +- .../default/xui/pl/sidepanel_item_info.xml | 16 ++++---- .../default/xui/pl/sidepanel_task_info.xml | 28 +++++++------- .../newview/skins/default/xui/pl/strings.xml | 29 +++++++++++++-- 11 files changed, 86 insertions(+), 80 deletions(-) create mode 100644 indra/newview/skins/default/xui/pl/floater_my_scripts.xml diff --git a/indra/newview/skins/default/xui/pl/floater_bulk_perms.xml b/indra/newview/skins/default/xui/pl/floater_bulk_perms.xml index d55baf5bc2..d97a4907fe 100644 --- a/indra/newview/skins/default/xui/pl/floater_bulk_perms.xml +++ b/indra/newview/skins/default/xui/pl/floater_bulk_perms.xml @@ -24,22 +24,22 @@