From 8737bd009c354cd42e489c902ee5a4719c888cd0 Mon Sep 17 00:00:00 2001 From: Nicky Date: Sun, 24 May 2020 19:00:28 +0200 Subject: [PATCH 01/15] Linux; Don't unconditionally disable GPU for CEF anymore. If the new CEF still makes problems it makes more sense to use a debug setting, then extend LLPluginClassMedia with a message to send a gpu_disabled message. This can be send from LLViewerMediaImpl::newSourceFromMediaType. --- indra/media_plugins/cef/media_plugin_cef.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/indra/media_plugins/cef/media_plugin_cef.cpp b/indra/media_plugins/cef/media_plugin_cef.cpp index 3738341bae..900fe7974b 100644 --- a/indra/media_plugins/cef/media_plugin_cef.cpp +++ b/indra/media_plugins/cef/media_plugin_cef.cpp @@ -120,9 +120,6 @@ MediaPluginBase(host_send_func, host_user_data) mPluginsEnabled = false; mJavascriptEnabled = true; mDisableGPU = false; -#ifdef LL_LINUX // Do not use GPU on Linux, using GPU messes with some window managers (https://bitbucket.org/NickyD/phoenix-firestorm-lgpl-linux/commits/14c936db5a02cf0f3ff24eb7f1c92136#comment-6048984) - mDisableGPU = true; -#endif mUserAgentSubtring = ""; mAuthUsername = ""; mAuthPassword = ""; From 714501f3897caa1bf7638a7a8f2d26d8c8023b44 Mon Sep 17 00:00:00 2001 From: Nicky Date: Sun, 24 May 2020 20:10:49 +0200 Subject: [PATCH 02/15] Linux; Update to latest dullahan/CEF. --- autobuild.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/autobuild.xml b/autobuild.xml index 54cd68c240..20bca450de 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -838,9 +838,9 @@ archive hash - 9fad2e6e1fb3c698afa2b9094deb8422 + b92c2efe8e3802a26209a4ebe2f840ba url - http://downloads.phoenixviewer.com/dullahan-1.6.4.202005232231_81.3.3_g072a5f5_chromium-81.0.4044.147-linux64-201442030.tar.bz2 + http://downloads.phoenixviewer.com/dullahan-1.6.4.202005241618_81.3.10_gb223419_chromium-81.0.4044.138-linux64-201451417.tar.bz2 name linux64 From b5c5b16a100a0d9fa0bc817e3142fe52c2f06e95 Mon Sep 17 00:00:00 2001 From: Nicky Dasmijn Date: Wed, 27 May 2020 00:22:35 +0200 Subject: [PATCH 03/15] Make sure Bugsplat crashreporting respects all user settigs --- indra/newview/llappviewerwin32.cpp | 42 ++++++++++++++++++++++++--- indra/newview/llfloaterpreference.cpp | 7 ----- 2 files changed, 38 insertions(+), 11 deletions(-) diff --git a/indra/newview/llappviewerwin32.cpp b/indra/newview/llappviewerwin32.cpp index c298fb62bb..8264dfb845 100644 --- a/indra/newview/llappviewerwin32.cpp +++ b/indra/newview/llappviewerwin32.cpp @@ -157,8 +157,9 @@ namespace sBugSplatSender->setDefaultUserEmail( WCSTR(STRINGIZE(LLOSInfo::instance().getOSStringSimple() << " (" << ADDRESS_SIZE << "-bit, flavor " << flavor <<")"))); // - // Clear out username first, as we get some crashes that has the OS set as username, let's see if this fixes it. - sBugSplatSender->setDefaultUserName( WCSTR("") ); + // Clear out username first, as we get some crashes that has the OS set as username, let's see if this fixes it. Use Crash.Linden as a usr can never have a "Linden" + // name and on the other hand a Linden will not likely ever crash on Firestom. + sBugSplatSender->setDefaultUserName( WCSTR("Crash.Linden") ); // Only send avatar name if enabled via prefs if (gCrashSettings.getBOOL("CrashSubmitName")) @@ -679,6 +680,7 @@ LLAppViewerWin32::~LLAppViewerWin32() bool LLAppViewerWin32::init() { + bool success{ false }; // For BugSplat we need to call base::init() early on or there's no access to settings. // Platform specific initialization. // Turn off Windows Error Reporting @@ -702,7 +704,21 @@ bool LLAppViewerWin32::init() #else // LL_BUGSPLAT #pragma message("Building with BugSplat") + // Pre BugSplat dance, make sure settings are valid, query crash behavior and then set up Bugsplat accordingly" + success = LLAppViewer::init(); + if (!success) + return false; + S32 nCrashSubmitBehavior = gCrashSettings.getS32("CrashSubmitBehavior"); + // Don't ever send? bail out! + if (nCrashSubmitBehavior == 2 /*CRASH_BEHAVIOR_NEVER_SEND*/) + return success; + + DWORD dwAsk{ MDSF_NONINTERACTIVE }; + if (nCrashSubmitBehavior == 0 /*CRASH_BEHAVIOR_ASK*/) + dwAsk = 0; + // + std::string build_data_fname( gDirUtilp->getExpandedFilename(LL_PATH_EXECUTABLE, "build_data.json")); // Use llifstream instead of std::ifstream because LL_PATH_EXECUTABLE @@ -740,13 +756,26 @@ bool LLAppViewerWin32::init() LL_VIEWER_VERSION_BUILD)); // have to convert normal wide strings to strings of __wchar_t + + // Set up Bugsplat to ask or always send + + // sBugSplatSender = new MiniDmpSender( + // WCSTR(BugSplat_DB.asString()), + // WCSTR(LL_TO_WSTRING(LL_VIEWER_CHANNEL)), + // WCSTR(version_string), + // nullptr, // szAppIdentifier -- set later + // MDSF_NONINTERACTIVE | // automatically submit report without prompting + // MDSF_PREVENTHIJACKING); // disallow swiping Exception filter + sBugSplatSender = new MiniDmpSender( WCSTR(BugSplat_DB.asString()), WCSTR(LL_TO_WSTRING(LL_VIEWER_CHANNEL)), WCSTR(version_string), nullptr, // szAppIdentifier -- set later - MDSF_NONINTERACTIVE | // automatically submit report without prompting + dwAsk | MDSF_PREVENTHIJACKING); // disallow swiping Exception filter + // + sBugSplatSender->setCallback(bugsplatSendLog); // engage stringize() overload that converts from wstring @@ -759,7 +788,12 @@ bool LLAppViewerWin32::init() #endif // LL_BUGSPLAT #endif // LL_SEND_CRASH_REPORTS - bool success = LLAppViewer::init(); + // base::init() was potentially called earlier. + // bool success = LLAppViewer::init(); + // + + if( !success ) + success = LLAppViewer::init(); return success; } diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index fc6f24419d..03f90b8148 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -4958,13 +4958,6 @@ void LLPanelPreferenceCrashReports::refresh() getChild("checkSendCrashReportsAlwaysAsk")->setEnabled(fEnable); getChild("checkSendSettings")->setEnabled(fEnable); getChild("checkSendName")->setEnabled(fEnable); - -// Disable options not available when compiling with Bugsplat and set those to default values. -#ifdef LL_BUGSPLAT - getChild("checkSendCrashReportsAlwaysAsk")->setEnabled(false); - getChild("checkSendCrashReportsAlwaysAsk")->setValue(false); -#endif -// } void LLPanelPreferenceCrashReports::apply() From f4d1c26789caf9875aee807b5481848ecd2192ee Mon Sep 17 00:00:00 2001 From: Ansariel Date: Thu, 28 May 2020 14:36:32 +0200 Subject: [PATCH 04/15] Add info that any changes to crash submission settings require a restart in case of Bugsplat --- indra/newview/llfloaterpreference.cpp | 4 ++++ .../xui/de/panel_preferences_crashreports.xml | 3 +++ .../xui/en/panel_preferences_crashreports.xml | 23 +++++++++++++++---- 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/indra/newview/llfloaterpreference.cpp b/indra/newview/llfloaterpreference.cpp index 352240597b..53f1ec7ed9 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -4857,6 +4857,10 @@ BOOL LLPanelPreferenceCrashReports::postBuild() getChild("textInformation4")->setTextArg("[URL]", getString("PrivacyPolicyUrl")); +#if LL_SEND_CRASH_REPORTS && defined(LL_BUGSPLAT) + childSetVisible("textRestartRequired", true); +#endif + refresh(); return LLPanelPreference::postBuild(); diff --git a/indra/newview/skins/default/xui/de/panel_preferences_crashreports.xml b/indra/newview/skins/default/xui/de/panel_preferences_crashreports.xml index d15b516e78..8269fd66e2 100644 --- a/indra/newview/skins/default/xui/de/panel_preferences_crashreports.xml +++ b/indra/newview/skins/default/xui/de/panel_preferences_crashreports.xml @@ -10,6 +10,9 @@ (für eventuelle Rückfragen) + + Änderungen an jeglichen Einstellungen werden erst nach einem Neustart aktiv. + Sofern nicht ausgewählt, enthalten die Meldungen nur absturzrelevante Informationen. diff --git a/indra/newview/skins/default/xui/en/panel_preferences_crashreports.xml b/indra/newview/skins/default/xui/en/panel_preferences_crashreports.xml index cae43db347..0e074fbe01 100644 --- a/indra/newview/skins/default/xui/en/panel_preferences_crashreports.xml +++ b/indra/newview/skins/default/xui/en/panel_preferences_crashreports.xml @@ -52,7 +52,7 @@ height="20" width="230" text_color="White_25"> - (contains Second Life name) + (contains username) @@ -77,6 +77,21 @@ (used to ask for additional information if needed) + + Changes made to any setting require a restart to become effective. + + Unless checked above crash reports only contain information relevant to the crash. @@ -100,7 +115,7 @@ mouse_opaque="false" name="textInformation2" width="475" > - Second Life logs are not sent, please review the contents and email separately + Logs are not sent, please review the contents and email separately Date: Thu, 28 May 2020 08:02:41 -0500 Subject: [PATCH 05/15] Fix broken Mac installer background and hopefully not screw up Windows installers. --- indra/newview/viewer_manifest.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/indra/newview/viewer_manifest.py b/indra/newview/viewer_manifest.py index d86342cda0..73d182862c 100755 --- a/indra/newview/viewer_manifest.py +++ b/indra/newview/viewer_manifest.py @@ -254,10 +254,8 @@ class ViewerManifest(LLManifest,FSViewerManifest): # Somehow, we started leaving the - separating the variant from the app name # on the beginning of the channel qualifier. This screws up later processing that # depends on the channel type. If it's there, we chop it off. - # Well, not for 6.3.9...this is broken elsewhere and we're too rushed to fix - # it properly, so we kludge our way around it elsewhere. - #if channel_qualifier[0] == '-': - # channel_qualifier = channel_qualifier[1:] + if channel_qualifier[0] == '-': + channel_qualifier = channel_qualifier[1:] if channel_qualifier.startswith('release'): channel_type='release' elif channel_qualifier.startswith('beta'): @@ -277,8 +275,9 @@ class ViewerManifest(LLManifest,FSViewerManifest): # get any part of the channel name after the CHANNEL_VENDOR_BASE suffix=self.channel_variant() # by ancient convention, we don't use Release in the app name - if self.channel_type() == 'release': - suffix=suffix.replace('Release', '').strip() + # Well, LL doesn't, but we do. Don't remove it. + #if self.channel_type() == 'release': + # suffix=suffix.replace('Release', '').strip() # for the base release viewer, suffix will now be null - for any other, append what remains if suffix: #suffix = "_".join([''] + suffix.split()) @@ -308,10 +307,12 @@ class ViewerManifest(LLManifest,FSViewerManifest): def app_name(self): global CHANNEL_VENDOR_BASE channel_type=self.channel_type() - if channel_type == 'release': - app_suffix='Viewer' - else: - app_suffix=self.channel_variant() + # LL uses "Viewer" in the name of their release package. We use "Release". + #if channel_type == 'release': + # app_suffix='Viewer' + #else: + # app_suffix=self.channel_variant() + app_suffix=self.channel_variant() # tag "OS" after CHANNEL_VENDOR_BASE and before any suffix if self.fs_is_opensim(): From bbe5ce59c8daf4712b343229fe7ae64c5d7d9af1 Mon Sep 17 00:00:00 2001 From: Ansariel Date: Thu, 28 May 2020 15:21:55 +0200 Subject: [PATCH 06/15] Remove orphaned method --- indra/newview/llagent.cpp | 7 ------- indra/newview/llagent.h | 3 --- 2 files changed, 10 deletions(-) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index 00a835f990..1af418972a 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -1150,13 +1150,6 @@ void LLAgent::removeRegionChangedCallback(boost::signals2::connection callback) mRegionChangedSignal.disconnect(callback); } -// Aurora sim windlight refresh -void LLAgent::changeRegion() -{ - mRegionChangedSignal(); -} -// - //----------------------------------------------------------------------------- // inPrelude() //----------------------------------------------------------------------------- diff --git a/indra/newview/llagent.h b/indra/newview/llagent.h index 58f2ed28eb..5e049a5a83 100644 --- a/indra/newview/llagent.h +++ b/indra/newview/llagent.h @@ -280,9 +280,6 @@ public: // Capability std::string getRegionCapability(const std::string &name); // short hand for if (getRegion()) { getRegion()->getCapability(name) } - // Aurora sim windlight refresh - void changeRegion(); - /** * Register a boost callback to be called when the agent changes regions * Note that if you need to access a capability for the region, you may need to wait From de152eda9c7864e27aad9df5e4fc436cbc2fa3ba Mon Sep 17 00:00:00 2001 From: Ansariel Date: Thu, 28 May 2020 15:51:54 +0200 Subject: [PATCH 07/15] Fix crash when saving camera preset --- indra/newview/llfloaterpreferenceviewadvanced.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/indra/newview/llfloaterpreferenceviewadvanced.cpp b/indra/newview/llfloaterpreferenceviewadvanced.cpp index 131c5a3802..7843d14c98 100644 --- a/indra/newview/llfloaterpreferenceviewadvanced.cpp +++ b/indra/newview/llfloaterpreferenceviewadvanced.cpp @@ -90,10 +90,9 @@ void LLFloaterPreferenceViewAdvanced::onSavePreset() LLFloaterReg::hideInstance("load_pref_preset", PRESETS_CAMERA); LLSD key; - key["subdirectory"] = PRESETS_CAMERA; std::string current_preset = gSavedSettings.getString("PresetCameraActive"); bool is_custom_preset = current_preset != "" && !LLPresetsManager::getInstance()->isDefaultCameraPreset(current_preset); key["index"] = is_custom_preset ? 1 : 0; - LLFloaterReg::showInstance("save_pref_preset", key); + LLFloaterReg::showInstance("save_camera_preset", key); } // From 2251be7f7955055a48b6ec35c3615fe9e5ebb4cd Mon Sep 17 00:00:00 2001 From: Ansariel Date: Thu, 28 May 2020 16:04:54 +0200 Subject: [PATCH 08/15] Improve layout of save/delete presets floaters --- .../xui/de/floater_delete_pref_preset.xml | 2 +- .../xui/en/floater_delete_pref_preset.xml | 14 +++++++------- .../xui/en/floater_save_camera_preset.xml | 16 ++++++++-------- .../xui/en/floater_save_pref_preset.xml | 18 +++++++++--------- 4 files changed, 25 insertions(+), 25 deletions(-) diff --git a/indra/newview/skins/default/xui/de/floater_delete_pref_preset.xml b/indra/newview/skins/default/xui/de/floater_delete_pref_preset.xml index 21c3a0e39b..5008fc8d44 100644 --- a/indra/newview/skins/default/xui/de/floater_delete_pref_preset.xml +++ b/indra/newview/skins/default/xui/de/floater_delete_pref_preset.xml @@ -1,5 +1,5 @@ - + Grafik-Voreinstellung löschen diff --git a/indra/newview/skins/default/xui/en/floater_delete_pref_preset.xml b/indra/newview/skins/default/xui/en/floater_delete_pref_preset.xml index e249209b80..a75fd6292f 100644 --- a/indra/newview/skins/default/xui/en/floater_delete_pref_preset.xml +++ b/indra/newview/skins/default/xui/en/floater_delete_pref_preset.xml @@ -7,7 +7,7 @@ name="delete_pref_preset" save_rect="true" title="Delete Pref Preset" - width="300"> + width="240"> Delete Graphic Preset Delete Camera Preset @@ -16,7 +16,7 @@ follows="top|left|right" height="10" layout="topleft" - left="20" + left="10" name="Preset" top="30" width="200"> @@ -25,19 +25,19 @@ + width="220"/>