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
+4 -2
View File
@@ -1178,13 +1178,15 @@ result_t MessageMap::add(Message* message, bool storeByName)
if (!m_addAll) { if (!m_addAll) {
map<unsigned long long, vector<Message*> >::iterator keyIt = m_messagesByKey.find(key); map<unsigned long long, vector<Message*> >::iterator keyIt = m_messagesByKey.find(key);
if (keyIt != m_messagesByKey.end()) { if (keyIt != m_messagesByKey.end()) {
Message* other = getFirstAvailable(keyIt->second, *message);
if (other != NULL) {
if (!conditional) if (!conditional)
return RESULT_ERR_DUPLICATE; // duplicate key return RESULT_ERR_DUPLICATE; // duplicate key
vector<Message*>* messages = &keyIt->second; if (!other->isConditional())
if (!messages->front()->isConditional())
return RESULT_ERR_DUPLICATE; // duplicate key return RESULT_ERR_DUPLICATE; // duplicate key
} }
} }
}
bool isPassive = message->isPassive(); bool isPassive = message->isPassive();
if (storeByName) { if (storeByName) {
bool isWrite = message->isWrite(); bool isWrite = message->isWrite();