From: JacobF Date: Fri, 2 Sep 2011 21:33:06 +0000 (-0400) Subject: Furnace was crashing stuff again X-Git-Tag: 0.2.20110922~20 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=2d872ce3fab0887f97adb4d57fc043e08f44d276;p=oweals%2Fminetest.git Furnace was crashing stuff again --- 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.