summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
2024-06-21Move newer Lua modules to scripts/lua/require subdirectory.Nat Goodspeed
2024-06-21Merge branch 'release/luau-scripting' into lua-loginNat Goodspeed
2024-06-21Fix texture fetch request getting canceled if request counter flips overAnsariel
2024-06-21viewer#1808 Use bugsplat's setAttribute for app stateAndrey Kleshchev
2024-06-20Merge remote-tracking branch 'origin/develop' into brad/webrtc-voice-developBrad Linden
2024-06-20Merge remote-tracking branch 'origin/release/webrtc-voice' into ↵Brad Linden
brad/webrtc-voice-develop
2024-06-20Merge branch 'release/luau-scripting' into lua-chat-listenerNat Goodspeed
2024-06-20viewer-private#247 Retry loading missing textures for model uploadAndrey Kleshchev
in case user provided a texture later, after seeing a 'missing texture' error.
2024-06-20Use new popup.lua, which supersedes LLNotification.lua.Nat Goodspeed
Use ClassName(ctor args) for classes using util.classctor().
2024-06-20Merge branch 'release/luau-scripting' into lua-loginNat Goodspeed
2024-06-20Revert LLLuaFloater "idle" events in favor of Lua timers.Timer().nat-goodspeed
2024-06-20Merge branch 'release/luau-scripting' into lua-speedometer-demoNat Goodspeed
2024-06-20Give popup() the ability to not wait; add popup:tip(message).Nat Goodspeed
popup:tip() engages 'SystemMessageTip'.
2024-06-20triage#59 Properly hide particles if 'friends only'Andrey Kleshchev
2024-06-20Use LLLeapListener to listen to LLNearbyChat pumpMnikolenko Productengine
2024-06-19Move popup.lua to require subdir with the rest of the modules.Nat Goodspeed
2024-06-19Improve LL.help() function.Nat Goodspeed
The help string for each lua_function() must restate the function name and its arguments. The help string is all that's shown; unless it restates the function name, LL.help() output lists terse explanations for functions whose names are not shown. Make help() prepend "LL." to help output, because these functions must be accessed via the "builtin" LL table instead of directly populating the global Lua namespace. Similarly, before string name lookup, remove "LL." prefix if specified.
2024-06-19Try harder to keep Luau's lua_getinfo() from crashing.Nat Goodspeed
2024-06-18Merge remote-tracking branch ↵Brad Linden
'origin/1771-mesh-objects-do-not-display-until-you-walk-directly-over-them' into develop resolve known conflicts early. # Conflicts: # indra/newview/llvocache.cpp
2024-06-18Fix crash issue when echo cancellation is enabled/disabled.Roxie Linden
New webrtc library fixes an assert in webrtc when echo cancellation is enabled or disabled. Also, fix an issue where disabling media grays out noise cancellation.
2024-06-18#1771 Fix for objects disappearing and not reappearing until LoD switchRunitaiLinden
2024-06-18Merge branch 'lua-login' of github.com:secondlife/viewer into lua-loginNat Goodspeed
2024-06-18Initialize lua_Debug lluau::source_path() passes to lua_getinfo().Nat Goodspeed
On Mac it doesn't seem to matter, but on Windows, leaving it uninitialized can produce garbage results and even crash the coroutine. This seems strange, since we've been assuming lua_getinfo() treats its lua_Debug* as output-only.
2024-06-18Use LL_DEBUGS("Lua") for LuaLog.Nat Goodspeed
We might decide to leave some of them in place.
2024-06-18Improve diagnostic output from running 'require' module.Nat Goodspeed
2024-06-18Fix whitespace for pre-commit hooksBrad Linden
2024-06-18Merge remote-tracking branch 'origin/develop' into brad/webrtc-voice-developBrad Linden
2024-06-18Merge pull request #1797 from secondlife/release/maint-aBrad Linden
merge release/maint-a into develop and close maint-a
2024-06-18Follow-up improvements of 810219d3bf27d81751d0f41b65013ca31db34ff7Ansariel
2024-06-18jira-archive-internal#67837 Fix LLDir::getScrubbedFileNameAndrey Kleshchev
2024-06-18Remove special-case ~LuaState() code to call fiber.run().Nat Goodspeed
Instead, make fiber.lua call LL.atexit(fiber.run) to schedule that final run() call at ~LuaState() time using the generic mechanism. Append an explicit fiber.run() call to a specific test in llluamanager_test.cpp because the test code wants to interact with multiple Lua fibers *before* we destroy the LuaState.
2024-06-18Make ~LuaState() walk Registry.atexit table backwardsNat Goodspeed
so cleanup happens in reverse order, as is conventional. Streamline LL.atexit() function: luaL_newmetatable() performs all the find-or-create named Registry table logic.
2024-06-18lua_emplace<T>() should permit GC despite LL.atexit() safety net.Nat Goodspeed
lua_emplace<T>() was passing LL.atexit() a closure binding the new userdata with a cleanup function. The trouble with that was that a strong reference to the new userdata would prevent it ever being garbage collected, even if that was the only remaining reference. Instead, create a new weak table referencing the userdata, and bind that into the cleanup function's closure. Then if the only remaining reference to the userdata is from the weak table, the userdata can be collected. Make lua_emplace_call_gc<T>() check the bound weak table in case the userdata has in fact been collected. Also, in lua_toclass<T>(), use luaL_checkudata() to synopsize comparing the putative userdata's metatable against the one synthesized by lua_emplace<T>(). This saves several explicit steps.
2024-06-18Make lluau::source_path() report top-level script path.Nat Goodspeed
source_path() previously reported the path of the module containing the current (lowest-level) Lua function. The effect was that the Floater.lua module would always try to look up the XUI file relative to scripts/lua/require. It makes more intuitive sense to make source_path() return the path containing the top-level script, so that a script engaging the Floater.lua module looks for the XUI file relative to the script.
2024-06-17Merge pull request #1763 from secondlife/brad/tag-nightlyBrad Linden
Setting up scheduled and manually dispatched releases.
2024-06-17Merge remote-tracking branch 'origin/develop' into brad/webrtc-voice-developBrad Linden
2024-06-17Remove useless 'coro_name' infoMnikolenko Productengine
2024-06-17Remove orphaned VRAM handling codeAnsariel
2024-06-17Fix shaders broken in mergeAnsariel
2024-06-17Store script's LuaListener in userdata in lua_State's Registry.Nat Goodspeed
Instead of deriving LuaListener from LLInstanceTracker with an int key, generating a unique int key and storing that key in the Registry, use new lua_emplace<LuaState>() to store the LuaListener directly in a Lua userdata object in the Lua Registry. Because lua_emplace<T>() uses LL.atexit() to guarantee that ~LuaState will destroy the T object, we no longer need ~LuaState() to make a special call specifically to destroy the LuaListener, if any. So we no longer need LuaState::getListener() separate from obtainListener(). Since LuaListener is no longer an LLInstanceTracker subclass, make LuaState::obtainListener() return LuaListener& rather than LuaListener::ptr_t.
2024-06-17#1080 BugSplat Crash: LLAppViewer::initStrings() - show crash reasonAlexander Gavriliuk
2024-06-14Introduce LL.atexit(), internal lua_emplace<T>(), lua_toclass<T>().Nat Goodspeed
Publish new LL.atexit() function that accepts a Lua function (or C++ closure) and saves it (in Registry["atexit"] table) to call later. Make ~LuaState() walk the Registry["atexit"] table, if it exists, calling each function appended to that table. (Consider using that mechanism to clean up a LuaListener, if one was instantiated. Possibly also use for p.s. leap.run()? But that's run after every expr() call, instead of only at ~LuaState() time. Pragmatically, though, the distinction only matters for a LUA Debug Console LUA string with "clean lua_State" unchecked.) For use by future lua_function() entry points, lua_emplace<T>(ctor args...) pushes a Lua userdata object containing a newly-constructed T instance -- actually a std::optional<T> to avoid double destruction. lua_emplace<T>() is specifically intended to be usable even for T with a nontrivial destructor: it gives the userdata a metatable with a __gc function that destroys the contained T instance when the userdata is garbage collected. But since garbage collection doesn't guarantee to clean up global variables with __gc methods, lua_emplace<T>() also uses LL.atexit() to ensure that ~T() will run when the LuaState is destroyed. The companion to lua_emplace<T>() is lua_toclass<T>(), which returns a non-nullptr T* if the referenced index is in fact a userdata created by lua_emplace<T>() for the same T, that has not yet been destroyed. This lets C++ code access a T previously embedded in Lua userdata.
2024-06-14make Second Life Develop be recognized as a Beta channelBrad Linden
2024-06-141736 audit texture image unit usage on os x (#1739)Dave Parks
* #1736 Remove some unused samplers from glsl files and refactor shader manager to assume 16 texture image units and 4 indexed texture units all the time.
2024-06-14Merge pull request #1747 from megapahit/beaconBrad Linden
Fixes secondlife/viewer#999 lltracker beacon performance issue
2024-06-14Linux build fix (#1774)Andrey Lihatskiy
2024-06-14Fix for warnings/errors after Visual Studio update (#1775)Dave Parks
2024-06-14Merge branch 'release/maint-b' into marchcat/b-mergeAndrey Lihatskiy
# Conflicts: # .github/workflows/build.yaml # indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl # indra/newview/app_settings/shaders/class3/deferred/reflectionProbeF.glsl # indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl # indra/newview/llfilepicker.cpp
2024-06-14Revert "Replace LL_X11 and LL_FLTK to LL_LINUX"AiraYumi
2024-06-14Move Lua modules for 'require' to indra/newview/scripts/lua/require.Nat Goodspeed
Make viewer_manifest.py copy them into the viewer install image. Make the require() function look for them there.