+12
-1
@@ -6,7 +6,7 @@
|
||||
|
||||
void delete_all(std::vector<allocation> *allocated) {
|
||||
if (allocated == nullptr) {
|
||||
return;
|
||||
return;
|
||||
}
|
||||
for (long long i = allocated->size() - 1; i >= 0; i--) {
|
||||
switch (allocated->at(i).type) {
|
||||
@@ -26,6 +26,14 @@ void delete_all(std::vector<allocation> *allocated) {
|
||||
delete[] panels;
|
||||
break;
|
||||
}
|
||||
case ITEM_ARRAY: {
|
||||
ITEM **items = static_cast<ITEM **>(allocated->at(i).ptr);
|
||||
for (std::size_t j = 0; j < allocated->at(i).size; j++) {
|
||||
free_item(items[j]);
|
||||
}
|
||||
delete[] items;
|
||||
break;
|
||||
}
|
||||
case GENERIC_ARRAY:
|
||||
delete[] static_cast<char *>(allocated->at(i).ptr);
|
||||
break;
|
||||
@@ -35,6 +43,9 @@ void delete_all(std::vector<allocation> *allocated) {
|
||||
case PANEL_TYPE:
|
||||
del_panel(static_cast<PANEL *>(allocated->at(i).ptr));
|
||||
break;
|
||||
case MENU_TYPE:
|
||||
free_menu(static_cast<MENU *>(allocated->at(i).ptr));
|
||||
break;
|
||||
case GENERIC_TYPE:
|
||||
delete static_cast<char *>(allocated->at(i).ptr);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user