forked from Mirrorlandia_minetest/minetest
If there was no source item in a furnace it would cause a segmentation fault.
This commit is contained in:
parent
4af1f2963c
commit
6415528f96
@ -293,7 +293,7 @@ bool FurnaceNodeMetadata::step(float dtime)
|
|||||||
If there is no source item or source item is not cookable,
|
If there is no source item or source item is not cookable,
|
||||||
or furnace became overloaded, stop loop.
|
or furnace became overloaded, stop loop.
|
||||||
*/
|
*/
|
||||||
if((m_fuel_time < m_fuel_totaltime || dst_list->roomForCookedItem(src_item) == false)
|
if((m_fuel_time < m_fuel_totaltime || (src_item && dst_list->roomForCookedItem(src_item) == false))
|
||||||
&& (src_item == NULL || m_src_totaltime < 0.001))
|
&& (src_item == NULL || m_src_totaltime < 0.001))
|
||||||
{
|
{
|
||||||
m_step_accumulator = 0;
|
m_step_accumulator = 0;
|
||||||
|
@ -581,6 +581,8 @@ bool InventoryList::roomForItem(const InventoryItem *item)
|
|||||||
|
|
||||||
bool InventoryList::roomForCookedItem(const InventoryItem *item)
|
bool InventoryList::roomForCookedItem(const InventoryItem *item)
|
||||||
{
|
{
|
||||||
|
if(!item)
|
||||||
|
return false;
|
||||||
const InventoryItem *cook = item->createCookResult();
|
const InventoryItem *cook = item->createCookResult();
|
||||||
if(!cook)
|
if(!cook)
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user