diff options
| author | Richard Maudsley <richard.maudsley@isode.com> | 2014-04-09 07:53:12 (GMT) |
|---|---|---|
| committer | Swift Review <review@swift.im> | 2014-04-22 21:12:21 (GMT) |
| commit | a7fb55381ab4a5c470bf891b31ac6e201611a2c1 (patch) | |
| tree | 475b3b7fc0142946863580506b00aa250ef8ca14 /Swift/Controllers/Chat/UserSearchController.cpp | |
| parent | 4444aeb255f8d1712b794c31166f362bb3ec335a (diff) | |
| download | swift-contrib-a7fb55381ab4a5c470bf891b31ac6e201611a2c1.zip swift-contrib-a7fb55381ab4a5c470bf891b31ac6e201611a2c1.tar.bz2 | |
Fix crash in QtUserSearchWindow.
Avoid storing pointers to items in vectors. Using shared_ptr for Contact items.
Change-Id: I3baa05fc058011b2beca14dc620ab794988a2b37
Diffstat (limited to 'Swift/Controllers/Chat/UserSearchController.cpp')
| -rw-r--r-- | Swift/Controllers/Chat/UserSearchController.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/Swift/Controllers/Chat/UserSearchController.cpp b/Swift/Controllers/Chat/UserSearchController.cpp index 7844c1b..8503609 100644 --- a/Swift/Controllers/Chat/UserSearchController.cpp +++ b/Swift/Controllers/Chat/UserSearchController.cpp @@ -217,3 +217,3 @@ void UserSearchController::handleJIDUpdateRequested(const std::vector<JID>& jids if (window_) { - std::vector<Contact> updates; + std::vector<Contact::ref> updates; foreach(const JID& jid, jids) { @@ -226,3 +226,3 @@ void UserSearchController::handleJIDUpdateRequested(const std::vector<JID>& jids void UserSearchController::handleJIDAddRequested(const std::vector<JID>& jids) { - std::vector<Contact> contacts; + std::vector<Contact::ref> contacts; foreach(const JID& jid, jids) { @@ -233,5 +233,5 @@ void UserSearchController::handleJIDAddRequested(const std::vector<JID>& jids) { -Contact UserSearchController::convertJIDtoContact(const JID& jid) { - Contact contact; - contact.jid = jid; +Contact::ref UserSearchController::convertJIDtoContact(const JID& jid) { + Contact::ref contact = boost::make_shared<Contact>(); + contact->jid = jid; @@ -240,3 +240,3 @@ Contact UserSearchController::convertJIDtoContact(const JID& jid) { if (rosterItem && !rosterItem->getName().empty()) { - contact.name = rosterItem->getName(); + contact->name = rosterItem->getName(); } else { @@ -244,5 +244,5 @@ Contact UserSearchController::convertJIDtoContact(const JID& jid) { if (vcard && !vcard->getFullName().empty()) { - contact.name = vcard->getFullName(); + contact->name = vcard->getFullName(); } else { - contact.name = jid.toString(); + contact->name = jid.toString(); } @@ -253,5 +253,5 @@ Contact UserSearchController::convertJIDtoContact(const JID& jid) { if (presence) { - contact.statusType = presence->getShow(); + contact->statusType = presence->getShow(); } else { - contact.statusType = StatusShow::None; + contact->statusType = StatusShow::None; } @@ -259,3 +259,3 @@ Contact UserSearchController::convertJIDtoContact(const JID& jid) { // avatar lookup - contact.avatarPath = avatarManager_->getAvatarPath(jid); + contact->avatarPath = avatarManager_->getAvatarPath(jid); return contact; |
Swift