mirror of
https://github.com/luanti-org/luanti.git
synced 2026-01-13 20:55:30 +01:00
Fix memory leak in rollback (and more) (#16644)
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
#include "rollback_interface.h"
|
||||
#include <list>
|
||||
#include <vector>
|
||||
#include <deque>
|
||||
#include "sqlite3.h"
|
||||
|
||||
class IGameDef;
|
||||
@@ -16,7 +17,7 @@ class IGameDef;
|
||||
struct ActionRow;
|
||||
struct Entity;
|
||||
|
||||
class RollbackManager: public IRollbackManager
|
||||
class RollbackManager final : public IRollbackManager
|
||||
{
|
||||
public:
|
||||
RollbackManager(const std::string & world_path, IGameDef * gamedef);
|
||||
@@ -67,20 +68,20 @@ private:
|
||||
std::string current_actor;
|
||||
bool current_actor_is_guess = false;
|
||||
|
||||
std::list<RollbackAction> action_todisk_buffer;
|
||||
std::list<RollbackAction> action_latest_buffer;
|
||||
std::vector<RollbackAction> action_todisk_buffer;
|
||||
std::deque<RollbackAction> action_latest_buffer;
|
||||
|
||||
std::string database_path;
|
||||
sqlite3 * db;
|
||||
sqlite3_stmt * stmt_insert;
|
||||
sqlite3_stmt * stmt_replace;
|
||||
sqlite3_stmt * stmt_select;
|
||||
sqlite3_stmt * stmt_select_range;
|
||||
sqlite3_stmt * stmt_select_withActor;
|
||||
sqlite3_stmt * stmt_knownActor_select;
|
||||
sqlite3_stmt * stmt_knownActor_insert;
|
||||
sqlite3_stmt * stmt_knownNode_select;
|
||||
sqlite3_stmt * stmt_knownNode_insert;
|
||||
sqlite3 *db = nullptr;
|
||||
sqlite3_stmt *stmt_insert = nullptr;
|
||||
sqlite3_stmt *stmt_replace = nullptr;
|
||||
sqlite3_stmt *stmt_select = nullptr;
|
||||
sqlite3_stmt *stmt_select_range = nullptr;
|
||||
sqlite3_stmt *stmt_select_withActor = nullptr;
|
||||
sqlite3_stmt *stmt_knownActor_select = nullptr;
|
||||
sqlite3_stmt *stmt_knownActor_insert = nullptr;
|
||||
sqlite3_stmt *stmt_knownNode_select = nullptr;
|
||||
sqlite3_stmt *stmt_knownNode_insert = nullptr;
|
||||
|
||||
std::vector<Entity> knownActors;
|
||||
std::vector<Entity> knownNodes;
|
||||
|
||||
Reference in New Issue
Block a user