summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2018-02-21 11:20:54 (GMT)
committerTobias Markmann <tm@ayena.de>2018-02-21 14:04:09 (GMT)
commit7a9c3d136e8d5be70869950489036b665c462294 (patch)
tree8d4bee5bdf1fe2aa6560423085b8f0ea63fa63b3 /Swift/Controllers/Chat/ChatsManager.cpp
parent9f63c4a1456e154e6b48de2f9a8fa5105c8c020b (diff)
downloadswift-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.cpp12
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 @@
1/* 1/*
2 * Copyright (c) 2010-2017 Isode Limited. 2 * Copyright (c) 2010-2018 Isode Limited.
3 * All rights reserved. 3 * All rights reserved.
4 * See the COPYING file for more information. 4 * See the COPYING file for more information.
5 */ 5 */
@@ -331,11 +331,13 @@ void ChatsManager::handleBookmarksReady() {
331} 331}
332 332
333void ChatsManager::handleMUCBookmarkAdded(const MUCBookmark& bookmark) { 333void ChatsManager::handleMUCBookmarkAdded(const MUCBookmark& bookmark) {
334 std::map<JID, MUCController*>::iterator it = mucControllers_.find(bookmark.getRoom()); 334 if (bookmark.getRoom().isBare() && !bookmark.getRoom().getNode().empty()) {
335 if (it == mucControllers_.end() && bookmark.getAutojoin()) { 335 std::map<JID, MUCController*>::iterator it = mucControllers_.find(bookmark.getRoom());
336 handleJoinMUCRequest(bookmark.getRoom(), bookmark.getPassword(), bookmark.getNick(), false, false, false ); 336 if (it == mucControllers_.end() && bookmark.getAutojoin()) {
337 handleJoinMUCRequest(bookmark.getRoom(), bookmark.getPassword(), bookmark.getNick(), false, false, false );
338 }
339 chatListWindow_->addMUCBookmark(bookmark);
337 } 340 }
338 chatListWindow_->addMUCBookmark(bookmark);
339} 341}
340 342
341void ChatsManager::handleMUCBookmarkRemoved(const MUCBookmark& bookmark) { 343void ChatsManager::handleMUCBookmarkRemoved(const MUCBookmark& bookmark) {