fix for checking duplicate messages with condition

This commit is contained in:
john30
2016-01-27 08:31:01 +01:00
parent f4c5b5818f
commit f60b29fe16
+7 -5
View File
@@ -1178,11 +1178,13 @@ result_t MessageMap::add(Message* message, bool storeByName)
if (!m_addAll) {
map<unsigned long long, vector<Message*> >::iterator keyIt = m_messagesByKey.find(key);
if (keyIt != m_messagesByKey.end()) {
if (!conditional)
return RESULT_ERR_DUPLICATE; // duplicate key
vector<Message*>* messages = &keyIt->second;
if (!messages->front()->isConditional())
return RESULT_ERR_DUPLICATE; // duplicate key
Message* other = getFirstAvailable(keyIt->second, *message);
if (other != NULL) {
if (!conditional)
return RESULT_ERR_DUPLICATE; // duplicate key
if (!other->isConditional())
return RESULT_ERR_DUPLICATE; // duplicate key
}
}
}
bool isPassive = message->isPassive();