Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-09-27 | DRTVWR-589: Always check regtype to avoid unref error | Nat Goodspeed | |
2023-09-27 | DRTVWR-589: Use std::placeholders::_1, etc., for std::bind() | Nat Goodspeed | |
2023-09-27 | DRTVWR-589: Fix compile errors in 354585d. | Nat Goodspeed | |
2023-09-27 | DRTVWR-589: Add Lua-callable listen_events() function. | Nat Goodspeed | |
Add LuaListener, based on LLLeap. LuaListener has an int key so the second and subsequent calls to listen_events() can find a previously-created one. LuaListener listens on its LLEventPump and arranges to call the specified Lua callback with any incoming event. It also instantiates an LLLeapListener. listen_events() locates the main thread for its state: we only want to call callbacks on the Lua chunk's main thread, not on a (possibly suspended) coroutine. It finds or creates a LuaListener and stashes it in the main thread's registry, along with the passed Lua callback function. Finally it returns the names of the LuaListener's reply pump and the LLLeapListener's command pump. Add LuaState RAII class to manage the lifespan of each lua_State we create. This encapsulates much of the boilerplate common to runScriptFile() and runScriptLine(). In addition, LuaState's destructor checks for a LuaListener key and, if found, destroys the referenced LuaListener. LuaState's constructor requires a description to clarify log messages. Move the checkLua() free function to a member of LuaState. This allows capturing an error message to pass to the C++ completion callback, if any. Use LuaState in runScriptFile() and runScriptLine(), synthesizing a suitable description in each case. Add print_debug() and print_info() logging calls, analogous to print_warning(). Add luaL_where() prefix to every such message. Add lua_pushstdstring(), like lua_tostdstring(): convenience for working with the pointer and length used by lua_pushlstring() and lua_tolstring(). Clean up return values of lua_functions. A lua_CFunction returns the number of return values it has pushed, so any 'void' lua_CFunction should pop its arguments and return 0. | |||
2023-09-26 | DRTVWR-589: Extend timeouts for timing-sensitive pump & pipe fitness. | Nat Goodspeed | |
2023-09-26 | DRTVWR-589: Fix typo due to old documentation. | Nat Goodspeed | |
The function formerly known as luaL_typerror() is now luaL_typeerror(). | |||
2023-09-26 | DRTVWR-589: Collect int table keys in vector<int>, not set<int>. | Nat Goodspeed | |
Given that we at least have a possibility of determining the length of a Lua table in advance, we might be able to populate a vector of keys with a single initial allocation. Even if Lua reports the length incorrectly, vector::push_back() is one of the bread-and-butter operations of the library, optimized to the extent possible. Inserting elements into a set seems more likely to incur allocations. Of course, we must then sort() the vector to determine its largest key value. Also document the requirement that we use a Lua runtime compiled for C++, that is, compiled to raise errors by C++ exceptions rather than by longjmp(). We rely on temporary stack objects being properly destroyed even if errors are raised. Conventionally, with lua_tomumble(L, index), 'index' refers to the stack index of the Lua object being converted to C++. For a Lua table, talk about table keys rather than table indexes to avoid confusing the maintainer. | |||
2023-09-25 | DRTVWR-589: Fix Lua table to LLSD array conversion. | Nat Goodspeed | |
The previous implementation assumed that the Lua length function would correctly report the number of entries in a table, and that traversing a table with integer keys would produce them in numeric order. Neither assumption is true. Instead, make a preliminary pass to validate and collect indexes, and to discover the highest integer index. Armed with that, we can construct a contiguous LLSD array of correct size, and populate it with a second pass. Also add Lua-callable post_on_pump(pumpname, datablob) function. | |||
2023-09-23 | DRTVWR-589: Further timing-proof pipe and pump fitness test. | Nat Goodspeed | |
2023-09-23 | DRTVWR-589: Merge remote branch 'DRTVWR-589' into DRTVWR-589 | Nat Goodspeed | |
2023-09-22 | DRTVWR-589: Introduce LuaFunction: simplified function registration. | Nat Goodspeed | |
2023-09-22 | Merge branch 'DRTVWR-589' of github.com:/secondlife/viewer-private into ↵ | Brad Payne (Vir Linden) | |
DRTVWR-589 | |||
2023-09-22 | DRTVWR-589 - more demo.lua tweaks | Brad Payne (Vir Linden) | |
2023-09-22 | DRTVWR-589: Make pump&pipe fitness tests less timing sensitive. | Nat Goodspeed | |
2023-09-22 | SL-18837: Bump the granularity of WorkQueue timing tests. | Nat Goodspeed | |
On a low-powered GitHub Mac runner, the system doesn't wake up as soon as it should, and we get spurious "too late" errors. Try a bigger time increment. (cherry picked from commit 045342ba29aae186e13c711bd4dd84377d4a7e43) | |||
2023-09-22 | DRTVWR-589: Bump the time deltas for ThreadSafeSchedule. | Nat Goodspeed | |
Use whole seconds rather than tenths of seconds, since apparently the TeamCity agent machine is having trouble waking up within tenths of seconds. | |||
2023-09-22 | Merge branch 'DRTVWR-589' of github.com:/secondlife/viewer-private into ↵ | Brad Payne (Vir Linden) | |
DRTVWR-589 | |||
2023-09-22 | DRTVWR-589 - updates to demo.lua, take avs from library | Brad Payne (Vir Linden) | |
2023-09-22 | DRTVWR-589: Existing lua_pushmumble() functions usually return void. | Nat Goodspeed | |
2023-09-22 | DRTVWR-589: lua_objlen() removed, use lua_rawlen() instead | Nat Goodspeed | |
2023-09-21 | DRTVWR-589: lua_objlen() only defined in luaconf.h | Nat Goodspeed | |
2023-09-21 | DRTVWR-589: Merge branch 'DRTVWR-589-llsd' into DRTVWR-589 | Nat Goodspeed | |
It seems TC only builds specific v-p branches, e.g. DRTVWR-589 but not DRTVWR-589-llsd. | |||
2023-09-21 | DRTVWR-589: Add lua_tollsd() and lua_pushllsd() functions. | Nat Goodspeed | |
2023-09-21 | DRTVWR-589 - allow adding branch to the menu | Mnikolenko Productengine | |
2023-09-21 | DRTVWR-589 - adding menu items to the top menu | Mnikolenko Productengine | |
2023-09-20 | DRTVWR-589 - added play animation and started to collect demo scripts | Brad Payne (Vir Linden) | |
2023-09-19 | Merge branch 'DRTVWR-589' of github.com:/secondlife/viewer-private into ↵ | Brad Payne (Vir Linden) | |
DRTVWR-589 | |||
2023-09-19 | DRTVWR-589 - click_child, limited support for pushing buttons in a floater | Brad Payne (Vir Linden) | |
2023-09-19 | lua support for notifications | Mnikolenko Productengine | |
2023-09-18 | DRTVWR-589 - close_floater by name | Brad Payne (Vir Linden) | |
2023-09-15 | DRTVWR-589 - lua file browser added run button to allow re-running same script | Brad Payne (Vir Linden) | |
2023-09-14 | DRTVWR-589 - lua support parameter to UI commands | Brad Payne (Vir Linden) | |
2023-09-14 | Merge branch 'DRTVWR-589' of github.com:/secondlife/viewer-private into ↵ | Brad Payne (Vir Linden) | |
DRTVWR-589 | |||
2023-09-14 | DRTVWR-589 - LUA support for UI commands, only if no parameters | Brad Payne (Vir Linden) | |
2023-09-13 | autorun selected script after login | Mnikolenko Productengine | |
2023-09-08 | allow to take snapshot; bind more funcs to call from lua | Mnikolenko Productengine | |
2023-09-06 | addcallback to display error msg | Mnikolenko Productengine | |
2023-09-05 | Initial prototype of embedded LUA | Mnikolenko Productengine | |
2023-08-23 | Increment viewer version to 6.6.15 | Vir Linden | |
following promotion of DRTVWR-582 | |||
2023-07-20 | SL-19948 Update estate manager and ban list limits to match new values from ↵ | Andrey Lihatskiy | |
simulator | |||
2023-07-18 | Fixes for compatibility with new xcode 15 beta for any viewer branch after ↵ | Brad Linden | |
DRTVWR-577 (#232) | |||
2023-07-18 | SL-19891 Make sure focusable elements clear focus on destruction | Andrey Kleshchev | |
2023-07-17 | Merge pull request #285 from secondlife/marchcat/SL-19669 | marchcat-pe | |
INTL-490 Japanese Translation Update | |||
2023-07-17 | Merge branch 'DRTVWR-580-maint-T' into DRTVWR-582-maint-U | Andrey Lihatskiy | |
2023-07-17 | Merge branch 'main' into DRTVWR-582-maint-U | Andrey Lihatskiy | |
# Conflicts: # doc/contributions.txt # indra/llcommon/llerrorthread.cpp | |||
2023-07-17 | Increment viewer version to 6.6.14 | Nat Goodspeed | |
following promotion of DRTVWR-580 | |||
2023-07-12 | SL-19702 don't skip double clicks when clicking scripted objects | Mnikolenko Productengine | |
2023-07-11 | SL-19728 Objects that cannot be clicked or cammed unless in edit mode | Alexander Gavriliuk | |
2023-07-07 | SL-19702 restore previous double clicking behavior for objects | Maxim Nikolenko | |
2023-07-07 | SL-19966 Reverted "SL-18721: Faster viewer shutdown time since performance ↵ | Andrey Lihatskiy | |
improvements can lead to perceived inventory loss due to cache corruption" This reverts commit cf692c40b0b9f8d0d04cd10a02a84e3f697a2e99. |