diff --git a/autobuild.xml b/autobuild.xml index d3faf9adf4..5a5d70e85f 100644 --- a/autobuild.xml +++ b/autobuild.xml @@ -1098,11 +1098,11 @@ archive hash - 9aac95d85fd3f044da3fd9dd44ed5ca2 + 21d50d222f005c033452ee3fad44bff1 hash_algorithm md5 url - file:///opt/firestorm/fmodstudio-2.02.06-linux64_bionic-220911506.tar.bz2 + file:///opt/firestorm/fmodstudio-2.02.07-linux64_bionic-222191132.tar.bz2 name linux64 diff --git a/indra/cmake/LLWindow.cmake b/indra/cmake/LLWindow.cmake index 1b0370cc14..58b842f4b5 100644 --- a/indra/cmake/LLWindow.cmake +++ b/indra/cmake/LLWindow.cmake @@ -18,7 +18,7 @@ if (USESYSTEMLIBS) ) else (USESYSTEMLIBS) if (LINUX) - if( NOT USE_SDL2 ) + if( USE_SDL1 ) use_prebuilt_binary(SDL) set (SDL_FOUND TRUE) diff --git a/indra/llmath/lloctree.h b/indra/llmath/lloctree.h index 55d6cc9348..9d12929323 100644 --- a/indra/llmath/lloctree.h +++ b/indra/llmath/lloctree.h @@ -852,8 +852,6 @@ public: llassert(size[0] >= gOctreeMinSize); - llassert(size[0] >= gOctreeMinSize); - //copy our children to a new branch LLOctreeNode* newnode = new LLOctreeNode(center, size, this); diff --git a/indra/llwindow/CMakeLists.txt b/indra/llwindow/CMakeLists.txt index 299a434d76..69beec1c19 100644 --- a/indra/llwindow/CMakeLists.txt +++ b/indra/llwindow/CMakeLists.txt @@ -81,7 +81,7 @@ if (LINUX) libfreetype.a ) - if( NOT USE_SDL2 ) + if( USE_SDL1 ) list(APPEND viewer_SOURCE_FILES llkeyboardsdl.cpp llwindowsdl.cpp diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index 51810f7921..bfae9605d4 100644 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -13963,7 +13963,7 @@ Change of this parameter will affect the layout of buttons in notification toast Type String Value - https://jira.firestormviewer.org/secure/CreateIssueDetails!init.jspa?pid=10005&issuetype=1&priority=3&environment=[ENVIRONMENT] + https://jira.firestormviewer.org/secure/CreateIssueDetails!init.jspa?pid=10003&issuetype=8&priority=3&environment=[ENVIRONMENT] RevokePermsOnStopAnimation diff --git a/indra/newview/fspanelblocklist.cpp b/indra/newview/fspanelblocklist.cpp index adc1c8cc73..cb45a75384 100644 --- a/indra/newview/fspanelblocklist.cpp +++ b/indra/newview/fspanelblocklist.cpp @@ -440,7 +440,7 @@ void FSPanelBlockList::showProfile() void FSPanelBlockList::callbackBlockPicked(const uuid_vec_t& ids, const std::vector names) { if (names.empty() || ids.empty()) return; - LLMute mute(ids[0], names[0].getLegacyName(), LLMute::AGENT); + LLMute mute(ids[0], names[0].getUserName(), LLMute::AGENT); LLMuteList::getInstance()->add(mute); showPanelAndSelect(mute.mID); } diff --git a/indra/newview/fsparticipantlist.cpp b/indra/newview/fsparticipantlist.cpp index e292d67a11..b14275e446 100644 --- a/indra/newview/fsparticipantlist.cpp +++ b/indra/newview/fsparticipantlist.cpp @@ -803,10 +803,12 @@ void FSParticipantList::FSParticipantListMenu::toggleMute(const LLSD& userdata, LL_WARNS("Speakers") << "Speaker " << speaker_id << " not found" << LL_ENDL; return; } - LLAvatarListItem* item = dynamic_cast(mParent.mAvatarList->getItemByValue(speaker_id)); - if (NULL == item) return; - name = item->getAvatarName(); + // We should have the name in the cache from the LLAvatarList this is used in combination with + LLAvatarName avname; + if (!LLAvatarNameCache::get(speaker_id, &avname)) return; + + name = avname.getUserName(); LLMute::EType mute_type; switch (speakerp->mType) diff --git a/indra/newview/llagent.cpp b/indra/newview/llagent.cpp index b95e9f0f1a..757af5540b 100644 --- a/indra/newview/llagent.cpp +++ b/indra/newview/llagent.cpp @@ -832,6 +832,9 @@ void LLAgent::moveYaw(F32 mag, bool reset_view) U32 mask = AGENT_CONTROL_YAW_POS | AGENT_CONTROL_YAW_NEG; if ((getControlFlags() & mask) == mask) { + // Rotation into both directions should cancel out + // But keep sending controls to simulator, + // it's needed for script based controls gAgentCamera.setYawKey(0); } diff --git a/indra/newview/llinspectavatar.cpp b/indra/newview/llinspectavatar.cpp index ecbaed7b40..8923879433 100644 --- a/indra/newview/llinspectavatar.cpp +++ b/indra/newview/llinspectavatar.cpp @@ -726,7 +726,7 @@ void LLInspectAvatar::onClickShare() void LLInspectAvatar::onToggleMute() { - LLMute mute(mAvatarID, mAvatarName.getDisplayName(), LLMute::AGENT); + LLMute mute(mAvatarID, mAvatarName.getUserName(), LLMute::AGENT); if (LLMuteList::getInstance()->isMuted(mute.mID, mute.mName)) { diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp index 890b546fe0..c29751ce44 100644 --- a/indra/newview/llpanelface.cpp +++ b/indra/newview/llpanelface.cpp @@ -3651,7 +3651,7 @@ void LLPanelFace::LLSelectedTE::getFace(LLFace*& face_to_return, bool& identical void LLPanelFace::LLSelectedTE::getImageFormat(LLGLenum& image_format_to_return, bool& identical_face) { - LLGLenum image_format; + LLGLenum image_format{ GL_RGB }; struct LLSelectedTEGetImageFormat : public LLSelectedTEGetFunctor { LLGLenum get(LLViewerObject* object, S32 te_index) diff --git a/indra/newview/llviewerdisplay.cpp b/indra/newview/llviewerdisplay.cpp index 0b2b13536b..4b64eda9db 100644 --- a/indra/newview/llviewerdisplay.cpp +++ b/indra/newview/llviewerdisplay.cpp @@ -102,6 +102,9 @@ F32 gSavedDrawDistance = 0.0f; F32 gLastDrawDistanceStep = 0.0f; // FIRE-12004: Attachments getting lost on TP LLFrameTimer gPostTeleportFinishKillObjectDelayTimer; +// FIRE-15917 / FIRE-31906: Mesh attachments sometimes vanish after teleports +bool postTeleportResetVB = false; +LLFrameTimer postTeleportResetVBTimer; BOOL gForceRenderLandFence = FALSE; BOOL gDisplaySwapBuffers = FALSE; @@ -332,6 +335,17 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) stop_glerror(); gPipeline.disableLights(); + + // FIRE-15917 / FIRE-31906: Mesh attachments sometimes vanish after teleports + static LLCachedControl teleportArrivalDelay(gSavedSettings, "TeleportArrivalDelay"); + if (postTeleportResetVB && postTeleportResetVBTimer.getElapsedTimeF32() > teleportArrivalDelay()) + { + LL_INFOS("Teleport") << "Resetting Vertex Buffers after TP finished" << LL_ENDL; + postTeleportResetVB = false; + postTeleportResetVBTimer.stop(); + gPipeline.resetVertexBuffers(); + } + // //reset vertex buffers if needed gPipeline.doResetVertexBuffers(); @@ -556,6 +570,11 @@ void display(BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot) // FIRE-12004: Attachments getting lost on TP gPostTeleportFinishKillObjectDelayTimer.reset(); + + // FIRE-15917 / FIRE-31906: Mesh attachments sometimes vanish after teleports + postTeleportResetVB = true; + postTeleportResetVBTimer.start(); + // break; case LLAgent::TELEPORT_ARRIVING: diff --git a/indra/newview/llviewermessage.cpp b/indra/newview/llviewermessage.cpp index 65bedf92bb..048bc10a1b 100644 --- a/indra/newview/llviewermessage.cpp +++ b/indra/newview/llviewermessage.cpp @@ -4250,13 +4250,6 @@ void send_agent_update(BOOL force_send, BOOL send_reliable) // trigger a control event. U32 control_flags = gAgent.getControlFlags(); - // Rotation into both directions should cancel out - U32 mask = AGENT_CONTROL_YAW_POS | AGENT_CONTROL_YAW_NEG; - if ((control_flags & mask) == mask) - { - control_flags &= ~mask; - } - MASK key_mask = gKeyboard->currentMask(TRUE); if (key_mask & MASK_ALT || key_mask & MASK_CONTROL) diff --git a/indra/newview/llviewerwindow.cpp b/indra/newview/llviewerwindow.cpp index 4c13dc7fb6..40ff5174a4 100644 --- a/indra/newview/llviewerwindow.cpp +++ b/indra/newview/llviewerwindow.cpp @@ -3296,8 +3296,9 @@ BOOL LLViewerWindow::handleKey(KEY key, MASK mask) if (keyboard_focus && !gFocusMgr.getKeystrokesOnly()) { - LLUICtrl* cur_focus = dynamic_cast(keyboard_focus); - if (cur_focus && cur_focus->acceptsTextInput()) + // FIRE-31551: This causes aggressive switching into mouselook while any floater has focus + //LLUICtrl* cur_focus = dynamic_cast(keyboard_focus); + //if (cur_focus && cur_focus->acceptsTextInput()) { #ifdef LL_WINDOWS // On windows Alt Gr key generates additional Ctrl event, as result handling situations diff --git a/indra/newview/skins/default/xui/de/menu_login.xml b/indra/newview/skins/default/xui/de/menu_login.xml index 969d486194..0527a0115e 100644 --- a/indra/newview/skins/default/xui/de/menu_login.xml +++ b/indra/newview/skins/default/xui/de/menu_login.xml @@ -16,7 +16,7 @@ - + diff --git a/indra/newview/skins/default/xui/de/menu_viewer.xml b/indra/newview/skins/default/xui/de/menu_viewer.xml index 6725ae28cc..f1f1af43b9 100644 --- a/indra/newview/skins/default/xui/de/menu_viewer.xml +++ b/indra/newview/skins/default/xui/de/menu_viewer.xml @@ -270,7 +270,7 @@ - + diff --git a/indra/newview/skins/default/xui/de/notifications.xml b/indra/newview/skins/default/xui/de/notifications.xml index 2510643f9f..6e7026c426 100644 --- a/indra/newview/skins/default/xui/de/notifications.xml +++ b/indra/newview/skins/default/xui/de/notifications.xml @@ -4599,7 +4599,7 @@ Wählen Sie eine kleinere Landfläche aus. Land kann nicht geteilt werden. Parzelle kann nicht gefunden werden. -Bitte melden Sie den Fehler über „Hilfe“ -> „Fehler melden“. +Bitte melden Sie das Problem über „Hilfe“ -> „Problem melden“. Land kann nicht geteilt werden. Die gesamte Parzelle ist ausgewählt. diff --git a/indra/newview/skins/default/xui/en/menu_login.xml b/indra/newview/skins/default/xui/en/menu_login.xml index cd4d386de6..4d24c68edc 100644 --- a/indra/newview/skins/default/xui/en/menu_login.xml +++ b/indra/newview/skins/default/xui/en/menu_login.xml @@ -128,7 +128,7 @@ --> diff --git a/indra/newview/skins/default/xui/en/menu_viewer.xml b/indra/newview/skins/default/xui/en/menu_viewer.xml index 1664d4d010..0a7c22c162 100644 --- a/indra/newview/skins/default/xui/en/menu_viewer.xml +++ b/indra/newview/skins/default/xui/en/menu_viewer.xml @@ -2518,7 +2518,7 @@ function="ReportAbuse" /> diff --git a/indra/newview/skins/default/xui/en/notifications.xml b/indra/newview/skins/default/xui/en/notifications.xml index 81b8abd24a..06c9652d06 100644 --- a/indra/newview/skins/default/xui/en/notifications.xml +++ b/indra/newview/skins/default/xui/en/notifications.xml @@ -12472,7 +12472,7 @@ Try selecting a smaller piece of land. fail Can't divide land. Can't find the parcel. -Please report with Help -> Report Bug... +Please report with Help -> Report Problem... - One or more texture not found in inventory. + One or more textures not found in inventory. @@ -615,7 +615,7 @@ width="265" />