From b630c321fdd3d0aee542694ffc5edc4b3ea9beab Mon Sep 17 00:00:00 2001 From: Emmanuel Lepage Vallee <elv1313@gmail.com> Date: Fri, 28 Apr 2017 05:00:27 -0400 Subject: [PATCH] Person : Fix a memory leak in toVCard() MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: I1afb94da51718177ab661f706c7364fa858a6fc7 Reviewed-by: Nicolas Jäger <nicolas.jager@savoirfairelinux.com> --- src/person.cpp | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/person.cpp b/src/person.cpp index 537502b8..6e34e2f3 100644 --- a/src/person.cpp +++ b/src/person.cpp @@ -723,16 +723,16 @@ void Person::addCustomField(const QString& key, const QString& value) const QByteArray Person::toVCard(QList<Account*> accounts) const { //serializing here - VCardUtils* maker = new VCardUtils(); - maker->startVCard("2.1"); - maker->addProperty(VCardUtils::Property::UID, uid()); - maker->addProperty(VCardUtils::Property::NAME, (secondName() + VCardUtils maker; + maker.startVCard("2.1"); + maker.addProperty(VCardUtils::Property::UID, uid()); + maker.addProperty(VCardUtils::Property::NAME, (secondName() + VCardUtils::Delimiter::SEPARATOR_TOKEN + firstName())); - maker->addProperty(VCardUtils::Property::FORMATTED_NAME, formattedName()); - maker->addProperty(VCardUtils::Property::ORGANIZATION, organization()); + maker.addProperty(VCardUtils::Property::FORMATTED_NAME, formattedName()); + maker.addProperty(VCardUtils::Property::ORGANIZATION, organization()); - maker->addEmail("PREF", preferredEmail()); + maker.addEmail("PREF", preferredEmail()); foreach (ContactMethod* phone , phoneNumbers()) { QString uri = phone->uri(); @@ -740,23 +740,23 @@ const QByteArray Person::toVCard(QList<Account*> accounts) const // can tell it is a RING number and not some other hash if (phone->uri().protocolHint() == URI::ProtocolHint::RING) uri = phone->uri().full(); - maker->addContactMethod(phone->category()->name(), uri); + maker.addContactMethod(phone->category()->name(), uri); } foreach (const Address& addr , d_ptr->m_lAddresses) { - maker->addAddress(addr); + maker.addAddress(addr); } foreach (const QString& key , d_ptr->m_lCustomAttributes.keys()) { - maker->addProperty(key, d_ptr->m_lCustomAttributes.value(key)); + maker.addProperty(key, d_ptr->m_lCustomAttributes.value(key)); } foreach (Account* acc , accounts) { - maker->addProperty(VCardUtils::Property::X_RINGACCOUNT, acc->id()); + maker.addProperty(VCardUtils::Property::X_RINGACCOUNT, acc->id()); } - maker->addPhoto(GlobalInstances::pixmapManipulator().toByteArray(photo())); - return maker->endVCard(); + maker.addPhoto(GlobalInstances::pixmapManipulator().toByteArray(photo())); + return maker.endVCard(); } void PersonPrivate::slotLastUsedTimeChanged(::time_t t) -- GitLab