diff --git a/src/app/conversationlistmodelbase.cpp b/src/app/conversationlistmodelbase.cpp index 82c0bb1e24aa0ae2f1bbb9539103cd0ef3693b3f..645c741d1ad84d23f9e9bbe14a914917809b5693 100644 --- a/src/app/conversationlistmodelbase.cpp +++ b/src/app/conversationlistmodelbase.cpp @@ -173,10 +173,26 @@ ConversationListModelBase::dataForItem(item_t item, int role) const if (item.isCoreDialog()) { auto peerUriList = model_->peersForConversation(item.uid); - if (peerUriList.isEmpty()) { + if (peerUriList.isEmpty()) return {}; - } auto peerUri = peerUriList.at(0); + if (peerUri == lrcInstance_->getCurrentAccountInfo().profileInfo.uri) { + // Conversation alone with self + switch (role) { + case Role::BestId: + return QVariant(lrcInstance_->accountModel().bestIdForAccount(peerUri)); + case Role::Alias: + return QVariant(lrcInstance_->getCurrentAccountInfo().profileInfo.alias); + case Role::RegisteredName: + return QVariant(lrcInstance_->getCurrentAccountInfo().registeredName); + case Role::URI: + return QVariant(peerUri); + case Role::IsBanned: + return QVariant(false); + case Role::ContactType: + return QVariant(static_cast<int>(lrcInstance_->getCurrentAccountInfo().profileInfo.type)); + } + } ContactModel* contactModel; contact::Info contact {}; contactModel = lrcInstance_->getCurrentAccountInfo().contactModel.get(); diff --git a/src/libclient/contactmodel.cpp b/src/libclient/contactmodel.cpp index 7e84c1ca76917994c67ef5670db47b361e903bf7..068abfcca90d99296f3b93e7e8451e266da14b68 100644 --- a/src/libclient/contactmodel.cpp +++ b/src/libclient/contactmodel.cpp @@ -777,7 +777,7 @@ ContactModelPimpl::slotNewBuddySubscription(const QString& accountId, void ContactModelPimpl::slotContactAdded(const QString& accountId, const QString& contactUri, - bool confirmed) + bool) { if (accountId != linked.owner.id) return;