From 0fc51db7722f9aa1e0aa2dacade6041c932b0731 Mon Sep 17 00:00:00 2001 From: sfan5 Date: Mon, 18 May 2020 23:23:25 +0200 Subject: [PATCH] Add missing sao->isGone() checks fixes #9883 --- src/collision.cpp | 3 ++- src/serverenvironment.cpp | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) 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;