Skip to content

Commit 710df32

Browse files
committed
fix(LuaSerializeData): Empty tables
1 parent 0e6bd73 commit 710df32

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

src/plugins/lua/LuaPlugin.cpp

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -267,6 +267,8 @@ EventResult LuaPlugin::TriggerEvent(std::string invokedBy, std::string eventName
267267
return (EventResult)res;
268268
}
269269

270+
std::vector<luabridge::LuaRef> emptyTable;
271+
270272
luabridge::LuaRef LuaSerializeData(std::any data, lua_State* state)
271273
{
272274
std::any value = data;
@@ -285,7 +287,7 @@ luabridge::LuaRef LuaSerializeData(std::any data, lua_State* state)
285287

286288
luabridge::LuaRef rapidJsonTable = luabridge::getGlobal(state, "json");
287289
if (!rapidJsonTable["decode"].isFunction())
288-
return luabridge::newTable(state);
290+
return luabridge::LuaRef(state, emptyTable);
289291

290292
luabridge::LuaRef decodedResult(state);
291293
try
@@ -295,11 +297,11 @@ luabridge::LuaRef LuaSerializeData(std::any data, lua_State* state)
295297
catch (luabridge::LuaException& e)
296298
{
297299
PLUGIN_PRINTF("LuaSerializeData", "An error has occured: %s\n", e.what());
298-
return luabridge::newTable(state);
300+
return luabridge::LuaRef(state, emptyTable);
299301
}
300302

301303
if (decodedResult.isNil())
302-
return luabridge::newTable(state);
304+
return luabridge::LuaRef(state, emptyTable);
303305

304306
return decodedResult;
305307
}
@@ -353,18 +355,18 @@ luabridge::LuaRef LuaSerializeData(std::any data, lua_State* state)
353355
{
354356
luabridge::LuaRef loadReturnValue = load(tbl);
355357
if (!loadReturnValue.isFunction())
356-
return luabridge::newTable(state);
358+
return luabridge::LuaRef(state, emptyTable);
357359

358360
luabridge::LuaRef loadFuncRetVal = loadReturnValue();
359361
if (!loadFuncRetVal.isTable())
360-
return luabridge::newTable(state);
362+
return luabridge::LuaRef(state, emptyTable);
361363

362364
return loadFuncRetVal;
363365
}
364366
catch (luabridge::LuaException& e)
365367
{
366368
PRINTF("Lua Exception: %s\n", e.what());
367-
return luabridge::newTable(state);
369+
return luabridge::LuaRef(state, emptyTable);
368370
}
369371
}
370372
else

0 commit comments

Comments
 (0)