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 @@ | |||
| 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 | ||
| 333 | void ChatsManager::handleMUCBookmarkAdded(const MUCBookmark& bookmark) { | 333 | void 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 | ||
| 341 | void ChatsManager::handleMUCBookmarkRemoved(const MUCBookmark& bookmark) { | 343 | void ChatsManager::handleMUCBookmarkRemoved(const MUCBookmark& bookmark) { |
Swift