refs #336 CStatusMessage keeps track of which objects have handled it, to avoid duplicate handlings of the same message.

This commit is contained in:
Mathew Sutcliffe
2014-10-12 20:28:13 +01:00
parent 09685e8b37
commit 8992bd734c
5 changed files with 41 additions and 2 deletions

View File

@@ -306,12 +306,16 @@ namespace BlackCore
{
if (!this->m_simulator) return;
if (statusMessage.getSeverity() != CStatusMessage::SeverityError) return;
if (statusMessage.wasHandledBy(this)) return;
statusMessage.markAsHandledBy(this);
this->m_simulator->displayStatusMessage(statusMessage);
}
void CContextSimulator::ps_statusMessagesReceived(const CStatusMessageList &statusMessages)
{
foreach(CStatusMessage m, statusMessages)
for(const CStatusMessage &m : statusMessages)
{
this->ps_statusMessageReceived(m);
}