diff --git a/autobuild.xml b/autobuild.xml
index 6087c92586..7fc1bc47b3 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -833,26 +833,14 @@
name
darwin64
- linux
-
linux64
archive
hash
- 48d316c0ceb898f7577015df75b6d303
+ 9fad2e6e1fb3c698afa2b9094deb8422
url
- http://downloads.phoenixviewer.com/dullahan-1.1.1320_3.3626.1895.g7001d56-linux64-191221910.tar.bz2
+ http://downloads.phoenixviewer.com/dullahan-1.6.4.202005232231_81.3.3_g072a5f5_chromium-81.0.4044.147-linux64-201442030.tar.bz2
name
linux64
@@ -1032,11 +1020,11 @@
archive
hash
- aed9fbd15995e71f9b600eb2ed2b73b1
+ 88b1ac40d0b2cc1cf862260bb1297a54
hash_algorithm
md5
url
- file:///opt/firestorm/fmodstudio-2.00.08-linux64-201031328.tar.bz2
+ file:///opt/firestorm/fmodstudio-2.01.01-linux64-201412258.tar.bz2
name
linux64
@@ -1046,11 +1034,11 @@
archive
hash
- 670b2dc83403cc9024bc68728d851a4d
+ 5c182fe2303511c35480d00d9b6832dc
hash_algorithm
md5
url
- file:///c:/cygwin/opt/firestorm/fmodstudio-2.00.08-windows-200921513.tar.bz2
+ file:///c:/cygwin/opt/firestorm/fmodstudio-2.01.01-windows-201411851.tar.bz2
name
windows
@@ -1060,18 +1048,18 @@
archive
hash
- b97c88e262d37dd1514c0e580a8cc775
+ 10fcd058ec0da77273c61aca78081ede
hash_algorithm
md5
url
- file:///c:/cygwin/opt/firestorm/fmodstudio-2.00.08-windows64-200921514.tar.bz2
+ file:///c:/cygwin/opt/firestorm/fmodstudio-2.01.01-windows64-201412005.tar.bz2
name
windows64
version
- 2.00.08
+ 2.01.01
fontconfig
diff --git a/indra/cmake/Variables.cmake b/indra/cmake/Variables.cmake
index a4f7e1e0e5..9fee605021 100644
--- a/indra/cmake/Variables.cmake
+++ b/indra/cmake/Variables.cmake
@@ -61,7 +61,7 @@ if (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake)
set(INSTALL_PROPRIETARY ON CACHE BOOL "Install proprietary binaries")
endif (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake)
set(TEMPLATE_VERIFIER_OPTIONS "" CACHE STRING "Options for scripts/template_verifier.py")
-set(TEMPLATE_VERIFIER_MASTER_URL "http://bitbucket.org/lindenlab/master-message-template/raw/tip/message_template.msg" CACHE STRING "Location of the master message template")
+set(TEMPLATE_VERIFIER_MASTER_URL "https://bitbucket.org/lindenlab/master-message-template-git/raw/HEAD/message_template.msg" CACHE STRING "Location of the master message template")
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
diff --git a/indra/llcommon/llprocess.h b/indra/llcommon/llprocess.h
index ae98e6e37e..e3386ad88e 100644
--- a/indra/llcommon/llprocess.h
+++ b/indra/llcommon/llprocess.h
@@ -250,15 +250,6 @@ public:
* executable name.
*/
Optional desc;
-
- /**
- HACK! libcef.so bleeds that intrusive tcmalloc hacks all over the process.
- This then causes awesome effects like crashes and memory corruption when the so is loaded dynamically.
- We uses this argument to force libcef.so be preloaded, which fixes this.
- The other solution would be to recompile CEF twice (x86/x64) for each CEF update. Which I really would like to avoid.
- */
- Optional preload;
-
};
typedef LLSDParamAdapter LLSDOrParams;
diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp
index f75d57bf91..3738341bae 100644
--- a/indra/media_plugins/cef/media_plugin_cef.cpp
+++ b/indra/media_plugins/cef/media_plugin_cef.cpp
@@ -41,6 +41,7 @@
#include
#include "dullahan.h"
+#include "dullahan_version.h"
////////////////////////////////////////////////////////////////////////////////
//
@@ -509,7 +510,9 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
settings.background_color = 0xffffffff;
settings.cache_enabled = true;
settings.cache_path = mCachePath;
+#if (DULLAHAN_VERSION_MAJOR*100+DULLAHAN_VERSION_MINOR) < 106
settings.cookie_store_path = mCookiePath;
+#endif
settings.cookies_enabled = mCookiesEnabled;
settings.disable_gpu = mDisableGPU;
settings.flash_enabled = mPluginsEnabled;
@@ -664,8 +667,10 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
else if (message_name == "scroll_event")
{
// Mouse coordinates for cef to be able to scroll 'containers'
- //S32 x = message_in.getValueS32("x");
- //S32 y = message_in.getValueS32("y");
+#if (DULLAHAN_VERSION_MAJOR*100+DULLAHAN_VERSION_MINOR) >= 106
+ S32 x = message_in.getValueS32("x");
+ S32 y = message_in.getValueS32("y");
+#endif
// Wheel's clicks
S32 delta_x = message_in.getValueS32("clicks_x");
S32 delta_y = message_in.getValueS32("clicks_y");
@@ -673,8 +678,11 @@ void MediaPluginCEF::receiveMessage(const char* message_string)
delta_x *= -scaling_factor;
delta_y *= -scaling_factor;
- // mCEFLib->mouseWheel(x, y, delta_x, delta_y);
+#if (DULLAHAN_VERSION_MAJOR*100+DULLAHAN_VERSION_MINOR) >= 106
+ mCEFLib->mouseWheel(x, y, delta_x, delta_y);
+#else
mCEFLib->mouseWheel(delta_x, delta_y);
+#endif
}
else if (message_name == "text_event")
{
diff --git a/indra/newview/CMakeLists.txt b/indra/newview/CMakeLists.txt
index e59cbd4829..17302218ef 100644
--- a/indra/newview/CMakeLists.txt
+++ b/indra/newview/CMakeLists.txt
@@ -53,7 +53,7 @@ include(TemplateCheck)
include(UI)
include(UnixInstall)
include(ViewerMiscLibs)
-include(ViewerManager)
+#include(ViewerManager) # Remove VMP
include(VisualLeakDetector)
include(URIPARSER)
include(Growl)
diff --git a/indra/newview/fsfloaterim.cpp b/indra/newview/fsfloaterim.cpp
index 8da302378a..01681486d2 100644
--- a/indra/newview/fsfloaterim.cpp
+++ b/indra/newview/fsfloaterim.cpp
@@ -450,12 +450,17 @@ void FSFloaterIM::sendMsgFromInputEditor(EChatType type)
size_t insert_pos = is_irc_me_prefix(utf8_text) ? 4 : 0;
//For testing/beta groups, we display the build version since it doesn't speed by and this might change often
- if(chat_prefix_testing && FSData::getInstance()->isTestingGroup(mSessionID))
- utf8_text.insert(insert_pos, ("(" + str_address_size_tag + str_operating_system_tag + " " + LLVersionInfo::getBuildVersion() + skin_indicator + str_viewer_mode + str_rlv_enabled + str_opensim_tag + ") "));
-
+ if(FSData::getInstance()->isTestingGroup(mSessionID))
+ {
+ if(chat_prefix_testing)
+ utf8_text.insert(insert_pos, ("(" + str_address_size_tag + str_operating_system_tag + " " + LLVersionInfo::getBuildVersion() + skin_indicator + str_viewer_mode + str_rlv_enabled + str_opensim_tag + ") "));
+ }
//For release support groups, only display the short version(Major.Minor.Patch) since chat can speed by. This makes it easier on Support's eyes.
- else if(chat_prefix_support && FSData::getInstance()->isSupportGroup(mSessionID))
- utf8_text.insert(insert_pos, ("(" + str_address_size_tag + str_operating_system_tag + " " + LLVersionInfo::getShortVersion() + skin_indicator + str_viewer_mode + str_rlv_enabled + str_opensim_tag + ") "));
+ else if(FSData::getInstance()->isSupportGroup(mSessionID))
+ {
+ if(chat_prefix_support)
+ utf8_text.insert(insert_pos, ("(" + str_address_size_tag + str_operating_system_tag + " " + LLVersionInfo::getShortVersion() + skin_indicator + str_viewer_mode + str_rlv_enabled + str_opensim_tag + ") "));
+ }
}
// Allow user to send system info.
diff --git a/indra/newview/fslslpreproc.cpp b/indra/newview/fslslpreproc.cpp
index a774b17877..5ac6c6dcd9 100644
--- a/indra/newview/fslslpreproc.cpp
+++ b/indra/newview/fslslpreproc.cpp
@@ -43,6 +43,7 @@
#include "llvfile.h"
#include "llviewercontrol.h"
#include "llcompilequeue.h"
+#include "llnotificationsutil.h"
#ifdef __GNUC__
// There is a sprintf( ... "%d", size_t_value) buried inside boost::wave. In order to not mess with system header, I rather disable that warning here.
@@ -980,7 +981,7 @@ static std::string minimalize_whitespace(std::string in)
}
*/
-static std::string reformat_switch_statements(std::string script)
+static std::string reformat_switch_statements(std::string script, bool &lackDefault)
{
std::string buffer = script;
{
@@ -1017,7 +1018,7 @@ static std::string reformat_switch_statements(std::string script)
S32 cutlen = slen + arg.length() + rstate.length();
// Call recursively to process nested switch statements (FIRE-10517)
- rstate = reformat_switch_statements(rstate);
+ rstate = reformat_switch_statements(rstate, lackDefault);
//rip off the scope edges
S32 slicestart = rstate.find("{") + 1;
@@ -1075,7 +1076,7 @@ static std::string reformat_switch_statements(std::string script)
}
std::string deflt = quicklabel();
- bool isdflt = false;
+ bool hasdflt = false;
std::string defstate;
defstate = boost::regex_replace(rstate, boost::regex(rDOT_MATCHES_NEWLINE
rCMNT_OR_STR "|" rSPC "++"
@@ -1083,7 +1084,7 @@ static std::string reformat_switch_statements(std::string script)
, boost::regex::perl), "?1@" + deflt + ";$2:$&", boost::format_all);
if (defstate != rstate)
{
- isdflt = true;
+ hasdflt = true;
rstate = defstate;
}
std::string argl;
@@ -1094,19 +1095,22 @@ static std::string reformat_switch_statements(std::string script)
{
jumptable += "if(" + arg + " == (" + ifs_it->first + "))jump " + ifs_it->second + ";\n";
}
- if (isdflt)
+ std::string brk = quicklabel();
+ if (!hasdflt)
{
- jumptable += "jump " + deflt + ";\n";
+ // Add jump to break position if there's no default (FIRE-17710)
+ deflt = brk;
+ lackDefault = true;
}
+ jumptable += "jump " + deflt + ";\n";
rstate = jumptable + rstate + "\n";
- std::string brk = quicklabel();
defstate = boost::regex_replace(rstate, boost::regex(rDOT_MATCHES_NEWLINE
rCMNT_OR_STR "|"
"(?doSaveComplete((void*)mCore, mClose, mSync);
}
}
+ if (lackDefault)
+ {
+ LLNotificationsUtil::add("DefaultLabelMissing");
+ }
mWaving = false;
}
diff --git a/indra/newview/linux_tools/wrapper.sh b/indra/newview/linux_tools/wrapper.sh
index 8363736f8e..57da1b18ae 100755
--- a/indra/newview/linux_tools/wrapper.sh
+++ b/indra/newview/linux_tools/wrapper.sh
@@ -148,8 +148,6 @@ then
export LD_PRELOAD="${LD_PRELOAD}:${FSJEMALLOC}"
fi
-export FS_CEF_PRELOAD="libcef.so"
-
# Copy "$@" to ARGS array specifically to delete the --skip-gridargs switch.
# The gridargs.dat file is no more, but we still want to avoid breaking
# scripts that invoke this one with --skip-gridargs.
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index 7333dfe7b4..2cd654e9e9 100644
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -145,6 +145,7 @@
#include "llexception.h"
//#if !LL_LINUX
#include "cef/dullahan.h"
+#include "cef/dullahan_version.h"
#include "vlc/libvlc_version.h"
//#endif // LL_LINUX
diff --git a/indra/newview/llappviewerlinux.cpp b/indra/newview/llappviewerlinux.cpp
index 9c5510a739..fc80404865 100644
--- a/indra/newview/llappviewerlinux.cpp
+++ b/indra/newview/llappviewerlinux.cpp
@@ -156,6 +156,7 @@ int main( int argc, char **argv )
// install crash handlers
viewer_app_ptr->setErrorHandler(LLAppViewer::handleViewerCrash);
+ unsetenv( "LD_PRELOAD" ); // Get rid of any preloading, we do not want this to happen during startup of plugins.
exportFlashVars(); // Try to autodetect installed pepper flash.
bool ok = viewer_app_ptr->init();
diff --git a/indra/newview/lltoastalertpanel.cpp b/indra/newview/lltoastalertpanel.cpp
index 481aecedc4..d3470351c5 100644
--- a/indra/newview/lltoastalertpanel.cpp
+++ b/indra/newview/lltoastalertpanel.cpp
@@ -391,7 +391,7 @@ void LLToastAlertPanel::setVisible( BOOL visible )
// FIRE-4322: The "bing" system sound missing
// if( visible && !LLToastPanel::getVisible() )
LLToastPanel::setVisible( visible );
- if( visible )
+ if (visible && !LLApp::isExiting())
//
{
make_ui_sound("UISndAlert");
diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml
index 4a62b2ec25..a0e555720f 100644
--- a/indra/newview/skins/default/xui/de/menu_viewer.xml
+++ b/indra/newview/skins/default/xui/de/menu_viewer.xml
@@ -131,7 +131,7 @@
-
+