summaryrefslogtreecommitdiffstats
path: root/src/World.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/World.cpp')
-rw-r--r--src/World.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/World.cpp b/src/World.cpp
index 43cb4bf3e..251c8ce51 100644
--- a/src/World.cpp
+++ b/src/World.cpp
@@ -1206,11 +1206,8 @@ void cWorld::TickQueuedTasks(void)
// Partition everything to be executed by returning false to move to end of list if time reached
auto MoveBeginIterator = std::partition(m_Tasks.begin(), m_Tasks.end(), [this](const decltype(m_Tasks)::value_type & a_Task)
{
- if (a_Task.first < std::chrono::duration_cast<cTickTimeLong>(m_WorldAge).count())
- {
- return false;
- }
- return true;
+ const auto WorldAgeTicks = std::chrono::duration_cast<cTickTimeLong>(m_WorldAge).count();
+ return (a_Task.first >= WorldAgeTicks);
}
);
@@ -3061,7 +3058,7 @@ void cWorld::QueueSaveAllChunks(void)
void cWorld::QueueTask(std::function<void(cWorld &)> a_Task)
{
cCSLock Lock(m_CSTasks);
- m_Tasks.emplace_back(0, a_Task);
+ m_Tasks.emplace_back(0, std::move(a_Task));
}
@@ -3075,7 +3072,7 @@ void cWorld::ScheduleTask(int a_DelayTicks, std::function<void (cWorld &)> a_Tas
// Insert the task into the list of scheduled tasks
{
cCSLock Lock(m_CSTasks);
- m_Tasks.emplace_back(TargetTick, a_Task);
+ m_Tasks.emplace_back(TargetTick, std::move(a_Task));
}
}