diff --git a/src/scriptengine.cpp b/src/scriptengine.cpp index 5963e33..ac453fd 100644 --- a/src/scriptengine.cpp +++ b/src/scriptengine.cpp @@ -29,7 +29,7 @@ sol::table require(sol::state &lua, const std::string &module) { class lua_loopable : public framework::loopable { public: - lua_loopable(const sol::state &lua, sol::function function) + lua_loopable(const sol::state &lua, sol::protected_function function) : _gc(lua["collectgarbage"]), _function(std::move(function)) {} virtual ~lua_loopable() = default; @@ -49,7 +49,7 @@ class lua_loopable : public framework::loopable { private: sol::function _gc; - sol::function _function; + sol::protected_function _function; }; auto _to_lua(const nlohmann::json &value, sol::state_view lua) -> sol::object {