From 0afdc6d6d7380798097c3f3e87ece003684e6940 Mon Sep 17 00:00:00 2001 From: Gaelle Braud Date: Tue, 22 Oct 2024 17:27:33 +0200 Subject: [PATCH] fix display name when address in contacts --- Linphone/model/tool/ToolModel.cpp | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Linphone/model/tool/ToolModel.cpp b/Linphone/model/tool/ToolModel.cpp index 4f77653b3..8c3eab0f1 100644 --- a/Linphone/model/tool/ToolModel.cpp +++ b/Linphone/model/tool/ToolModel.cpp @@ -79,10 +79,17 @@ std::shared_ptr ToolModel::findAudioDevice(const QString QString ToolModel::getDisplayName(const std::shared_ptr &address) { QString displayName; if (address) { - displayName = Utils::coreStringToAppString(address->getDisplayName()); + auto linFriend = CoreModel::getInstance()->getCore()->findFriend(address); + if (linFriend) { + if (auto vcard = linFriend->getVcard()) displayName = Utils::coreStringToAppString(vcard->getFullName()); + if (displayName.isEmpty()) displayName = Utils::coreStringToAppString(linFriend->getName()); + } if (displayName.isEmpty()) { - displayName = Utils::coreStringToAppString(address->getUsername()); - displayName.replace('.', ' '); + displayName = Utils::coreStringToAppString(address->getDisplayName()); + if (displayName.isEmpty()) { + displayName = Utils::coreStringToAppString(address->getUsername()); + displayName.replace('.', ' '); + } } // TODO // std::shared_ptr cleanAddress = address->clone();