[Telepathy-commits] [telepathy-qt4/master] ContactManager: Do not claim to support contact features if the connection Contacts interface is not present.

Andre Moreira Magalhaes (andrunko) andre.magalhaes at collabora.co.uk
Wed Mar 25 10:31:18 PDT 2009


---
 TelepathyQt4/Client/contact-manager.cpp |   17 +++--------------
 1 files changed, 3 insertions(+), 14 deletions(-)

diff --git a/TelepathyQt4/Client/contact-manager.cpp b/TelepathyQt4/Client/contact-manager.cpp
index 76b65bc..759156a 100644
--- a/TelepathyQt4/Client/contact-manager.cpp
+++ b/TelepathyQt4/Client/contact-manager.cpp
@@ -111,24 +111,13 @@ QString featureToInterface(Contact::Feature feature)
 
 QSet<Contact::Feature> ContactManager::supportedFeatures() const
 {
-    if (mPriv->supportedFeatures.isEmpty()) {
+    if (mPriv->supportedFeatures.isEmpty() &&
+        mPriv->conn->interfaces().contains(TELEPATHY_INTERFACE_CONNECTION_INTERFACE_CONTACTS)) {
         QList<Contact::Feature> allFeatures = QList<Contact::Feature>()
             << Contact::FeatureAlias
             << Contact::FeatureAvatarToken
             << Contact::FeatureSimplePresence;
-        QStringList interfaces;
-        if (mPriv->conn->interfaces().contains(TELEPATHY_INTERFACE_CONNECTION_INTERFACE_CONTACTS)) {
-            interfaces = mPriv->conn->contactAttributeInterfaces();
-        } else {
-            if (mPriv->conn->interfaces().contains(TELEPATHY_INTERFACE_CONNECTION_INTERFACE_ALIASING)) {
-                interfaces.append(TELEPATHY_INTERFACE_CONNECTION_INTERFACE_ALIASING);
-            } else if (mPriv->conn->interfaces().contains(TELEPATHY_INTERFACE_CONNECTION_INTERFACE_AVATARS)) {
-                interfaces.append(TELEPATHY_INTERFACE_CONNECTION_INTERFACE_AVATARS);
-            } else if (mPriv->conn->interfaces().contains(TELEPATHY_INTERFACE_CONNECTION_INTERFACE_SIMPLE_PRESENCE)) {
-                interfaces.append(TELEPATHY_INTERFACE_CONNECTION_INTERFACE_SIMPLE_PRESENCE);
-            }
-        }
-
+        QStringList interfaces = mPriv->conn->contactAttributeInterfaces();
         foreach (Contact::Feature feature, allFeatures) {
             if (interfaces.contains(featureToInterface(feature))) {
                 mPriv->supportedFeatures.insert(feature);
-- 
1.5.6.5



More information about the telepathy-commits mailing list