From bcfa783a50f0d3e39f5e6fea110e509da4f78829 Mon Sep 17 00:00:00 2001
From: Alexandre Savard <alexandre.savard@savoirfairelinux.com>
Date: Thu, 16 Sep 2010 10:07:17 -0400
Subject: [PATCH] [#4068] Return 0 on getNumberOfCredential dbus call for IAX
 (credentials are sip)

---
 sflphone-common/src/dbus/configurationmanager.cpp | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/sflphone-common/src/dbus/configurationmanager.cpp b/sflphone-common/src/dbus/configurationmanager.cpp
index c14c491bb5..13ba7a2f5c 100644
--- a/sflphone-common/src/dbus/configurationmanager.cpp
+++ b/sflphone-common/src/dbus/configurationmanager.cpp
@@ -332,8 +332,16 @@ int32_t ConfigurationManager::getNumberOfCredential (
     const std::string& accountID)
 {
 
-    SIPAccount *sipaccount = (SIPAccount *) Manager::instance().getAccount (accountID);
-    return sipaccount->getCredentialCount();
+    Account *account = Manager::instance().getAccount (accountID);
+
+    if (!account)
+        return 0;
+
+    if (account->getType() == "SIP") {
+        SIPAccount *sipaccount = static_cast<SIPAccount *> (account);
+        return sipaccount->getCredentialCount();
+    } else
+        return 0;
 }
 
 void ConfigurationManager::setCredential (const std::string& accountID,
-- 
GitLab