diff --git a/src/newgrf_storage.cpp b/src/newgrf_storage.cpp --- a/src/newgrf_storage.cpp +++ b/src/newgrf_storage.cpp @@ -18,14 +18,14 @@ PersistentStoragePool _persistent_storag INSTANTIATE_POOL_METHODS(PersistentStorage) /** The changed storage arrays */ -static std::set _changed_storage_arrays; +static std::set *_changed_storage_arrays = new std::set; /** * Remove references to use. */ BaseStorageArray::~BaseStorageArray() { - _changed_storage_arrays.erase(this); + _changed_storage_arrays->erase(this); } /** @@ -36,7 +36,7 @@ BaseStorageArray::~BaseStorageArray() */ void AddChangedStorage(BaseStorageArray *storage) { - _changed_storage_arrays.insert(storage); + _changed_storage_arrays->insert(storage); } /** @@ -52,10 +52,10 @@ void AddChangedStorage(BaseStorageArray void ClearStorageChanges(bool keep_changes) { /* Loop over all changes arrays */ - for (std::set::iterator it = _changed_storage_arrays.begin(); it != _changed_storage_arrays.end(); it++) { + for (std::set::iterator it = _changed_storage_arrays->begin(); it != _changed_storage_arrays->end(); it++) { (*it)->ClearChanges(keep_changes); } /* And then clear that array */ - _changed_storage_arrays.clear(); + _changed_storage_arrays->clear(); }