summaryrefslogtreecommitdiff
path: root/indra/newview
AgeCommit message (Collapse)Author
2024-09-26Fix a few more fsyspath conversions, removing explicit u8string().Nat Goodspeed
2024-09-25Adapt `fsyspath` for C++20 conventions.Nat Goodspeed
In C++20, `std::filesystem::u8path()` (that accepts a UTF-8 encoded `std::string` and returns a `std::filesystem::path`) is deprecated. Instead, to engage UTF-8 coding conversions, we're supposed to pass the `path` constructor a `std::u8string`, i.e. a `std::basic_string<char8_t>`. Since `char8_t` is a type distinct from both `char` and `unsigned char`, we must Do Something to pass a UTF-8 encoded `std::string` into `std::filesystem::path`. To avoid copying characters from a `std::string` into a temporary `std::u8string` and from there into the `std::filesystem::path`, make a `boost::transform_iterator` that accepts a `std::string_view::iterator` and adapts it to dereference `char8_t` characters. Make `fsyspath(std::string_view)` engage the base-class constructor accepting (iterator, iterator), adapting `string_view::begin()` and `end()` to deliver `char8_t` characters. Use the same tactic for `fsyspath::operator=(std::string_view)`, explicitly calling `std::filesystem::path::assign()` with the adapted iterators. To resolve ambiguities, provide both constructors and assignment operators accepting `(const std::string&)` and `(const char*)`, explicitly converting each to `std::string_view`. At the same time, `std::filesystem::path::u8string()` now returns `std::u8string` rather than `std::string`. Since `std::filesystem::path` delivers only that `std::u8string` rather than iterators into its internal representation, we can't avoid capturing it and copying to the returned `std::string`. Remove explicit `.u8string()` calls from a few existing `fsyspath` instances, now that `fsyspath` supports implicit conversion to `std::string`.
2024-09-25Merge branch 'develop' into marchcat/xcode-16Nat Goodspeed
2024-09-24Make `LLPointer` equality comparisons accept not-identical types.Nat Goodspeed
That is, both `LLPointer::operator==()` and `operator!=()` and the free function `operator==()` and `operator!=()` now accept pointer types other than the type of the subject `LLPointer`, letting the compiler apply implicit pointer conversions or diagnose an error.
2024-09-24#2559 No mouseover if a link is embedded with an emojiAlexander Gavriliuk
2024-09-24Merge pull request #2534 from secondlife/release/luau-scriptingnat-goodspeed
Add Lua scripting to develop, behind feature flag
2024-09-24Reduce memory allocations pinging the mainloop timeoutAnsariel
2024-09-24Performance improvements and cleanup in llviewerdisplay.cppAnsariel
2024-09-23Merge remote 'release/luau-scripting' into release/luau-scriptingNat Goodspeed
2024-09-24Restore WebRTC shutdown fix (#2658)Ansariel Hiller
2024-09-23Merge remote branch 'develop' into release/luau-scripting for Maint BNat Goodspeed
2024-09-23Merge branch 'develop' into marchcat/b-developAndrey Lihatskiy
# Conflicts: # indra/newview/llfeaturemanager.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/llvoicewebrtc.cpp
2024-09-23Merge remote branch 'develop' into release/luau-scriptingNat Goodspeed
2024-09-23viewer#2631 Couple small tweaksAndrey Kleshchev
2024-09-23Merge remote branch 'develop'into release/luau-scriptingNat Goodspeed
2024-09-23Merge remote branch 'lua-script-args' into lua-script-argsNat Goodspeed
2024-09-23Use Lua command-line args to make frame_profile_quit.lua generic.Nat Goodspeed
Now the location to which to teleport and the camera focus point can both be specified by the caller, in this case the frame_profile bash script.
2024-09-23#2626 fix for incoming IM calls not being rejected when DND mode is activeMaxim Nikolenko
2024-09-22#2618 Roles and Members tab is a messAlexander Gavriliuk
2024-09-21#2618 Roles and Members tab is a mess (fix XML indents for readability)Alexander Gavriliuk
2024-09-21Improve inventory finder floater performance: Don't parse XUI tree each ↵Ansariel Hiller
frame (#2640)
2024-09-20Fix trailing spaces.Nat Goodspeed
2024-09-20Merge branch 'release/luau-scripting' into lua-script-argsNat Goodspeed
2024-09-20Add ability to pass command-line arguments to a Lua script.Nat Goodspeed
Introduce `ScriptCommand` class that parses a command line into a script name and optional args, using bash-like quoting and escaping. `ScriptCommand` searches for a file with that script name on a passed list of directories; the directories may be specified relative to a particular base directory. `ScriptCommand` supports the special case of a script name containing unescaped spaces. It guarantees that either the returned script file exists, or its `error()` string is non-empty. Replace `LLLeap::create()` logic, from which `ScriptCommand` was partly derived, with a `ScriptCommand` instance. Make `LLLUAmanager::runScriptFile()` use a `ScriptCommand` instance to parse the passed command line. Subsume `LLAppViewer::init()` script-path-searching logic for `--luafile` into `ScriptCommand`. In fact that lambda now simply calls `LLLUAmanager::runScriptFile()`. Make `lluau::dostring()` accept an optional vector of script argument strings. Following PUC-Rio Lua convention, pass these arguments into a Lua script as the predefined global `arg`, and also as the script's `...` argument. `LuaState::expr()` also accepts and passes through script argument strings. Change the log tag for the Lua script interruption message: if we want it, we can still enable it, but we don't necessarily want it along with all other "Lua" DEBUG messages. Remove `LuaState::script_finished_fn`, which isn't used any more. Also remove the corresponding `LLLUAmanager::script_finished_fn`. This allows us to simplify `~LuaState()` slightly, as well as the parameter signatures for `LLLUAmanager::runScriptFile()` and `runScriptLine()`.
2024-09-20Merge pull request #2623 from secondlife/v-2462cosmic-linden
secondlife/viewer#2462: Optimize unloading of prims
2024-09-20Restore option to change location of existing pick (#2622)Ansariel Hiller
2024-09-20Fix sky settings with reflection probe ambiance of 0 still receiving tonemappingRye Cogtail
2024-09-20#1519 ObjectGrab message includes invalid SurfaceInfo data when in mouselook ↵Alexander Gavriliuk
mode
2024-09-20viewer#2576 Crash baning a residentAndrey Kleshchev
2024-09-19secondlife/viewer#2623: Remove assertCosmic Linden
2024-09-19secondlife/viewer#2462: Optimize unloading of primsCosmic Linden
2024-09-19Incremented viewer version after release/2024.09-ExtraFPS branch creationBrad Linden
2024-09-19Make login.lua enhance plain grid='agni' to required form.Nat Goodspeed
2024-09-19Merge pull request #2610 from secondlife/frame-profile-jsonnat-goodspeed
Make Develop->Render Tests->Frame Profile dump JSON to a file too.
2024-09-19viewer#2608 Crash at LLSnapshotLivePreview::getFormattedImageAndrey Kleshchev
2024-09-19Don't keep updating snapshot preview when the floater is closedMaxim Nikolenko
2024-09-19Merge branch 'main' into marchcat/b-main-syncAndrey Lihatskiy
# Conflicts: # indra/newview/llviewertexturelist.cpp
2024-09-19Merge branch 'develop' into frame-profile-jsonNat Goodspeed
2024-09-19Reapply commit f4b6563 -- cherry-picking lost parts of it?!Nat Goodspeed
2024-09-19Expose LLVector4a in LLRenderAndrey Kleshchev
Avoid using a bunch of allocators. Make sure we use LLVector4a's SSE logic instead of LLVector3's. Some minor optimizations.
2024-09-18Merge pull request #2602 from secondlife/roxie/webrtc-2601Roxanne Skelly
2024-09-19Fix possible dereferencing of nullptr in llglsandbox.cpp (#2597)Ansariel Hiller
2024-09-19Fix copy&paste error in llfloaterimagepreview.cpp (#2596)Ansariel Hiller
2024-09-18Fix crash in LLImProcessing when message comes in before region is fully ↵Brad Linden
init (#2604) secondlife/viewer#2603
2024-09-18fix trailing whitespaceRoxie Linden
2024-09-18Merge pull request #2600 from secondlife/brad/1016-cherry-pickBrad Linden
cherry-pick viewer#1016 Incorrect behavior of Physics Shapes rendering
2024-09-18Fix for particles not loading textures (#2598)Dave Parks
Also fix assert while prepping GLTF assets
2024-09-18Mute other / set volume level for other is not working.Roxie Linden
As part of the boost::json conversion, the json that mutes and sets peer gain was not being formed correctly. Also, tweaked the peer gain default.
2024-09-18fix whitespaceBrad Linden
2024-09-18viewer#1016 Incorrect behavior of Physics Shapes renderingAndrey Kleshchev