Skip to content

Commit

Permalink
Fix unnecessary exception use in Map::isNodeUnderground
Browse files Browse the repository at this point in the history
The isNodeUnderground calls getBlockNoCreate which calls
getBlockNoCreateNoEx and throws InvalidPositionException
if the returned value is nullptr, which isNodeUnderground
then catches to return "false". Remove the try..catch in
isNodeUnderground by calling getBlockNoCreateNoEx instead
of getBlockNoCreate and checking the returned value for
nullptr.
  • Loading branch information
osjc authored and sfan5 committed Aug 13, 2019
1 parent 833e60d commit e9ceead
Showing 1 changed file with 2 additions and 8 deletions.
10 changes: 2 additions & 8 deletions src/map.cpp
Expand Up @@ -152,14 +152,8 @@ MapBlock * Map::getBlockNoCreate(v3s16 p3d)
bool Map::isNodeUnderground(v3s16 p)
{
v3s16 blockpos = getNodeBlockPos(p);
try{
MapBlock * block = getBlockNoCreate(blockpos);
return block->getIsUnderground();
}
catch(InvalidPositionException &e)
{
return false;
}
MapBlock *block = getBlockNoCreateNoEx(blockpos);
return block && block->getIsUnderground();
}

bool Map::isValidPosition(v3s16 p)
Expand Down

0 comments on commit e9ceead

Please sign in to comment.