diff --git a/zone/tasks.cpp b/zone/tasks.cpp index a0d21f61f..687dbd6f4 100644 --- a/zone/tasks.cpp +++ b/zone/tasks.cpp @@ -3097,28 +3097,18 @@ void ClientTaskState::ProcessTaskProximities(Client *c, float X, float Y, float } } -TaskGoalListManager::TaskGoalListManager() { - +TaskGoalListManager::TaskGoalListManager() +{ NumberOfLists = 0; - } -TaskGoalListManager::~TaskGoalListManager() { - - for(int i=0; i< NumberOfLists; i++) { - - safe_delete_array(TaskGoalLists[i].GoalItemEntries); - - } -} +TaskGoalListManager::~TaskGoalListManager() {} bool TaskGoalListManager::LoadLists() { Log(Logs::General, Logs::Tasks, "[GLOBALLOAD] TaskGoalListManager::LoadLists Called"); - for (int i = 0; i < NumberOfLists; i++) - safe_delete_array(TaskGoalLists[i].GoalItemEntries); TaskGoalLists.clear(); const char *ERR_MYSQLERROR = "Error in TaskGoalListManager::LoadLists: %s %s"; @@ -3143,9 +3133,9 @@ bool TaskGoalListManager::LoadLists() for (auto row = results.begin(); row != results.end(); ++row) { int listID = atoi(row[0]); int listSize = atoi(row[1]); - TaskGoalLists.push_back({listID, listSize, 0, 0, nullptr}); + TaskGoalLists.push_back({listID, listSize, 0, 0}); - TaskGoalLists[listIndex].GoalItemEntries = new int[listSize]; + TaskGoalLists[listIndex].GoalItemEntries.reserve(listSize); listIndex++; } diff --git a/zone/tasks.h b/zone/tasks.h index 1ab7cd0f9..8bc14d956 100644 --- a/zone/tasks.h +++ b/zone/tasks.h @@ -55,7 +55,7 @@ struct TaskGoalList_Struct { int ListID; int Size; int Min, Max; - int *GoalItemEntries; + std::vector GoalItemEntries; }; // This is used for handling lists, loading them from the database, searching them.