diff --git a/src/linkgraph/linkgraphschedule.cpp b/src/linkgraph/linkgraphschedule.cpp index d03300ad98..72f28a3270 100644 --- a/src/linkgraph/linkgraphschedule.cpp +++ b/src/linkgraph/linkgraphschedule.cpp @@ -143,12 +143,12 @@ void LinkGraphSchedule::ShiftDates(TimerGameEconomy::Date interval) */ LinkGraphSchedule::LinkGraphSchedule() { - this->handlers[0] = new InitHandler; - this->handlers[1] = new DemandHandler; - this->handlers[2] = new MCFHandler; - this->handlers[3] = new FlowMapper(false); - this->handlers[4] = new MCFHandler; - this->handlers[5] = new FlowMapper(true); + this->handlers[0] = std::make_unique(); + this->handlers[1] = std::make_unique(); + this->handlers[2] = std::make_unique>(); + this->handlers[3] = std::make_unique(false); + this->handlers[4] = std::make_unique>(); + this->handlers[5] = std::make_unique(true); } /** @@ -157,9 +157,6 @@ LinkGraphSchedule::LinkGraphSchedule() LinkGraphSchedule::~LinkGraphSchedule() { this->Clear(); - for (const auto &handler : this->handlers) { - delete handler; - } } /** diff --git a/src/linkgraph/linkgraphschedule.h b/src/linkgraph/linkgraphschedule.h index 05c90bb1a0..1a63fbb880 100644 --- a/src/linkgraph/linkgraphschedule.h +++ b/src/linkgraph/linkgraphschedule.h @@ -42,7 +42,7 @@ private: friend SaveLoadTable GetLinkGraphScheduleDesc(); protected: - ComponentHandler *handlers[6]; ///< Handlers to be run for each job. + std::array, 6> handlers{}; ///< Handlers to be run for each job. GraphList schedule; ///< Queue for new jobs. JobList running; ///< Currently running jobs.