From a3c2009a483aa9b46e946866067b63f5cbbd8c80 Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Fri, 24 Jun 2016 21:05:54 -0400 Subject: [PATCH 01/33] Fix GCC 4.8 Thanks Drake --- indra/llui/ailist.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/indra/llui/ailist.h b/indra/llui/ailist.h index c528227ba..1511fef2e 100644 --- a/indra/llui/ailist.h +++ b/indra/llui/ailist.h @@ -253,7 +253,11 @@ class AIConstListIterator { typedef AIConstListIterator _Self; typedef std::list > _Container; typedef typename _Container::iterator _Iterator; +#if LL_LINUX && GCC_VERSION <= 40899 + typedef _Iterator _ConstIterator; +#else typedef typename _Container::const_iterator _ConstIterator; +#endif typedef AIListIterator iterator; _Container const* mContainer; From 734d17c4295172237fdecbdc1fb1c45d1f516e89 Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Sat, 25 Jun 2016 21:18:05 -0400 Subject: [PATCH 02/33] Linux Bark! Thanks router! --- indra/newview/linux_tools/refresh_desktop_app_entry.sh.in | 2 +- indra/newview/linux_tools/register_secondlifeprotocol.sh | 4 ++-- indra/newview/viewer_manifest.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/indra/newview/linux_tools/refresh_desktop_app_entry.sh.in b/indra/newview/linux_tools/refresh_desktop_app_entry.sh.in index 66b8b90aa..122007320 100755 --- a/indra/newview/linux_tools/refresh_desktop_app_entry.sh.in +++ b/indra/newview/linux_tools/refresh_desktop_app_entry.sh.in @@ -15,7 +15,7 @@ function install_desktop_entry() Name=@VIEWER_BRANDING_ID@\n\ Comment=Client for Online Virtual Worlds, such as Second Life\n\ Exec=${installation_prefix}/@VIEWER_BRANDING_ID@\n\ -Icon=${installation_prefix}/@VIEWER_BRANDING_ID@_icon.png\n\ +Icon=${installation_prefix}/viewer_icon.png\n\ Terminal=false\n\ Type=Application\n\ Categories=Application;Network;\n\ diff --git a/indra/newview/linux_tools/register_secondlifeprotocol.sh b/indra/newview/linux_tools/register_secondlifeprotocol.sh index f4af742fa..16e73cb85 100755 --- a/indra/newview/linux_tools/register_secondlifeprotocol.sh +++ b/indra/newview/linux_tools/register_secondlifeprotocol.sh @@ -7,10 +7,10 @@ HANDLER="$1" RUN_PATH=`dirname "$0" || echo .` -cd "${RUN_PATH}" +cd "${RUN_PATH}/.." if [ -z "$HANDLER" ]; then - HANDLER=`pwd`/handle_secondlifeprotocol.sh + HANDLER=`pwd`/etc/handle_secondlifeprotocol.sh fi # Register handler for GNOME-aware apps diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index e703cb096..7eb685d89 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -970,7 +970,7 @@ class LinuxManifest(ViewerManifest): icon_path = self.icon_path() print "DEBUG: icon_path '%s'" % icon_path if self.prefix(src=icon_path, dst="") : - self.path("viewer_256.png","viewer_icon.png") + self.path("viewer_icon.png") if self.prefix(src="",dst="res-sdl") : self.path("viewer_256.BMP","viewer_icon.BMP") self.end_prefix("res-sdl") From dfb049d13cfa6b3d83d02c77cb2f520c7d1d7bb8 Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Mon, 27 Jun 2016 10:14:48 -0400 Subject: [PATCH 03/33] Update the VC redist package --- autobuild.xml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index b42a063c1..9f3567918 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -2572,11 +2572,11 @@ archive hash - 960953da9ab7c335a0f4f97e9bf8341c + a38ec464042e1d5e67231d9bcd181ae2 hash_algorithm md5 url - http://depot.alchemyviewer.org/pub/windows/lib-vc14/vcredist-14.0.23506.0-windows-201601191536.tar.bz2 + https://depot.alchemyviewer.org/pub/windows/lib-vc14/vcredist-14.0.23918.0-windows-201606250656.tar.bz2 name windows @@ -2586,18 +2586,18 @@ archive hash - 918588215463f36836eeefd9d3891868 + 0d688527ab7d08f6b7c7a5f73175e4f8 hash_algorithm md5 url - http://depot.alchemyviewer.org/pub/windows64/lib-vc14/vcredist-14.0.23506.0-windows64-201601191536.tar.bz2 + https://depot.alchemyviewer.org/pub/windows64/lib-vc14/vcredist-14.0.23918.0-windows64-201606250656.tar.bz2 name windows64 version - 14.0.23506.0 + 14.0.23918.0 xmlrpc-epi From afb567265eba617a6f1da39c144bb010c97c168f Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Mon, 27 Jun 2016 13:17:01 -0400 Subject: [PATCH 04/33] handle_web_browser_test should spawn internal browser. --- indra/newview/llviewermenu.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index d61300b7c..db001fd10 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -8464,7 +8464,7 @@ static void handle_load_from_xml_continued(AIFilePicker* filepicker) void handle_web_browser_test(void*) { - LLWeb::loadURL("http://secondlife.com/app/search/slurls.html"); + LLWeb::loadURLInternal("http://secondlife.com/app/search/slurls.html"); } void handle_buy_currency_test(void*) From 5bb9cda74785aab0920546fc672d7eb17a4f6692 Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Mon, 27 Jun 2016 13:52:22 -0400 Subject: [PATCH 05/33] Hide Log button on own profile --- indra/newview/llpanelavatar.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/indra/newview/llpanelavatar.cpp b/indra/newview/llpanelavatar.cpp index 36b0422ab..a689b07af 100644 --- a/indra/newview/llpanelavatar.cpp +++ b/indra/newview/llpanelavatar.cpp @@ -1324,6 +1324,7 @@ void LLPanelAvatar::setAvatarID(const LLUUID &avatar_id) view = getChildView("Pay..."); view->setVisible(!own_avatar); view->setEnabled(false); + getChildView("Log")->setVisible(!own_avatar); getChild("avatar_key")->setText(avatar_id.asString()); From 31dbe29cae16ef8de4486a0fa4d5a0e874a26958 Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Mon, 27 Jun 2016 16:36:48 -0400 Subject: [PATCH 06/33] Fix SV-2076: Mouselook button shouldn't show under most circumstances Thanks to routergray for testing this fix. --- indra/newview/lloverlaybar.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/lloverlaybar.cpp b/indra/newview/lloverlaybar.cpp index 44631adb9..d57235dcd 100644 --- a/indra/newview/lloverlaybar.cpp +++ b/indra/newview/lloverlaybar.cpp @@ -324,7 +324,7 @@ void LLOverlayBar::refresh() } buttons_changed |= updateButtonVisiblity(mNotBusy, gAgent.isDoNotDisturb()) != NULL; buttons_changed |= updateButtonVisiblity(mFlyCam,LLViewerJoystick::getInstance()->getOverrideCamera()) != NULL; - buttons_changed |= updateButtonVisiblity(mMouseLook,gAgent.isControlGrabbed(CONTROL_ML_LBUTTON_DOWN_INDEX)||gAgent.isControlGrabbed(CONTROL_ML_LBUTTON_UP_INDEX)) != NULL; + buttons_changed |= updateButtonVisiblity(mMouseLook,gAgent.isControlBlocked(CONTROL_ML_LBUTTON_DOWN_INDEX)||gAgent.isControlBlocked(CONTROL_ML_LBUTTON_UP_INDEX)) != NULL; // [RLVa:KB] - Checked: 2009-07-10 (RLVa-1.0.0g) // buttons_changed |= updateButtonVisiblity("Stand Up", isAgentAvatarValid() && gAgentAvatarp->isSitting()) != NULL; buttons_changed |= updateButtonVisiblity(mStandUp,isAgentAvatarValid() && gAgentAvatarp->isSitting() && !gRlvHandler.hasBehaviour(RLV_BHVR_UNSIT)) != NULL; From a68a345c32cc528eb0cf51444af88ac4178cd736 Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Tue, 28 Jun 2016 04:36:09 -0400 Subject: [PATCH 07/33] Fix SV-2078: Reset inventory type filter on clearing search filter --- indra/newview/llpanelmaininventory.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/indra/newview/llpanelmaininventory.cpp b/indra/newview/llpanelmaininventory.cpp index 8ec719869..a62707eee 100644 --- a/indra/newview/llpanelmaininventory.cpp +++ b/indra/newview/llpanelmaininventory.cpp @@ -520,6 +520,13 @@ void LLPanelMainInventory::onFilterEdit(const std::string& search_string ) return; } + if (search_string.empty()) + { + mActivePanel->setFilterTypes(0xffffffffffffffffULL); + if (auto* finder = getFinder()) + LLFloaterInventoryFinder::selectAllTypes(finder); + } + // set new filter string // Internally handles saving/restoring folder states. mActivePanel->setFilterSubString(search_string); From b8ca422e7185961adc478bfe846416109001b256 Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Tue, 28 Jun 2016 07:35:23 -0400 Subject: [PATCH 08/33] Attempt to fix SV-2096 --- indra/newview/lltextureview.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/indra/newview/lltextureview.cpp b/indra/newview/lltextureview.cpp index 14ee16c5c..f32c6f695 100644 --- a/indra/newview/lltextureview.cpp +++ b/indra/newview/lltextureview.cpp @@ -594,7 +594,7 @@ void LLGLTexMemBar::draw() max_bound_mem.value(), LLRenderTarget::sBytesAllocated/(1024*1024), global_raw_memory >> 20, discard_bias, - cache_usage, cache_max_usage, total_texture_downloaded, total_object_downloaded, total_http_requests); + cache_usage, cache_max_usage, total_texture_downloaded.valueInUnits(), total_object_downloaded.valueInUnits(), total_http_requests); //, cache_entries, cache_max_entries LLFontGL::getFontMonospace()->renderUTF8(text, 0, 0, v_offset + line_height*3, From e11b70415d4cee4401de0bd0acf41b28e2d00a8c Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Tue, 28 Jun 2016 07:56:02 -0400 Subject: [PATCH 09/33] Satisfy SV-2101: Add LiruOnlineNotificationBehavior to allow configuration of behavior when FriendOnline notification is clicked --- indra/newview/app_settings/settings.xml | 33 ++++++++++++++++--------- indra/newview/llcallingcard.cpp | 5 ++-- 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index e8de089ea..ec6776cb1 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -796,17 +796,6 @@ Value 1 - LiruResizeRootWithScreen - - Comment - When false, the ui view won't resize when the screen does (floaters won't move around without user interaction, but they also might be restricted from moving everywhere). - Persist - 1 - Type - Boolean - Value - 1 - LiruLegacyScrollToEnd Comment @@ -978,6 +967,17 @@ Value 0 + LiruOnlineNotificationBehavior + + Comment + Determines if Friend is Online notifications will do anything when clicked. (0 does nothing, 1 starts an IM (default), 2 opens profile. + Persist + 1 + Type + S32 + Value + 1 + LiruRegionRestartMinimized Comment @@ -991,6 +991,17 @@ IsCOA 1 + LiruResizeRootWithScreen + + Comment + When false, the ui view won't resize when the screen does (floaters won't move around without user interaction, but they also might be restricted from moving everywhere). + Persist + 1 + Type + Boolean + Value + 1 + LiruScriptErrorsStealFocus Comment diff --git a/indra/newview/llcallingcard.cpp b/indra/newview/llcallingcard.cpp index b85cd8fad..ed6fecfca 100644 --- a/indra/newview/llcallingcard.cpp +++ b/indra/newview/llcallingcard.cpp @@ -749,13 +749,14 @@ static void on_avatar_name_cache_notify(const LLUUID& agent_id, // Popup a notify box with online status of this agent LLNotificationPtr notification; - if (online) + static const LLCachedControl behavior(gSavedSettings, "LiruOnlineNotificationBehavior", 1); + if (online && behavior) { notification = LLNotifications::instance().add("FriendOnlineOffline", args, payload, - boost::bind(&LLAvatarActions::startIM, agent_id)); + behavior == 1 ? boost::bind(&LLAvatarActions::startIM, agent_id) : boost::bind(LLAvatarActions::showProfile, agent_id, false)); } else { From 086af65f89bf9c01b45d5578640e686aa2ea6cde Mon Sep 17 00:00:00 2001 From: Lirusaito Date: Tue, 28 Jun 2016 10:33:48 -0400 Subject: [PATCH 10/33] SV-2093: Add Block option to ScriptDialogs. Thanks to routergray for helping me test this. --- indra/newview/llnotify.cpp | 10 +++++----- indra/newview/llviewermessage.cpp | 8 ++++++-- .../skins/default/xui/en-us/notifications.xml | 12 ++++++++++++ 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/indra/newview/llnotify.cpp b/indra/newview/llnotify.cpp index 3a81ac69a..2bba6d4f9 100644 --- a/indra/newview/llnotify.cpp +++ b/indra/newview/llnotify.cpp @@ -390,9 +390,9 @@ LLButton* LLNotifyBox::addButton(const std::string& name, const std::string& lab if (layout_script_dialog) { - // Add two "blank" option spaces, before the "Ignore" button - index = button_index + 2; - if (button_index == 0) + // Add one "blank" option space, before the "Block" and "Ignore" buttons + index = button_index + 1; + if (button_index == 0 || button_index == 1) { // Ignore button is smaller, less wide btn_height = BTN_HEIGHT_SMALL; @@ -625,9 +625,9 @@ LLRect LLNotifyBox::getNotifyRect(S32 num_options, bool layout_script_dialog, bo if (num_options < 1) num_options = 1; - // Add two "blank" option spaces. + // Add one "blank" option space. if (layout_script_dialog) - num_options += 2; + num_options += 1; S32 additional_lines = (num_options-1) / 3; diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index dceb46f1c..ddb63c0c0 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -8090,8 +8090,8 @@ bool callback_script_dialog(const LLSD& notification, const LLSD& response) std::string button = LLNotification::getSelectedOptionName(response); S32 button_idx = LLNotification::getSelectedOption(notification, response); - // Didn't click "Ignore" - if (button_idx != -1) + // Didn't click "Ignore" or "Block" + if (button_idx > -1) { if (notification["payload"].has("textbox")) { @@ -8109,6 +8109,10 @@ bool callback_script_dialog(const LLSD& notification, const LLSD& response) msg->addString("ButtonLabel", button); msg->sendReliable(LLHost(notification["payload"]["sender"].asString())); } + else if (button_idx == -2) // Block + { + LLMuteList::getInstance()->add(LLMute(notification["payload"]["object_id"].asUUID(), notification["substitutions"]["TITLE"].asString(), LLMute::OBJECT)); + } return false; } diff --git a/indra/newview/skins/default/xui/en-us/notifications.xml b/indra/newview/skins/default/xui/en-us/notifications.xml index b82dfb7d0..29b956251 100644 --- a/indra/newview/skins/default/xui/en-us/notifications.xml +++ b/indra/newview/skins/default/xui/en-us/notifications.xml @@ -7537,6 +7537,10 @@ Grant this request? [NAME]'s '[TITLE]' (ch[CHANNEL]) [MESSAGE]
+