mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-04 18:41:51 +00:00
fix lua::create_lambda and lua::create_lambda_nothrow
This commit is contained in:
parent
390d54c212
commit
b9707e11ca
2 changed files with 7 additions and 2 deletions
|
|
@ -268,9 +268,9 @@ KeyCallback lua::create_simple_handler(State* L) {
|
|||
scripting::common_func lua::create_lambda(State* L) {
|
||||
auto funcptr = create_lambda_handler(L);
|
||||
return [=](const std::vector<dv::value>& args) -> dv::value {
|
||||
int top = gettop(L) + 1;
|
||||
if (!get_from(L, LAMBDAS_TABLE, *funcptr, false))
|
||||
return nullptr;
|
||||
int top = gettop(L) + 1;
|
||||
for (const auto& arg : args) {
|
||||
pushvalue(L, arg);
|
||||
}
|
||||
|
|
@ -290,9 +290,9 @@ scripting::common_func lua::create_lambda(State* L) {
|
|||
scripting::common_func lua::create_lambda_nothrow(State* L) {
|
||||
auto funcptr = create_lambda_handler(L);
|
||||
return [=](const std::vector<dv::value>& args) -> dv::value {
|
||||
int top = gettop(L) - 1;
|
||||
if (!get_from(L, LAMBDAS_TABLE, *funcptr, false))
|
||||
return nullptr;
|
||||
int top = gettop(L) - 1;
|
||||
for (const auto& arg : args) {
|
||||
pushvalue(L, arg);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,11 @@ namespace lua {
|
|||
}
|
||||
|
||||
inline void pop(lua::State* L, int n = 1) {
|
||||
#ifndef NDEBUG
|
||||
if (lua_gettop(L) < n) {
|
||||
abort();
|
||||
}
|
||||
#endif
|
||||
lua_pop(L, n);
|
||||
}
|
||||
inline void insert(lua::State* L, int idx) {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue