Don't crash if a message is still in the coresession messagequeue
while the corresponding network has already been deleted by a user.
BufferInfo bufferInfo = Core::bufferInfo(user(), rawMsg.networkId, rawMsg.bufferType, rawMsg.target);
Message msg(bufferInfo, rawMsg.type, rawMsg.text, rawMsg.sender, rawMsg.flags);
BufferInfo bufferInfo = Core::bufferInfo(user(), rawMsg.networkId, rawMsg.bufferType, rawMsg.target);
Message msg(bufferInfo, rawMsg.type, rawMsg.text, rawMsg.sender, rawMsg.flags);
- networkName = _networks.value(bufferInfo.networkId())->networkName();
+ CoreNetwork *currentNetwork = network(bufferInfo.networkId());
+ networkName = currentNetwork ? currentNetwork->networkName() : QString("");
// if message is ignored with "HardStrictness" we discard it here
if(_ignoreListManager.match(msg, networkName) != IgnoreListManager::HardStrictness) {
Core::storeMessage(msg);
// if message is ignored with "HardStrictness" we discard it here
if(_ignoreListManager.match(msg, networkName) != IgnoreListManager::HardStrictness) {
Core::storeMessage(msg);
}
Message msg(bufferInfo, rawMsg.type, rawMsg.text, rawMsg.sender, rawMsg.flags);
}
Message msg(bufferInfo, rawMsg.type, rawMsg.text, rawMsg.sender, rawMsg.flags);
- networkName = _networks.value(bufferInfo.networkId())->networkName();
+ CoreNetwork *currentNetwork = network(bufferInfo.networkId());
+ networkName = currentNetwork ? currentNetwork->networkName() : QString("");
// if message is ignored with "HardStrictness" we discard it here
if(_ignoreListManager.match(msg, networkName) == IgnoreListManager::HardStrictness)
continue;
// if message is ignored with "HardStrictness" we discard it here
if(_ignoreListManager.match(msg, networkName) == IgnoreListManager::HardStrictness)
continue;