diff --git a/autobuild.xml b/autobuild.xml index 08be06fb8f..3c95a13fa7 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 diff --git a/indra/llui/llconsole.cpp b/indra/llui/llconsole.cpp index fa83293ac7..78db4e07ea 100644 --- a/indra/llui/llconsole.cpp +++ b/indra/llui/llconsole.cpp @@ -659,7 +659,8 @@ void LLConsole::Paragraph::updateLines(F32 screen_width, const LLFontGL* font, L // FIRE-8257: Sometimes text is cut off on left side of console else { - break; + mLines.push_back(Line()); + skip_chars = 1; } // paragraph_offset += (drawable + skip_chars); 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 = ""; diff --git a/indra/newview/ao.cpp b/indra/newview/ao.cpp index 43ceb3e0f9..9867381df8 100644 --- a/indra/newview/ao.cpp +++ b/indra/newview/ao.cpp @@ -131,12 +131,6 @@ void FloaterAO::updateList() mReloadButton->setEnabled(TRUE); mImportRunning = FALSE; - std::string currentSetName = mSetSelector->getSelectedItemLabel(); - if (currentSetName.empty()) - { - currentSetName = AOEngine::instance().getCurrentSetName(); - } - // Lambda provides simple Alpha sorting, note this is case sensitive. auto sortRuleLambda = [](const AOSet* s1, const AOSet* s2) -> bool { @@ -146,6 +140,9 @@ void FloaterAO::updateList() mSetList=AOEngine::instance().getSetList(); std::sort(mSetList.begin(), mSetList.end(), sortRuleLambda); + // remember currently selected animation set name + std::string currentSetName = mSetSelector->getSelectedItemLabel(); + mSetSelector->removeall(); mSetSelectorSmall->removeall(); mSetSelector->clear(); @@ -166,6 +163,21 @@ void FloaterAO::updateList() return; } + // make sure we have an animation set name to display + if (currentSetName.empty()) + { + // selected animation set was empty, get the currently active animation set from the engine + currentSetName = AOEngine::instance().getCurrentSetName(); + LL_DEBUGS("AOEngine") << "Current set name was empty, fetched name \"" << currentSetName << "\" from AOEngine" << LL_ENDL; + + if(currentSetName.empty()) + { + // selected animation set was empty, get the name of the first animation set in the list + currentSetName = mSetList[0]->getName(); + LL_DEBUGS("AOEngine") << "Current set name still empty, fetched first set's name \"" << currentSetName << "\"" << LL_ENDL; + } + } + for (U32 index = 0; index < mSetList.size(); ++index) { std::string setName = mSetList[index]->getName(); diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 5513f13260..847f5c6515 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -16417,17 +16417,6 @@ Change of this parameter will affect the layout of buttons in notification toast Value 1.0 - HUDScaleFactor - - Comment - Scale of HUD attachments - Persist - 1 - Type - F32 - Value - 1.0 - UIScaleFactor Comment diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index f63faaafd2..1963add08f 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -1161,13 +1161,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 21b30bce42..897b2e1661 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 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 947c83433c..7f1e215927 100644 --- a/indra/newview/llfloaterpreference.cpp +++ b/indra/newview/llfloaterpreference.cpp @@ -4975,6 +4975,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(); @@ -4989,13 +4993,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() 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); } // diff --git a/indra/newview/llinventorybridge.cpp b/indra/newview/llinventorybridge.cpp index 81aa1e444b..8a051242fc 100644 --- a/indra/newview/llinventorybridge.cpp +++ b/indra/newview/llinventorybridge.cpp @@ -4381,6 +4381,7 @@ void LLFolderBridge::buildContextMenuOptions(U32 flags, menuentry_vec_t& items const LLUUID &lost_and_found_id = model->findCategoryUUIDForType(LLFolderType::FT_LOST_AND_FOUND); const LLUUID &favorites = model->findCategoryUUIDForType(LLFolderType::FT_FAVORITE); const LLUUID &marketplace_listings_id = model->findCategoryUUIDForType(LLFolderType::FT_MARKETPLACE_LISTINGS, false); + const LLUUID &outfits_id = model->findCategoryUUIDForType(LLFolderType::FT_MY_OUTFITS, false); // Fix "outfits" context menu // FIRE-11628: Option to delete broken links from AO folder if (mUUID == AOEngine::instance().getAOFolder()) @@ -4388,6 +4389,12 @@ void LLFolderBridge::buildContextMenuOptions(U32 flags, menuentry_vec_t& items items.push_back(std::string("Cleanup broken Links")); } // + // Fix "outfits" context menu + if (outfits_id == mUUID) + { + items.push_back(std::string("New Outfit")); + } + // if (lost_and_found_id == mUUID) { // This is the lost+found folder. @@ -4489,7 +4496,10 @@ void LLFolderBridge::buildContextMenuOptions(U32 flags, menuentry_vec_t& items // Not sure what the right thing is to do here. if (!isCOFFolder() && cat && (cat->getPreferredType() != LLFolderType::FT_OUTFIT)) { - if (!isInboxFolder()) // don't allow creation in inbox + // Fix "outfits" context menu + //if (!isInboxFolder()) // don't allow creation in inbox + if (!isInboxFolder() && outfits_id != mUUID) // don't allow creation in inbox + // { // Do not allow to create 2-level subfolder in the Calling Card/Friends folder. EXT-694. if (!LLFriendCardsManager::instance().isCategoryInFriendFolder(cat)) @@ -8540,6 +8550,7 @@ void LLWornItemsFolderBridge::buildContextMenu(LLMenuGL& menu, U32 flags) items.erase(std::remove(items.begin(), items.end(), std::string("New Gesture")), items.end()); items.erase(std::remove(items.begin(), items.end(), std::string("New Script")), items.end()); items.erase(std::remove(items.begin(), items.end(), std::string("New Folder")), items.end()); + items.erase(std::remove(items.begin(), items.end(), std::string("New Settings")), items.end()); // Don't allow creating settings on the "worn" tab hide_context_entries(menu, items, disabled_items); } diff --git a/indra/newview/llviewermenu.cpp b/indra/newview/llviewermenu.cpp index a38917f1d0..211621bc2e 100644 --- a/indra/newview/llviewermenu.cpp +++ b/indra/newview/llviewermenu.cpp @@ -5237,8 +5237,10 @@ void handle_reset_view() } // Added optional V1 behavior so the avatar turns into camera direction after hitting ESC - if(gSavedSettings.getBOOL("ResetViewTurnsAvatar")) - gAgentCamera.resetView(); + if (!gSavedSettings.getBOOL("ResetViewTurnsAvatar")) + { + gAgentCamera.setFocusOnAvatar(TRUE, FALSE, FALSE); + } // reset_view_final( TRUE ); 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/de/menu_inventory.xml b/indra/newview/skins/default/xui/de/menu_inventory.xml index 606651c4b7..2845a4eba2 100644 --- a/indra/newview/skins/default/xui/de/menu_inventory.xml +++ b/indra/newview/skins/default/xui/de/menu_inventory.xml @@ -18,6 +18,7 @@ + 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/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"/>