From 0accf811384a9c77e7cf82b2b28dcffc6c38eca4 Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Sat, 5 Dec 2015 20:58:44 +0100 Subject: [PATCH 001/134] - internal : added .hgeol file to replace win32text --HG-- branch : Viewer-Build --- .hgeol | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 .hgeol diff --git a/.hgeol b/.hgeol new file mode 100644 index 0000000000..94205bd3ef --- /dev/null +++ b/.hgeol @@ -0,0 +1,12 @@ +[repository] +native = LF + +[patterns] +path:indra/lscript/lscript_compile/windows/unistd.h = CRLF +path:indra/newview/installers/windows/FILES_ARE_UNICODE_UTF-16LE.txt = CRLF +path:indra/tools/vstool/README.txt = CRLF +**.h = native +**.cpp = native +**.py = native +**.xml = native +**.txt = native From 3774e64fa7369b27e9f1fdec388cfc55a2b73948 Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Sun, 20 Dec 2015 17:36:29 +0100 Subject: [PATCH 002/134] Updated OpenJPEG package with debug information for crash debugging --HG-- branch : Viewer-Build --- autobuild.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 39e479d8ed..4211133af1 100755 --- a/autobuild.xml +++ b/autobuild.xml @@ -1900,9 +1900,9 @@ archive hash - b35adcf74d22c128045aa87aade74736 + 39784b5b65a67fcbae5b9d64d04f34a6 url - http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/openjpeg_3p-update-openjpeg/rev/297018/arch/CYGWIN/installer/openjpeg-1.4.297018-windows-297018.tar.bz2 + http://viewer.catznip.com/downloads/packages/openjpeg-1.4.201512201525-windows.tar.bz2 name windows From 501564fddf90ba2cc1389d495ad64232c69b0580 Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Sun, 20 Dec 2015 17:37:13 +0100 Subject: [PATCH 003/134] [Fixed] jpeglib is built with "Whole Program Optimization" and causing slow linker performance -> "MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance" -> causes the linker to abort the current run and start over --HG-- branch : Viewer-Build --- autobuild.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 4211133af1..8e1e58f1a4 100755 --- a/autobuild.xml +++ b/autobuild.xml @@ -1134,9 +1134,9 @@ archive hash - 98d3dc8d107d04b572fe47bd43a56e74 + 150ed9ecd913045551a287bd67ae1f8d url - http://automated-builds-secondlife-com.s3.amazonaws.com/hg/repo/jpeglib_3p-update-jpeglib/rev/296854/arch/CYGWIN/installer/jpeglib-8c.296854-windows-296854.tar.bz2 + http://viewer.catznip.com/downloads/packages/jpeglib-8c.201512201541-windows.tar.bz2 name windows From b488db031475947fc662d9fc84dda8eeba7bfda0 Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Sun, 27 Dec 2015 20:37:57 +0100 Subject: [PATCH 004/134] - fixed : enabling/disabling RLVa doesn't show the pop-ups as intended --HG-- branch : RLVa --- indra/newview/llviewercontrol.cpp | 6 +++++ indra/newview/rlvcommon.cpp | 11 +++++----- indra/newview/rlvcommon.h | 2 +- .../skins/default/xui/en/rlva_strings.xml | 22 ------------------- .../newview/skins/default/xui/en/strings.xml | 6 +++++ 5 files changed, 18 insertions(+), 29 deletions(-) diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index 5020518454..e9f117e113 100755 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -75,6 +75,9 @@ #include "llslurl.h" #include "llstartup.h" #include "llupdaterservice.h" +// [RLVa:KB] - Checked: 2015-12-27 (RLVa-1.5.0) +#include "rlvcommon.h" +// [/RLVa:KB] // Third party library includes #include @@ -761,6 +764,9 @@ void settings_setup_listeners() gSavedSettings.getControl("SpellCheck")->getSignal()->connect(boost::bind(&handleSpellCheckChanged)); gSavedSettings.getControl("SpellCheckDictionary")->getSignal()->connect(boost::bind(&handleSpellCheckChanged)); gSavedSettings.getControl("LoginLocation")->getSignal()->connect(boost::bind(&handleLoginLocationChanged)); +// [RLVa:KB] - Checked: 2015-12-27 (RLVa-1.5.0) + gSavedSettings.getControl("RestrainedLove")->getSignal()->connect(boost::bind(&RlvSettings::onChangedSettingMain, _2)); +// [/RLVa:KB] } #if TEST_CACHED_CONTROL diff --git a/indra/newview/rlvcommon.cpp b/indra/newview/rlvcommon.cpp index 970a611aea..67e2b43a0a 100644 --- a/indra/newview/rlvcommon.cpp +++ b/indra/newview/rlvcommon.cpp @@ -21,6 +21,7 @@ #include "llinstantmessage.h" #include "llnotificationsutil.h" #include "llsdserialize.h" +#include "lltrans.h" #include "llviewerparcelmgr.h" #include "llviewermenu.h" #include "llviewerregion.h" @@ -78,8 +79,6 @@ void RlvSettings::initClass() static bool fInitialized = false; if (!fInitialized) { - gSavedSettings.getControl(RLV_SETTING_MAIN)->getSignal()->connect(boost::bind(&onChangedSettingMain, _2)); - #ifdef RLV_EXPERIMENTAL_COMPOSITEFOLDERS fCompositeFolders = rlvGetSetting(RLV_SETTING_ENABLECOMPOSITES, false); if (gSavedSettings.controlExists(RLV_SETTING_ENABLECOMPOSITES)) @@ -148,9 +147,9 @@ void RlvSettings::onChangedSettingMain(const LLSD& sdValue) { LLNotificationsUtil::add( "GenericAlert", - LLSD().with("MESSAGE", llformat(RlvStrings::getString("message_toggle_restart").c_str(), - (sdValue.asBoolean()) ? RlvStrings::getString("message_toggle_restart_enabled").c_str() - : RlvStrings::getString("message_toggle_restart_disabled").c_str()))); + LLSD().with("MESSAGE", llformat(LLTrans::getString("RLVaToggleMessage").c_str(), + (sdValue.asBoolean()) ? LLTrans::getString("RLVaToggleEnabled").c_str() + : LLTrans::getString("RLVaToggleDisabled").c_str()))); } } @@ -548,7 +547,7 @@ bool rlvMenuMainToggleVisible(LLUICtrl* pMenuCtrl) if (gSavedSettings.getBOOL(RLV_SETTING_MAIN) == rlv_handler_t::isEnabled()) pMenuItem->setLabel(strLabel); else - pMenuItem->setLabel(strLabel + RlvStrings::getString("message_toggle_restart_pending")); + pMenuItem->setLabel(strLabel + " " + LLTrans::getString("RLVaPendingRestart")); } return true; } diff --git a/indra/newview/rlvcommon.h b/indra/newview/rlvcommon.h index b958a7e3d8..6965a70ab1 100644 --- a/indra/newview/rlvcommon.h +++ b/indra/newview/rlvcommon.h @@ -104,10 +104,10 @@ public: #endif // RLV_EXTENSION_STARTLOCATION static void initClass(); + static void onChangedSettingMain(const LLSD& sdValue); protected: static bool onChangedMenuLevel(); static bool onChangedSettingBOOL(const LLSD& sdValue, bool* pfSetting); - static void onChangedSettingMain(const LLSD& sdValue); #ifdef RLV_EXPERIMENTAL_COMPOSITEFOLDERS static BOOL fCompositeFolders; diff --git a/indra/newview/skins/default/xui/en/rlva_strings.xml b/indra/newview/skins/default/xui/en/rlva_strings.xml index 741719ca22..0e3c27ca0a 100644 --- a/indra/newview/skins/default/xui/en/rlva_strings.xml +++ b/indra/newview/skins/default/xui/en/rlva_strings.xml @@ -110,28 +110,6 @@ customizable 1 - - - message_toggle_restart - - value - RestrainedLove Support will be %s after you restart - - message_toggle_restart_pending - - value - (pending restart) - - message_toggle_restart_enabled - - value - enabled - - message_toggle_restart_disabled - - value - disabled - diff --git a/indra/newview/skins/default/xui/en/strings.xml b/indra/newview/skins/default/xui/en/strings.xml index e186da58f6..cc670d4cd9 100755 --- a/indra/newview/skins/default/xui/en/strings.xml +++ b/indra/newview/skins/default/xui/en/strings.xml @@ -4086,6 +4086,12 @@ Try enclosing path to the editor with double quotes. [User] + + (pending restart) + RestrainedLove Support will be %s after you restart + enabled + disabled + Experience (no experience) From 8eb31c7ac6830f5aa2ded5ec199386837a47c7ee Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Sat, 6 Feb 2016 20:42:13 +0100 Subject: [PATCH 005/134] CATZ-232: Updated OpenJPEG library to v1.5.2 (Windows) --HG-- branch : Viewer-Build --- autobuild.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 286b501473..fdd3d037a2 100755 --- a/autobuild.xml +++ b/autobuild.xml @@ -1900,9 +1900,9 @@ archive hash - 39784b5b65a67fcbae5b9d64d04f34a6 + fa394ec294b1ec7fefdd7e87a9f09bd0 url - http://viewer.catznip.com/downloads/packages/openjpeg-1.4.201512201525-windows.tar.bz2 + http://viewer.catznip.com/downloads/packages/openjpeg-1.5.2.201602060245-windows.tar.bz2 name windows From e26e595e2da2a339d3dc0725cb192b6290fd0e2b Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Sat, 6 Feb 2016 20:43:32 +0100 Subject: [PATCH 006/134] CATZ-234: Updated FMOD Ex library to v4.44.61 (Windows) --HG-- branch : Viewer-Build --- autobuild.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index fdd3d037a2..bd4fc22818 100755 --- a/autobuild.xml +++ b/autobuild.xml @@ -510,9 +510,9 @@ archive hash - 77c37ca8706f2c85084d317e10034acb + b60d5d92be45b9d032fac377d3054821 url - http://viewer.catznip.com/downloads/packages/fmodex-4.44.52-windows-20150506.tar.bz2 + http://viewer.catznip.com/downloads/packages/fmodex-4.44.61-windows-201602062026.tar.bz2 name windows From 5c0a77cba062725d9c95d2a404d171dc8ec66069 Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Sun, 7 Feb 2016 03:27:25 +0100 Subject: [PATCH 007/134] Only show the OpenJPEG runtime version --HG-- branch : Viewer-Build --- indra/llimagej2coj/llimagej2coj.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/indra/llimagej2coj/llimagej2coj.cpp b/indra/llimagej2coj/llimagej2coj.cpp index e98f677d9b..11f4ab2cf9 100755 --- a/indra/llimagej2coj/llimagej2coj.cpp +++ b/indra/llimagej2coj/llimagej2coj.cpp @@ -35,9 +35,12 @@ const char* fallbackEngineInfoLLImageJ2CImpl() { - static std::string version_string = - std::string("OpenJPEG: " OPENJPEG_VERSION ", Runtime: ") - + opj_version(); +// static std::string version_string = +// std::string("OpenJPEG: " OPENJPEG_VERSION ", Runtime: ") +// + opj_version(); +// [SL:KB] - Patch: Viewer-Build | Checked: 2016-02-07 (Catznip-4.0) + static std::string version_string = llformat("OpenJPEG: %s", opj_version()); +// [/SL:KB] return version_string.c_str(); } From 149b91a44f7b0f952d2b5bb8d8fcd36d54161a30 Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Sat, 19 Mar 2016 13:20:00 +0100 Subject: [PATCH 008/134] Updated patch description for Viewer-Build --HG-- branch : Viewer-Build --- .hgpatchinfo/Viewer-Build.desc | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.hgpatchinfo/Viewer-Build.desc b/.hgpatchinfo/Viewer-Build.desc index e6644ff80a..8d302b3560 100644 --- a/.hgpatchinfo/Viewer-Build.desc +++ b/.hgpatchinfo/Viewer-Build.desc @@ -1,8 +1,11 @@ [Viewer/Build] -- changed : compiler options for "Release with Debug" builds -- changed : compiler and linker options for "Release" builds -- changed : removed LL's changeset tags and added new (consistent) SL-X.Y.Z tags for releases -- changed : break into the debugger rather than forcing the process into an unrecoverable state for "llerrs" on non-release builds +* Changed compiler options for "Release with Debug" builds +* Changed compiler and linker options for "Release" builds +* Removed LL's changeset tags and added new (consistent) SL-X.Y.Z tags for releases +* Break into the debugger rather than forcing the process into an unrecoverable state for "llerrs" on non-release builds -> Windows only -- changed : set the "UNATTENDED" flag to FALSE for all (Windows) *OS build configurations -- fixed : viewer fails to compile with only the Windows 8 SDK installed +* Set the "UNATTENDED" flag to FALSE for all (Windows) *OS build configurations +* CATZ-234: Updated FMOD Ex library to v4.44.61 (Windows) +* CATZ-232: Updated OpenJPEG library to v1.5.2 (Windows) +* [FIXED] Viewer fails to compile with only the Windows 8 SDK installed +* [FIXED] JpegLib is built with "Whole Program Optimization" and causing slow linker performance From ddf7af58f47eaf7cd554460e9abb472910fa678b Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Mon, 28 Mar 2016 14:34:16 +0200 Subject: [PATCH 009/134] Incremented version to RLVa-2.0.0 (finally!) --HG-- branch : RLVa --- indra/newview/rlvdefines.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h index d4684dab56..8650aa55da 100644 --- a/indra/newview/rlvdefines.h +++ b/indra/newview/rlvdefines.h @@ -1,6 +1,6 @@ /** * - * Copyright (c) 2009-2011, Kitty Barnett + * Copyright (c) 2009-2016, Kitty Barnett * * The source code in this file is provided to you under the terms of the * GNU Lesser General Public License, version 2.1, but WITHOUT ANY WARRANTY; @@ -62,9 +62,9 @@ const S32 RLV_VERSION_PATCH = 0; const S32 RLV_VERSION_BUILD = 0; // Implementation version -const S32 RLVa_VERSION_MAJOR = 1; -const S32 RLVa_VERSION_MINOR = 4; -const S32 RLVa_VERSION_PATCH = 10; +const S32 RLVa_VERSION_MAJOR = 2; +const S32 RLVa_VERSION_MINOR = 0; +const S32 RLVa_VERSION_PATCH = 0; const S32 RLVa_VERSION_BUILD = 0; // Uncomment before a final release From ee951f8fc7eba23f4ded5e151793ea12d35ede24 Mon Sep 17 00:00:00 2001 From: Kitty Barnett Date: Mon, 28 Mar 2016 17:20:42 +0200 Subject: [PATCH 010/134] Refactoring carousel: behaviour lookup code (WIP) --HG-- branch : RLVa --- indra/newview/app_settings/settings.xml | 22 ++ indra/newview/rlvcommon.cpp | 2 +- indra/newview/rlvdefines.h | 15 +- indra/newview/rlvhandler.cpp | 13 +- indra/newview/rlvhelper.cpp | 312 ++++++++++++++++++------ indra/newview/rlvhelper.h | 86 +++++-- 6 files changed, 331 insertions(+), 119 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 9b381c8056..8a93e6c377 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -145,6 +145,28 @@ Value 1 + RLVaExperimentalCommands + + Comment + Enables the experimental command set + Persist + 1 + Type + Boolean + Value + 1 + + RLVaExtendedCommands + + Comment + Enables the extended command set + Persist + 1 + Type + Boolean + Value + 1 + RLVaHideLockedLayers Comment diff --git a/indra/newview/rlvcommon.cpp b/indra/newview/rlvcommon.cpp index 67e2b43a0a..e37216403c 100644 --- a/indra/newview/rlvcommon.cpp +++ b/indra/newview/rlvcommon.cpp @@ -585,7 +585,7 @@ bool rlvMenuEnableIfNot(const LLSD& sdParam) bool fEnable = true; if (rlv_handler_t::isEnabled()) { - ERlvBehaviour eBhvr = RlvCommand::getBehaviourFromString(sdParam.asString()); + ERlvBehaviour eBhvr = RlvBehaviourDictionary::instance().getBehaviourFromString(sdParam.asString(), RLV_TYPE_ADDREM); fEnable = (eBhvr != RLV_BHVR_UNKNOWN) ? !gRlvHandler.hasBehaviour(eBhvr) : true; } return fEnable; diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h index 8650aa55da..1829dec818 100644 --- a/indra/newview/rlvdefines.h +++ b/indra/newview/rlvdefines.h @@ -114,7 +114,7 @@ const S32 RLVa_VERSION_BUILD = 0; // Enumeration declarations // -// NOTE: any changes to this enumeration should be reflected in RlvCommand::initLookupTable() +// NOTE: any changes to this enumeration should be reflected in the RlvBehaviourDictionary constructor enum ERlvBehaviour { RLV_BHVR_DETACH = 0, // "detach" RLV_BHVR_ATTACH, // "attach" @@ -234,12 +234,13 @@ enum ERlvBehaviour { }; enum ERlvParamType { - RLV_TYPE_UNKNOWN, - RLV_TYPE_ADD, // == "n"|"add" - RLV_TYPE_REMOVE, // == "y"|"rem" - RLV_TYPE_FORCE, // == "force" - RLV_TYPE_REPLY, // == - RLV_TYPE_CLEAR + RLV_TYPE_UNKNOWN = 0x00, + RLV_TYPE_ADD = 0x01, // == "n"|"add" + RLV_TYPE_REMOVE = 0x02, // == "y"|"rem" + RLV_TYPE_FORCE = 0x04, // == "force" + RLV_TYPE_REPLY = 0x08, // == + RLV_TYPE_CLEAR = 0x10, + RLV_TYPE_ADDREM = RLV_TYPE_ADD | RLV_TYPE_REMOVE }; enum ERlvCmdRet { diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index f8241d6a79..a1db184188 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -187,7 +187,7 @@ bool RlvHandler::isException(ERlvBehaviour eBhvr, const RlvExceptionOption& varO // Checked: 2009-10-04 (RLVa-1.0.4a) | Modified: RLVa-1.0.4a bool RlvHandler::isPermissive(ERlvBehaviour eBhvr) const { - return (RlvCommand::hasStrictVariant(eBhvr)) + return (RlvBehaviourDictionary::instance().getHasStrict(eBhvr)) ? !((hasBehaviour(RLV_BHVR_PERMISSIVE)) || (isException(RLV_BHVR_PERMISSIVE, eBhvr, RLV_CHECK_PERMISSIVE))) : true; } @@ -1059,9 +1059,6 @@ BOOL RlvHandler::setEnabled(BOOL fEnable) RLV_INFOS << "Enabling Restrained Love API support - " << RlvStrings::getVersion() << RLV_ENDL; m_fEnabled = TRUE; - // Initialize the command lookup table - RlvCommand::initLookupTable(); - // Initialize static classes RlvSettings::initClass(); RlvStrings::initClass(); @@ -1938,10 +1935,10 @@ ERlvCmdRet RlvHandler::processReplyCommand(const RlvCommand& rlvCmd) const #ifdef RLV_EXTENSION_CMD_GETCOMMAND case RLV_BHVR_GETCOMMAND: // @getcommand: - RLVaExtendedCommands - - Comment - Enables the extended command set - Persist - 1 - Type - Boolean - Value - 1 - RLVaHideLockedLayers Comment diff --git a/indra/newview/rlvdefines.h b/indra/newview/rlvdefines.h index c994206a43..229173600a 100644 --- a/indra/newview/rlvdefines.h +++ b/indra/newview/rlvdefines.h @@ -66,6 +66,7 @@ const S32 RLVa_VERSION_BUILD = 0; #define RLV_ROOT_FOLDER "#RLV" #define RLV_CMD_PREFIX '@' +#define RLV_OPTION_SEPARATOR ";" // Default separator used in command options #define RLV_PUTINV_PREFIX "#RLV/~" #define RLV_PUTINV_SEPARATOR "/" #define RLV_PUTINV_MAXDEPTH 4 diff --git a/indra/newview/rlvfloaters.cpp b/indra/newview/rlvfloaters.cpp index 8c4ae4c5e7..b1dac2cf37 100644 --- a/indra/newview/rlvfloaters.cpp +++ b/indra/newview/rlvfloaters.cpp @@ -705,7 +705,8 @@ BOOL RlvFloaterConsole::postBuild() void RlvFloaterConsole::addCommandReply(const std::string& strCommand, const std::string& strReply) { - m_pOutputText->appendText(llformat("%s: %s", strCommand.c_str(), strReply.c_str()), true); + m_pOutputText->appendText(llformat("%s: ", strCommand.c_str()), true); + m_pOutputText->appendText(strReply, false); } void RlvFloaterConsole::onInput(LLUICtrl* pCtrl, const LLSD& sdParam) diff --git a/indra/newview/rlvhandler.cpp b/indra/newview/rlvhandler.cpp index 0085efbf2a..1b23b58bb7 100644 --- a/indra/newview/rlvhandler.cpp +++ b/indra/newview/rlvhandler.cpp @@ -53,6 +53,7 @@ struct RlvCommandOptionHelper { template static bool parseOption(const std::string& strOption, optionType& valueOption); + static bool parseStringList(const std::string& strOption, std::vector& optionList); }; template<> @@ -68,6 +69,13 @@ bool RlvCommandOptionHelper::parseOption(const std::string& strOption, int& return LLStringUtil::convertToS32(strOption, nOption); } +bool RlvCommandOptionHelper::parseStringList(const std::string& strOption, std::vector& optionList) +{ + if (!strOption.empty()) + boost::split(optionList, strOption, boost::is_any_of(std::string(RLV_OPTION_SEPARATOR))); + return !optionList.empty(); +} + // ============================================================================ // Command specific helper functions // @@ -1934,14 +1942,6 @@ ERlvCmdRet RlvHandler::processReplyCommand(const RlvCommand& rlvCmd) const strReply = idSitObj.asString(); } break; - case RLV_BHVR_GETCOMMAND: // @getcommand: