diff --git a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/DataStore.h b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/DataStore.h index 34268f4..265f8df 100644 --- a/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/DataStore.h +++ b/Trenser.VehicleServiceSystem/Trenser.VehicleServiceSystem/datastores/DataStore.h @@ -230,9 +230,17 @@ void DataStore::refreshCache(util::Map>& cac for (int index = 0; index < oldCache.getSize(); ++index) { const std::string& id = oldCache.getKeyAt(index); + const TrackedRecord& localTrackedRecord = oldCache.getValueAt(index); if (cache.find(id) == -1) { - delete oldCache.getValueAt(index).data; + if (localTrackedRecord.state == RecordState::NEW_RECORD) + { + cache.insert(id, localTrackedRecord); + } + else + { + delete localTrackedRecord.data; + } } } } \ No newline at end of file