aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/collision.cpp3
-rw-r--r--src/serverenvironment.cpp2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/collision.cpp b/src/collision.cpp
index 06ef820c5..d85a56884 100644
--- a/src/collision.cpp
+++ b/src/collision.cpp
@@ -397,7 +397,8 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef,
// we directly use the callback to populate the result to prevent
// a useless result loop here
auto include_obj_cb = [self, &objects] (ServerActiveObject *obj) {
- if (!self || (self != obj && self != obj->getParent())) {
+ if (!obj->isGone() &&
+ (!self || (self != obj && self != obj->getParent()))) {
objects.push_back((ActiveObject *)obj);
}
return false;
diff --git a/src/serverenvironment.cpp b/src/serverenvironment.cpp
index 6bf7399cf..d485c32e8 100644
--- a/src/serverenvironment.cpp
+++ b/src/serverenvironment.cpp
@@ -1623,6 +1623,8 @@ void ServerEnvironment::getSelectedActiveObjects(
const v3f line_vector = shootline_on_map.getVector();
for (auto obj : objs) {
+ if (obj->isGone())
+ continue;
aabb3f selection_box;
if (!obj->getSelectionBox(&selection_box))
continue;