diff --git a/sflphone-common/src/dbus/configurationmanager.cpp b/sflphone-common/src/dbus/configurationmanager.cpp index c14c491bb55e2b18b4777da63bcd2944244be96c..13ba7a2f5c1eec83c4f7b75ddddfb12dbe1d601f 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,