From 407a2d55ed050cb6e194aefdc110d0353798fe8c Mon Sep 17 00:00:00 2001 From: Lars Mueller Date: Thu, 8 Jul 2021 20:17:20 +0200 Subject: [PATCH] Fix Lua log file reference handling if only :load() and not :init() is called --- persistence.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/persistence.lua b/persistence.lua index 0aa3b1a..e5a88c1 100644 --- a/persistence.lua +++ b/persistence.lua @@ -44,7 +44,15 @@ function lua_log_file:load() setfenv(read, env) read() env.R = env.R or {{}} - self.reference_count = #env.R + local reference_count = #env.R + for ref in pairs(env.R) do + if ref > reference_count then + -- Ensure reference count always has the value of the largest reference + -- in case of "holes" (nil values) in the reference list + reference_count = ref + end + end + self.reference_count = reference_count self.root = env.R[1] set_references(self, {}) end