summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRenato Araujo Oliveira Filho <renato.filho@canonical.com>2014-02-04 15:27:34 -0300
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-05 05:32:19 +0100
commitcdbe3d4a34f728caaac15eccc9fdca3195b60b3a (patch)
treea40fd847b746d2b856104c409883b974fd01d1c6
parente0c5eebe350ecf0505a18aa2e49ac0331d23045d (diff)
Set the contact detail parent to avoid memory leak.
Change-Id: I4eed6039c398d537254441e4e5873838a7866c6c Reviewed-by: Konstantin Ritt <ritt.ks@gmail.com> Reviewed-by: Gustavo Pichorim Boiko <gustavo.boiko@canonical.com> Reviewed-by: Michael Krasnyk <michael.krasnyk@gmail.com> Reviewed-by: Christopher Adams <chris.adams@jollamobile.com>
-rw-r--r--src/imports/contacts/qdeclarativecontact.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/imports/contacts/qdeclarativecontact.cpp b/src/imports/contacts/qdeclarativecontact.cpp
index f4c99e7ad..e64c6e531 100644
--- a/src/imports/contacts/qdeclarativecontact.cpp
+++ b/src/imports/contacts/qdeclarativecontact.cpp
@@ -133,6 +133,7 @@ void QDeclarativeContact::setContact(const QContact& contact)
QList<QContactDetail> details(contact.details());
foreach (const QContactDetail &detail, details) {
QDeclarativeContactDetail *contactDetail = QDeclarativeContactDetailFactory::createContactDetail(static_cast<QDeclarativeContactDetail::DetailType>(detail.type()));
+ contactDetail->setParent(this);
contactDetail->setDetail(detail);
connect(contactDetail, SIGNAL(detailChanged()), this, SIGNAL(contactChanged()));
m_details.append(contactDetail);
@@ -254,6 +255,7 @@ bool QDeclarativeContact::addDetail(QDeclarativeContactDetail* detail)
return false;
QDeclarativeContactDetail *contactDetail = QDeclarativeContactDetailFactory::createContactDetail(detail->detailType());
+ contactDetail->setParent(this);
contactDetail->setDetail(detail->detail());
connect(contactDetail, SIGNAL(detailChanged()), this, SIGNAL(contactChanged()));
m_details.append(contactDetail);