diff --git a/src/network/network_gamelist.cpp b/src/network/network_gamelist.cpp --- a/src/network/network_gamelist.cpp +++ b/src/network/network_gamelist.cpp @@ -57,7 +57,7 @@ static void NetworkGameListHandleDelayed if (item->manually) NetworkRebuildHostList(); UpdateNetworkGameWindow(); } - free(ins_item); + delete ins_item; } } @@ -80,9 +80,7 @@ NetworkGameList *NetworkGameListAddItem( prev_item = item; } - item = CallocT(1); - item->next = nullptr; - item->connection_string = resolved_connection_string; + item = new NetworkGameList(resolved_connection_string); if (prev_item == nullptr) { _network_game_list = item; @@ -112,8 +110,7 @@ void NetworkGameListRemoveItem(NetworkGa /* Remove GRFConfig information */ ClearGRFConfigList(&remove->info.grfconfig); - free(remove); - remove = nullptr; + delete remove; DEBUG(net, 4, "[gamelist] removed server from list"); NetworkRebuildHostList();