diff --git a/src/account.cpp b/src/account.cpp index fabc7931f38e4af323a78bb093668a142b60faeb..4754453b27f2baf352bdbe1b237294c91776c65b 100644 --- a/src/account.cpp +++ b/src/account.cpp @@ -197,7 +197,7 @@ Account* Account::buildNewAccountFromAlias(Account::Protocol proto, const QStrin a->setProtocol(proto); a->d_ptr->m_hAccountDetails.clear(); a->d_ptr->m_hAccountDetails[DRing::Account::ConfProperties::ENABLED] = "false"; - a->d_ptr->m_pAccountNumber = const_cast<ContactMethod*>(ContactMethod::BLANK()); + a->d_ptr->m_pAccountNumber = nullptr; MapStringString tmp; switch (proto) { case Account::Protocol::SIP: diff --git a/src/call.cpp b/src/call.cpp index c6f0720f2f650449d50dd3f8cad513b6efe65664..fc9d20732a1cb45b5c9962846a0a26356afb9956 100644 --- a/src/call.cpp +++ b/src/call.cpp @@ -838,7 +838,7 @@ ContactMethod* Call::peerContactMethod() const if (d_ptr->m_pDialNumber) return d_ptr->m_pDialNumber; - return const_cast<ContactMethod*>(ContactMethod::BLANK()); + return nullptr; } ///Get the peer name diff --git a/src/contactmethod.cpp b/src/contactmethod.cpp index 270749952372aebe3472e9c9f174704f2dda928a..4b07f6ca729bdc0726815fb3f47d4a93275b12aa 100644 --- a/src/contactmethod.cpp +++ b/src/contactmethod.cpp @@ -97,16 +97,6 @@ void ContactMethodPrivate::registeredNameSet(const QString& name) emit n->registeredNameSet(name); } -const ContactMethod* ContactMethod::BLANK() -{ - static auto instance = []{ - auto instance = new ContactMethod(QString(), NumberCategoryModel::other()); - instance->d_ptr->m_Type = ContactMethod::Type::BLANK; - return instance; - }(); - return instance; -} - ContactMethodPrivate::ContactMethodPrivate(const URI& uri, NumberCategory* cat, ContactMethod::Type st, ContactMethod* q) : m_Uri(uri),m_pCategory(cat),m_Tracked(false),m_Present(false), m_Type(st),m_PopularityIndex(-1),m_pPerson(nullptr),m_pAccount(nullptr), @@ -114,6 +104,10 @@ ContactMethodPrivate::ContactMethodPrivate(const URI& uri, NumberCategory* cat, m_Index(-1),m_hasType(false),m_pTextRecording(nullptr), m_pCertificate(nullptr), q_ptr(q) {} +ContactMethod::ContactMethod() + : ContactMethod(QString(), NumberCategoryModel::other(), ContactMethod::Type::BLANK) +{} + ///Constructor ContactMethod::ContactMethod(const URI& number, NumberCategory* cat, Type st) : ItemBase(&PhoneDirectoryModel::instance()), d_ptr(new ContactMethodPrivate(number,cat,st,this)) diff --git a/src/contactmethod.h b/src/contactmethod.h index ae93c27deb7cb033a930b06b7340c11dd903534a..3fff7a6a7c434a46b6729131e986ad7c85f7b658 100644 --- a/src/contactmethod.h +++ b/src/contactmethod.h @@ -104,6 +104,9 @@ public: }; Q_ENUMS(Type) + //Constructor + ContactMethod(); /*! construct an instance set with Type::BLANK */ + //Getters URI uri () const; NumberCategory* category () const; @@ -160,9 +163,6 @@ public: Q_INVOKABLE void addCall(Call* call); Q_INVOKABLE void incrementAlternativeName(const QString& name, const time_t lastUsed); - //Static - static const ContactMethod* BLANK(); - //Helper QString toHash() const;