[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