From aebbcbf398a9dde6b2cbc8ab05c103f44f6f703d Mon Sep 17 00:00:00 2001
From: Zefram <zefram@fysh.org>
Date: Wed, 16 Jul 2014 17:24:39 +0200
Subject: Fix indexing error in timer processing

---
 builtin/game/misc.lua | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

(limited to 'builtin')

diff --git a/builtin/game/misc.lua b/builtin/game/misc.lua
index 4afcdb99e..a392386f1 100644
--- a/builtin/game/misc.lua
+++ b/builtin/game/misc.lua
@@ -11,11 +11,15 @@ core.register_globalstep(function(dtime)
 		table.insert(core.timers, timer)
 	end
 	core.timers_to_add = {}
-	for index, timer in ipairs(core.timers) do
+	local index = 1
+	while index <= #core.timers do
+		local timer = core.timers[index]
 		timer.time = timer.time - dtime
 		if timer.time <= 0 then
 			timer.func(unpack(timer.args or {}))
 			table.remove(core.timers,index)
+		else
+			index = index + 1
 		end
 	end
 end)
-- 
cgit v1.2.3