mirror of https://github.com/mgba-emu/mgba.git
Scripting: Fix unsetting globals in Lua
This commit is contained in:
parent
8326ecddce
commit
cdfa6ac54b
|
@ -142,7 +142,9 @@ struct mScriptValue* _luaGetGlobal(struct mScriptEngineContext* ctx, const char*
|
|||
|
||||
bool _luaSetGlobal(struct mScriptEngineContext* ctx, const char* name, struct mScriptValue* value) {
|
||||
struct mScriptEngineContextLua* luaContext = (struct mScriptEngineContextLua*) ctx;
|
||||
if (!_luaWrap(luaContext, value)) {
|
||||
if (!value) {
|
||||
lua_pushnil(luaContext->lua);
|
||||
} else if (!_luaWrap(luaContext, value)) {
|
||||
return false;
|
||||
}
|
||||
lua_setglobal(luaContext->lua, name);
|
||||
|
|
|
@ -243,6 +243,10 @@ M_TEST_DEFINE(setGlobal) {
|
|||
assert_true(a.type->equal(&a, val));
|
||||
mScriptValueDeref(val);
|
||||
|
||||
assert_true(lua->setGlobal(lua, "b", NULL));
|
||||
val = lua->getGlobal(lua, "b");
|
||||
assert_null(val);
|
||||
|
||||
mScriptContextDeinit(&context);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue