diff options
author | Tobias Markmann <tm@ayena.de> | 2018-02-21 11:20:54 (GMT) |
---|---|---|
committer | Tobias Markmann <tm@ayena.de> | 2018-02-21 14:04:09 (GMT) |
commit | 7a9c3d136e8d5be70869950489036b665c462294 (patch) | |
tree | 8d4bee5bdf1fe2aa6560423085b8f0ea63fa63b3 /Swift/Controllers/Chat/ChatsManager.cpp | |
parent | 9f63c4a1456e154e6b48de2f9a8fa5105c8c020b (diff) | |
download | swift-7a9c3d136e8d5be70869950489036b665c462294.zip swift-7a9c3d136e8d5be70869950489036b665c462294.tar.bz2 |
Fix handling of unusual JIDs in room bookmarks
Test-Information:
Added unit tests for bookmark handling for domain-only, bare,
and full JIDs.
Builds and unit tests pass on macOS 10.13.3.
Change-Id: I2855f4e9bdce4aa971575b2bad01e6dd166042bb
Diffstat (limited to 'Swift/Controllers/Chat/ChatsManager.cpp')
-rw-r--r-- | Swift/Controllers/Chat/ChatsManager.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/Swift/Controllers/Chat/ChatsManager.cpp b/Swift/Controllers/Chat/ChatsManager.cpp index a6f7fe0..19400f9 100644 --- a/Swift/Controllers/Chat/ChatsManager.cpp +++ b/Swift/Controllers/Chat/ChatsManager.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2010-2017 Isode Limited. + * Copyright (c) 2010-2018 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ @@ -331,11 +331,13 @@ void ChatsManager::handleBookmarksReady() { } void ChatsManager::handleMUCBookmarkAdded(const MUCBookmark& bookmark) { - std::map<JID, MUCController*>::iterator it = mucControllers_.find(bookmark.getRoom()); - if (it == mucControllers_.end() && bookmark.getAutojoin()) { - handleJoinMUCRequest(bookmark.getRoom(), bookmark.getPassword(), bookmark.getNick(), false, false, false ); + if (bookmark.getRoom().isBare() && !bookmark.getRoom().getNode().empty()) { + std::map<JID, MUCController*>::iterator it = mucControllers_.find(bookmark.getRoom()); + if (it == mucControllers_.end() && bookmark.getAutojoin()) { + handleJoinMUCRequest(bookmark.getRoom(), bookmark.getPassword(), bookmark.getNick(), false, false, false ); + } + chatListWindow_->addMUCBookmark(bookmark); } - chatListWindow_->addMUCBookmark(bookmark); } void ChatsManager::handleMUCBookmarkRemoved(const MUCBookmark& bookmark) { |