From 17c686628c7315c6ce1d2bf87b11a41eaabfc7a8 Mon Sep 17 00:00:00 2001 From: poire-z Date: Fri, 29 May 2020 14:30:39 +0200 Subject: [PATCH] History: fix possible issues when saving and loading Internal self.hist being an array, iterating it with 'pairs' could have some strange effects. Best to use 'ipairs'. --- frontend/readhistory.lua | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/frontend/readhistory.lua b/frontend/readhistory.lua index 16ae600be..41c4c288b 100644 --- a/frontend/readhistory.lua +++ b/frontend/readhistory.lua @@ -84,11 +84,11 @@ end function ReadHistory:_flush() assert(self ~= nil) local content = {} - for k, v in pairs(self.hist) do - content[k] = { + for _, v in ipairs(self.hist) do + table.insert(content, { time = v.time, file = v.file - } + }) end local f = io.open(history_file, "w") f:write("return " .. dump(content) .. "\n") @@ -108,7 +108,8 @@ function ReadHistory:_read() self.last_read_time = history_file_modification_time local ok, data = pcall(dofile, history_file) if ok and data then - for k, v in pairs(data) do + self.hist = {} + for _, v in ipairs(data) do table.insert(self.hist, buildEntry(v.time, v.file)) end end