diff options
author | Loic Blot <loic.blot@unix-experience.fr> | 2015-02-17 20:09:36 +0100 |
---|---|---|
committer | Loic Blot <loic.blot@unix-experience.fr> | 2015-02-18 09:36:42 +0100 |
commit | 4208fdfd2273b715eeddb8b9877c2def8346d447 (patch) | |
tree | f06bb591b996c1facb14d18a1b4cc88793a1b70d /src/script/lua_api | |
parent | 4875213168ed877ab708e81d539923109977a5c8 (diff) | |
download | minetest-4208fdfd2273b715eeddb8b9877c2def8346d447.tar.gz minetest-4208fdfd2273b715eeddb8b9877c2def8346d447.tar.bz2 minetest-4208fdfd2273b715eeddb8b9877c2def8346d447.zip |
Fix unused (and so, broken) enable_rollback_recording. This option must be reloaded at server loop but loaded when server starts, for data consistency (not a hot load variable)
Diffstat (limited to 'src/script/lua_api')
-rw-r--r-- | src/script/lua_api/l_rollback.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/script/lua_api/l_rollback.cpp b/src/script/lua_api/l_rollback.cpp index f55a72d1b..5744e6813 100644 --- a/src/script/lua_api/l_rollback.cpp +++ b/src/script/lua_api/l_rollback.cpp @@ -44,6 +44,9 @@ int ModApiRollback::l_rollback_get_node_actions(lua_State *L) int limit = luaL_checknumber(L, 4); Server *server = getServer(L); IRollbackManager *rollback = server->getRollbackManager(); + if (rollback == NULL) { + return 0; + } std::list<RollbackAction> actions = rollback->getNodeActors(pos, range, seconds, limit); std::list<RollbackAction>::iterator iter = actions.begin(); @@ -80,6 +83,13 @@ int ModApiRollback::l_rollback_revert_actions_by(lua_State *L) int seconds = luaL_checknumber(L, 2); Server *server = getServer(L); IRollbackManager *rollback = server->getRollbackManager(); + + // If rollback is disabled, tell it's not a success. + if (rollback == NULL) { + lua_pushboolean(L, false); + lua_newtable(L); + return 2; + } std::list<RollbackAction> actions = rollback->getRevertActions(actor, seconds); std::list<std::string> log; bool success = server->rollbackRevertActions(actions, &log); |