Age | Commit message (Collapse) | Author | |
---|---|---|---|
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: 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-22 | DRTVWR-589: Introduce LuaFunction: simplified function registration. | Nat Goodspeed | |
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-05 | Reverted changes to installer_template.msi introduced by PR #259 | Andrey Kleshchev | |
Changes do not appear to add anything sans mac's line ending which triggers coding policy protection and shouldn't be present in window's installer file. | |||
2023-06-28 | DRTVWR-582: Merge branch DRTVWR-582-maint-U into contribute-frozen | Nat Goodspeed | |
to resolve conflicts in installer_template.nsi | |||
2023-06-28 | SL-19572 Fix some obscure cases of residents bypasing mute list | Andrey Kleshchev | |
2023-06-27 | SL-19924 Update profile type names | Andrey Kleshchev | |
2023-06-24 | SL-19805 Fix touch handling logic | Alexander Gavriliuk | |
2023-06-23 | SL-19805 Follow-up fix | Andrey Lihatskiy | |
2023-06-23 | SL-19805 Second Life Viewer last update made invisible parts visible | Alexander Gavriliuk | |
2023-06-21 | SL-19692 Z Offset is applied twice in Mouselook | Alexander Gavriliuk | |
2023-06-20 | SL-19860 Fixed messages from muted objects being shown upon login | Andrey Kleshchev | |
2023-06-15 | SL-19404 Navigation bar coordinates slightly off | Alexander Gavriliuk | |
2023-06-09 | SL-19844 People floater - Remove the 'Remove friend' menu item | Alexander Gavriliuk | |
2023-06-07 | SL-19286 Avatar is upside down when viewed from below | Alexander Gavriliuk | |
2023-06-07 | SL-18328 Fix opening the right profile on click Callingcard embedded to a ↵ | Alexander Gavriliuk | |
Notecard |