refs #626 Serializer gets its baseline values when it actually starts loading/saving, instead of just when the cache requests the load/save.

This commit is contained in:
Mathew Sutcliffe
2016-03-31 19:57:20 +01:00
parent 363ee7c54b
commit 91db47c628

View File

@@ -140,19 +140,17 @@ namespace BlackMisc
void CDataCache::saveToStoreAsync(const BlackMisc::CValueCachePacket &values) void CDataCache::saveToStoreAsync(const BlackMisc::CValueCachePacket &values)
{ {
auto baseline = getAllValuesWithTimestamps(); QTimer::singleShot(0, &m_serializer, [this, values]
QTimer::singleShot(0, &m_serializer, [this, baseline, values]
{ {
m_serializer.saveToStore(values.toVariantMap(), baseline); m_serializer.saveToStore(values.toVariantMap(), getAllValuesWithTimestamps());
}); });
} }
void CDataCache::loadFromStoreAsync() void CDataCache::loadFromStoreAsync()
{ {
auto baseline = getAllValuesWithTimestamps(); QTimer::singleShot(0, &m_serializer, [this]
QTimer::singleShot(0, &m_serializer, [this, baseline]
{ {
m_serializer.loadFromStore(baseline); m_serializer.loadFromStore(getAllValuesWithTimestamps());
}); });
} }