summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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.
2024-06-14Fix a minor but nagging Python build-time warning: invalid regexp.Nat Goodspeed
2024-06-14Add nearby chat listenerMnikolenko Productengine
2024-06-13Skip the actual tag update step gracefully until we have proper tokens set upBrad Linden
2024-06-13Add new viewer_channel detection for develop branchBrad Linden
2024-06-13Initial work setting up scheduled releases for develop branch.Brad Linden
2024-06-13Merge branch 'develop' of github.com:secondlife/viewer into roxie/webrtc-voiceRoxie Linden
2024-06-13Merge pull request #1743 from secondlife/v-1475cosmic-linden
secondlife/viewer#1475: Fix Terrain tab controls no longer disabled when insufficient permissions
2024-06-13secondlife/viewer#907: Remove unused settingCosmic Linden
2024-06-13secondlife/viewer#907: Review feedbackCosmic Linden
2024-06-13secondlife/viewer#1744: Fix missing LSL constant INVENTORY_SETTING in ↵Cosmic Linden
keywords_lsl_default.xml
2024-06-13secondlife/viewer#1475: Fix Terrain tab controls no longer disabled when ↵Cosmic Linden
insufficient permissions
2024-06-13lltracker::drawbeacon() rewritted for better performancemobserveur
this is a better implementation of the drawBeacon() function compared to the previous patch
2024-06-13fixed tracker beacon performance issue on apple silicon macsmobserveur
tracking beacon was causing extreme lag on apple silicon macs
2024-06-12Merge pull request #1746 from Ansariel/developBrad Linden
Fix a few merge issues
2024-06-13Fix a few merge issuesAnsariel
2024-06-12Merge pull request #1745 from secondlife/project/gltf_developmentBrad Linden
move project/gltf development to develop
2024-06-12Add whitespace change to .git-blame-ignore-revs for pr #1723Brad Linden
2024-06-12Merge pull request #1723 from secondlife/brad/maint-a-merge-to-gltf-devBrad Linden
maint a merge to gltf dev
2024-06-12Avoid messing up Lua's global namespace in 'require' modules.Nat Goodspeed
2024-06-12Add LL_DEBUGS("LLCoros") start/end messages.Nat Goodspeed
We have log messages when a coroutine terminates abnormally, but we don't report either when it starts or when it terminates normally. Address that.
2024-06-12Provide LUA Debug Console feedback for user typing LUA string.Nat Goodspeed
When the user explicitly types 'return expression[, expression]...' we convert the result of the expressions to LLSD and format them into the LUA Debug Console, which serves as a useful acknowledgment. But until now, if the user neither invoked print() nor ran a 'return' statement, the LUA Debug Console output remained empty. This could be a little disconcerting: you click Execute, or press Enter, and apparently nothing happens. You must either monitor viewer log output, or simply trust that the Lua snippet ran. When there are no 'return' results, at least emit 'ok'. But when the user is entering a series of no-output commands, vary the 'ok' output by appending a counter: 'ok 1', 'ok 2' etc.
2024-06-12Defend LLFloaterLUADebug against recursive calls to handlers.Nat Goodspeed
The special case of a Lua snippet that indirectly invokes the "LLNotifications" listener can result in a recursive call to LLFloaterLUADebug's handler methods. Defend against that case.
2024-06-12LuaState::expr() has log messages for ending, add for starting.Nat Goodspeed
It's helpful to see when expr() is actually going to start running a particular Lua chunk. We already report not only when it's done, but also if/when we start and finish a p.s. fiber.run() call.
2024-06-12Fix whitespace pre-commit hook failuresBrad Linden
2024-06-12For a single string concatenation, use operator+().Nat Goodspeed
stringize() constructs, populates and destroys a std::ostringstream, which is actually less efficient than directly allocating a std::string big enough for the result of operator+(). Maybe someday we'll specialize stringize(p0, p1) for the case in which they're both string-like, and invoke operator+() for that situation...
2024-06-12Make popup() directly pass payload.Nat Goodspeed
The expression (payload or {}) is unnecessary, since that value will be converted to LLSD -- and both Lua nil and empty table convert to LLSD::isUndefined().
2024-06-12Extract TempSet from llcallbacklist.cpp into its own tempset.h.Nat Goodspeed
2024-06-12Fixup more signed/unsigned warnings after merge.Brad Linden
2024-06-12Merge remote-tracking branch 'origin/project/gltf_development' into ↵Brad Linden
brad/maint-a-merge-to-gltf-dev # Conflicts: # indra/newview/gltf/primitive.cpp
2024-06-12Merge pull request #1724 from secondlife/v-1475cosmic-linden
secondlife/viewer#1475: PBR Terrain texture transform UI: Second pass
2024-06-12viewer#1672 Crash at setDefaultFOVAndrey Kleshchev
Some things can make a copy of camera, like LLViewerWindow::cubeSnapshot so need to store and clean up the connection
2024-06-12viewer#1731 Crash at LLPipeline::markVisibleAndrey Kleshchev
mDrawable pointer had junk in it
2024-06-12viewer#1730 Crash in LLFetchedGLTFMaterial::bindAndrey Kleshchev
2024-06-12viewer#1728 Crash in LLViewerRegion::probeCacheAndrey Kleshchev
2024-06-12viewer#1698 Uniform being out of range shouldn't crash viewerAndrey Kleshchev
2024-06-12viewer#1692 Crash at LLVOVolume::getReflectionProbeIsBox()Andrey Kleshchev
2024-06-12viewer#1733 UI overlap in advanced settingsAndrey Kleshchev
2024-06-12Replace LL_X11 and LL_FLTK to LL_LINUXAiraYumi
2024-06-12Merge 'release/luau-scripting' of secondlife/viewer into lua-loginNat Goodspeed
2024-06-11Merge pull request #1726 from secondlife/roxie/webrtc-voiceRoxanne Skelly
Merge from main.
2024-06-11Add popup.lua, a preliminary API for viewer notifications.Nat Goodspeed
WIP: This is known not to work yet.