summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/environment.cpp7
-rw-r--r--src/server.cpp2
2 files changed, 5 insertions, 4 deletions
diff --git a/src/environment.cpp b/src/environment.cpp
index 8103b7110..07c535b70 100644
--- a/src/environment.cpp
+++ b/src/environment.cpp
@@ -1345,8 +1345,6 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
i.atEnd()==false; i++)
{
ServerActiveObject* obj = i.getNode()->getValue();
- u16 id = i.getNode()->getKey();
- v3f objectpos = obj->getBasePosition();
// This shouldn't happen but check it
if(obj == NULL)
@@ -1357,9 +1355,12 @@ void ServerEnvironment::deactivateFarObjects(bool force_delete)
continue;
}
+ u16 id = i.getNode()->getKey();
+ v3f objectpos = obj->getBasePosition();
+
// The block in which the object resides in
v3s16 blockpos_o = getNodeBlockPos(floatToInt(objectpos, BS));
-
+
// If block is active, don't remove
if(m_active_blocks.contains(blockpos_o))
continue;
diff --git a/src/server.cpp b/src/server.cpp
index a04417074..ba0efe75f 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -4109,7 +4109,7 @@ void Server::UpdateCrafting(u16 peer_id)
InventoryList *clist = player->inventory.getList("craft");
InventoryList *rlist = player->inventory.getList("craftresult");
- if(rlist->getUsedSlots() == 0)
+ if(rlist && rlist->getUsedSlots() == 0)
player->craftresult_is_preview = true;
if(rlist && player->craftresult_is_preview)