From 2d872ce3fab0887f97adb4d57fc043e08f44d276 Mon Sep 17 00:00:00 2001
From: JacobF <queatz@gmail.com>
Date: Fri, 2 Sep 2011 17:33:06 -0400
Subject: [PATCH] Furnace was crashing stuff again

---
 src/content_nodemeta.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/content_nodemeta.cpp b/src/content_nodemeta.cpp
index 701812219..1552c8e15 100644
--- a/src/content_nodemeta.cpp
+++ b/src/content_nodemeta.cpp
@@ -245,7 +245,7 @@ bool FurnaceNodeMetadata::step(float dtime)
 
 		InventoryList *src_list = m_inventory->getList("src");
 		assert(src_list);
-		const InventoryItem *src_item = src_list->getItem(0);
+		InventoryItem *src_item = src_list->getItem(0);
 		
 		bool room_available = false;
 		
@@ -289,6 +289,11 @@ bool FurnaceNodeMetadata::step(float dtime)
 				continue;
 		}
 		
+		/*
+			Get the source again in case it has all burned
+		*/
+		src_item = src_list->getItem(0);
+		
 		/*
 			If there is no source item, or the source item is not cookable,
 			or the furnace is still cooking, or the furnace became overloaded, stop loop.
-- 
GitLab