From: sfan5 Date: Mon, 18 May 2020 21:23:25 +0000 (+0200) Subject: Add missing sao->isGone() checks X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0fc51db7722f9aa1e0aa2dacade6041c932b0731;p=oweals%2Fminetest.git Add missing sao->isGone() checks fixes #9883 --- 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;