diff --git a/src/core/core-chat-room.cpp b/src/core/core-chat-room.cpp index 84ae4d63a..42104a2a5 100644 --- a/src/core/core-chat-room.cpp +++ b/src/core/core-chat-room.cpp @@ -75,12 +75,13 @@ void CorePrivate::insertChatRoom (const shared_ptr &chatRoom) { void CorePrivate::deleteChatRoom (const string &peerAddress) { auto it = chatRoomsByUri.find(peerAddress); - if (it != chatRoomsByUri.end()) - chatRooms.erase( - find_if(chatRooms.begin(), chatRooms.end(), [&peerAddress](const shared_ptr &chatRoom) { - return peerAddress == chatRoom->getPeerAddress().asStringUriOnly(); - }) - ); + if (it != chatRoomsByUri.end()) { + auto it = find_if(chatRooms.begin(), chatRooms.end(), [&peerAddress](const shared_ptr &chatRoom) { + return peerAddress == chatRoom->getPeerAddress().asStringUriOnly(); + }); + if (it == chatRooms.end()) return; + chatRooms.erase(it); + } } void CorePrivate::insertChatRoomWithDb (const shared_ptr &chatRoom) {