aboutsummaryrefslogtreecommitdiff
path: root/src/map.cpp
diff options
context:
space:
mode:
authorSmallJoker <SmallJoker@users.noreply.github.com>2022-07-09 22:32:08 +0200
committerGitHub <noreply@github.com>2022-07-09 22:32:08 +0200
commit051181fa6ee00d8379e8a7dc7442b58342d4352b (patch)
tree58ad84f05310024b311c533684defdbeb5ee3e84 /src/map.cpp
parent7c261118e06c630ea9ad00f20d7005b8edc108dd (diff)
downloadhax-minetest-server-051181fa6ee00d8379e8a7dc7442b58342d4352b.tar.gz
hax-minetest-server-051181fa6ee00d8379e8a7dc7442b58342d4352b.zip
Enforce limits of settings that could cause buggy behaviour (#12450)
Enforces the setting value bounds that are currently only limited by the GUI (settingtypes.txt).
Diffstat (limited to 'src/map.cpp')
-rw-r--r--src/map.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/map.cpp b/src/map.cpp
index 213844d57..a53680065 100644
--- a/src/map.cpp
+++ b/src/map.cpp
@@ -323,7 +323,7 @@ struct TimeOrderedMapBlock {
/*
Updates usage timers
*/
-void Map::timerUpdate(float dtime, float unload_timeout, u32 max_loaded_blocks,
+void Map::timerUpdate(float dtime, float unload_timeout, s32 max_loaded_blocks,
std::vector<v3s16> *unloaded_blocks)
{
bool save_before_unloading = maySaveBlocks();
@@ -340,7 +340,7 @@ void Map::timerUpdate(float dtime, float unload_timeout, u32 max_loaded_blocks,
beginSave();
// If there is no practical limit, we spare creation of mapblock_queue
- if (max_loaded_blocks == U32_MAX) {
+ if (max_loaded_blocks < 0) {
for (auto &sector_it : m_sectors) {
MapSector *sector = sector_it.second;
@@ -399,7 +399,7 @@ void Map::timerUpdate(float dtime, float unload_timeout, u32 max_loaded_blocks,
block_count_all = mapblock_queue.size();
// Delete old blocks, and blocks over the limit from the memory
- while (!mapblock_queue.empty() && (mapblock_queue.size() > max_loaded_blocks
+ while (!mapblock_queue.empty() && ((s32)mapblock_queue.size() > max_loaded_blocks
|| mapblock_queue.top().block->getUsageTimer() > unload_timeout)) {
TimeOrderedMapBlock b = mapblock_queue.top();
mapblock_queue.pop();