refs #659, #657 Fixed a mistake where admitting an uncached value could cause synchronize() to wait forever.

This commit is contained in:
Mathew Sutcliffe
2016-06-05 20:35:03 +01:00
parent d53237cebc
commit e67c07f8c5

View File

@@ -381,6 +381,8 @@ namespace BlackMisc
auto deferrals = fromJson(json.value("deferrals").toArray());
m_admittedValues.unite(m_admittedQueue);
if (updateUuid) { m_admittedQueue.clear(); }
else if (! m_admittedQueue.isEmpty()) { m_admittedQueue.intersect(QSet<QString>::fromList(m_timestamps.keys())); }
for (const auto &key : m_timestamps.keys())
{
if (deferrals.contains(key) && ! m_admittedValues.contains(key)) { m_timestamps.remove(key); }