diff options
Diffstat (limited to 'src/World.cpp')
-rw-r--r-- | src/World.cpp | 11 |
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)); } } |