refs #730 Avoid duplicate "empty cache value" debug messages.

This commit is contained in:
Mathew Sutcliffe
2016-08-12 21:37:13 +01:00
parent 67b36bbfcf
commit 661254371c
2 changed files with 18 additions and 1 deletions

View File

@@ -567,7 +567,20 @@ namespace BlackMisc
if (!status.isEmpty()) // intentionally kept !empty here, debug message supposed to write default value
{
element.m_value.uniqueWrite() = defaultValue;
CLogMessage::preformatted(status);
if (status.getSeverity() == CStatusMessage::SeverityDebug)
{
QMutexLocker lock(&m_cache->m_warnedKeysMutex);
if (! m_cache->m_warnedKeys.contains(key))
{
m_cache->m_warnedKeys.insert(key);
CLogMessage::preformatted(status);
}
}
else
{
CLogMessage::preformatted(status);
}
}
return element;

View File

@@ -314,6 +314,10 @@ namespace BlackMisc
virtual void connectPage(Private::CValuePage *page);
// only used by CValuePage::createElement
QSet<QString> m_warnedKeys;
QMutex m_warnedKeysMutex;
signals:
//! \private
void valuesChanged(const BlackMisc::CValueCachePacket &values, QObject *changedBy);