Timo Jyrinki has proposed merging 
lp:~timo-jyrinki/kubuntu-packaging/qtpim-opensource-src_new_snapshot__20140515 
into lp:~kubuntu-packagers/kubuntu-packaging/qtpim-opensource-src.

Commit message:
* New upstream snapshot with several upstreamed fixes from renato
  - Remove also the following merged patches:
    Set-the-contact-detail-parent-to-avoid-memory-leak.patch
    Delete-declarative-contact-after-remove-it-from-the-.patch

Requested reviews:
  PS Jenkins bot (ps-jenkins): continuous-integration
  Kubuntu Packagers (kubuntu-packagers)

For more details, see:
https://code.launchpad.net/~timo-jyrinki/kubuntu-packaging/qtpim-opensource-src_new_snapshot__20140515/+merge/219667
-- 
https://code.launchpad.net/~timo-jyrinki/kubuntu-packaging/qtpim-opensource-src_new_snapshot__20140515/+merge/219667
Your team Kubuntu Packagers is requested to review the proposed merge of 
lp:~timo-jyrinki/kubuntu-packaging/qtpim-opensource-src_new_snapshot__20140515 
into lp:~kubuntu-packagers/kubuntu-packaging/qtpim-opensource-src.
=== modified file 'debian/changelog'
--- debian/changelog	2014-03-21 07:29:02 +0000
+++ debian/changelog	2014-05-15 09:40:49 +0000
@@ -1,3 +1,18 @@
+qtpim-opensource-src (5.0~git20140515~29475884-0ubuntu1) utopic; urgency=medium
+
+  * New upstream snapshot with several upstreamed fixes from renato
+    - Remove also the following merged patches:
+      Set-the-contact-detail-parent-to-avoid-memory-leak.patch
+      Delete-declarative-contact-after-remove-it-from-the-.patch
+
+ -- Timo Jyrinki <[email protected]>  Thu, 15 May 2014 09:27:46 +0000
+
+qtpim-opensource-src (5.0~git20140203~e0c5eebe-0ubuntu3) utopic; urgency=medium
+
+  * No-change rebuild for shlib changes in qtbase and qtdeclarative.
+
+ -- Ricardo Salveti de Araujo <[email protected]>  Tue, 29 Apr 2014 00:39:29 -0700
+
 qtpim-opensource-src (5.0~git20140203~e0c5eebe-0ubuntu2) trusty; urgency=medium
 
   * Cherry-pick from upstream:

=== removed file 'debian/patches/Delete-declarative-contact-after-remove-it-from-the-.patch'
--- debian/patches/Delete-declarative-contact-after-remove-it-from-the-.patch	2014-03-21 07:29:02 +0000
+++ debian/patches/Delete-declarative-contact-after-remove-it-from-the-.patch	1970-01-01 00:00:00 +0000
@@ -1,145 +0,0 @@
-From 86a7572cf73d21dcd9469b6c892bfd5001d4b295 Mon Sep 17 00:00:00 2001
-From: Renato Araujo Oliveira Filho <[email protected]>
-Date: Fri, 7 Mar 2014 15:11:27 -0300
-Subject: [PATCH] Delete declarative contact after remove it from the model.
-
-Keep any contact fetched by the model update even if the contact is not in the model.
-Delete any fetched contact if it get removed from the engine.
-
-Change-Id: I646cc2d53ca7bb25b107f44c9517c0aac6814422
----
- src/imports/contacts/qdeclarativecontactmodel.cpp | 47 ++++++++++++++++++++---
- 1 file changed, 42 insertions(+), 5 deletions(-)
-
-diff --git a/src/imports/contacts/qdeclarativecontactmodel.cpp b/src/imports/contacts/qdeclarativecontactmodel.cpp
-index 5e9bec6..148c003 100644
---- a/src/imports/contacts/qdeclarativecontactmodel.cpp
-+++ b/src/imports/contacts/qdeclarativecontactmodel.cpp
-@@ -117,6 +117,7 @@ public:
- 
-     QList<QDeclarativeContact*> m_contacts;
-     QMap<QContactId, QDeclarativeContact*> m_contactMap;
-+    QMap<QContactId, QDeclarativeContact*> m_contactFetchedMap;
-     QContactManager* m_manager;
-     QContactAbstractRequest::StorageLocations m_storageLocations;
-     QDeclarativeContactFetchHint* m_fetchHint;
-@@ -684,8 +685,12 @@ void QDeclarativeContactModel::onFetchContactsRequestStateChanged(QContactAbstra
-     if (request->error() == QContactManager::NoError) {
-         QList<QContact> contacts(request->contacts());
-         foreach (const QContact &contact, contacts) {
--            QDeclarativeContact *declarativeContact(0);
--            declarativeContact = new QDeclarativeContact(this);
-+            // if the contact was already fetched update the contact
-+            QDeclarativeContact *declarativeContact = d->m_contactFetchedMap.value(contact.id(), 0);
-+            if (!declarativeContact) {
-+                declarativeContact = new QDeclarativeContact(this);
-+                d->m_contactFetchedMap[contact.id()] = declarativeContact;
-+            }
-             declarativeContact->setContact(contact);
-             list.append(QVariant::fromValue(declarativeContact));
-         }
-@@ -699,6 +704,8 @@ void QDeclarativeContactModel::clearContacts()
-     qDeleteAll(d->m_contacts);
-     d->m_contacts.clear();
-     d->m_contactMap.clear();
-+    qDeleteAll(d->m_contactFetchedMap.values());
-+    d->m_contactFetchedMap.clear();
- }
- 
- void QDeclarativeContactModel::fetchAgain()
-@@ -919,6 +926,7 @@ void QDeclarativeContactModel::onContactsAdded(const QList<QContactId>& ids)
-         QList<QContactId> contactsIdsForThisModel = extractContactIdsInStorageLocationFromThisModel(ids);
-         if (contactsIdsForThisModel.isEmpty())
-             return;
-+
-         QContactFetchRequest *fetchRequest = createContactFetchRequest(contactsIdsForThisModel);
-         connect(fetchRequest,SIGNAL(stateChanged(QContactAbstractRequest::State)),
-                 this, SLOT(onContactsAddedFetchRequestStateChanged(QContactAbstractRequest::State)));
-@@ -987,6 +995,11 @@ void QDeclarativeContactModel::onContactsRemoved(const QList<QContactId> &ids)
- 
-     bool emitSignal = false;
-     foreach (const QContactId &id, ids) {
-+        // delete the contact from fetched map if necessary
-+        QDeclarativeContact* contact = d->m_contactFetchedMap.take(id);
-+        if (contact)
-+            contact->deleteLater();
-+
-         if (d->m_contactMap.contains(id)) {
-             int row = 0;
-             //TODO:need a fast lookup
-@@ -997,7 +1010,8 @@ void QDeclarativeContactModel::onContactsRemoved(const QList<QContactId> &ids)
- 
-             if (row < d->m_contacts.count()) {
-                 beginRemoveRows(QModelIndex(), row, row);
--                d->m_contacts.removeAt(row);
-+                contact = d->m_contacts.takeAt(row);
-+                contact->deleteLater();
-                 d->m_contactMap.remove(id);
-                 endRemoveRows();
-                 emitSignal = true;
-@@ -1014,6 +1028,7 @@ void QDeclarativeContactModel::onContactsChanged(const QList<QContactId> &ids)
-         QList<QContactId> contactsIdsForThisModel = extractContactIdsInStorageLocationFromThisModel(ids);
-         if (contactsIdsForThisModel.isEmpty())
-             return;
-+
-         QContactFetchRequest *fetchRequest = createContactFetchRequest(contactsIdsForThisModel);
-         connect(fetchRequest, SIGNAL(stateChanged(QContactAbstractRequest::State)),
-                 this, SLOT(onContactsChangedFetchRequestStateChanged(QContactAbstractRequest::State)));
-@@ -1188,9 +1203,16 @@ void QDeclarativeContactModel::onContactsChangedFetchRequestStateChanged(QContac
-         foreach (const QContactId &id, requestedContactIds) {
-             if (contactListDoesNotContainContactWithId(fetchedContacts, id)) {
-                 for (int i=0;i<d->m_contacts.size();++i) {
-+                    // Remove contact from fetched map
-+                    QDeclarativeContact *dc = d->m_contactFetchedMap.take(id);
-+                    if (dc)
-+                        dc->deleteLater();
-+
-                     if (d->m_contacts.at(i)->contactId() == id.toString()) {
-                         beginRemoveRows(QModelIndex(), i, i);
--                        d->m_contacts.removeAt(i);
-+                        // Remove and delete contact object
-+                        dc = d->m_contacts.takeAt(i);
-+                        dc->deleteLater();
-                         d->m_contactMap.remove(id);
-                         endRemoveRows();
-                         contactsUpdated = true;
-@@ -1198,13 +1220,25 @@ void QDeclarativeContactModel::onContactsChangedFetchRequestStateChanged(QContac
-                 }
-             }
-         }
-+        QList<QString> pendingFetch;
-         foreach (const QContact &fetchedContact, fetchedContacts) {
-+            // If contact exists in the fetched list, we need to update it
-+            QDeclarativeContact* dc = d->m_contactFetchedMap.value(fetchedContact.id());
-+            if (dc) {
-+                // if model contains a fetchHint we can not use the same contact we need to fetch the full contact
-+                if (d->m_fetchHint) {
-+                    pendingFetch << dc->contactId();
-+                } else {
-+                    dc->setContact(fetchedContact);
-+                }
-+            }
-+
-             QString contactIdString(fetchedContact.id().toString());
-             bool fetchedContactFound = false;
-             for (int i = 0; i < d->m_contacts.size(); ++i) {
-                 //handle updated contacts which should be updated in the model
-                 if (d->m_contacts.at(i)->contactId() == contactIdString) {
--                    QDeclarativeContact* dc = d->m_contacts.at(i);
-+                    dc = d->m_contacts.at(i);
-                     dc->setContact(fetchedContact);
- 
-                     // Since the contact can change the position due the sort order we need take care of it
-@@ -1240,6 +1274,9 @@ void QDeclarativeContactModel::onContactsChangedFetchRequestStateChanged(QContac
-                 endInsertRows();
-             }
-         }
-+
-+        // re-fetch the full contact
-+        fetchContacts(pendingFetch);
-     }
- 
-     if (contactsUpdated)
--- 
-1.9.0
-

=== removed file 'debian/patches/Set-the-contact-detail-parent-to-avoid-memory-leak.patch'
--- debian/patches/Set-the-contact-detail-parent-to-avoid-memory-leak.patch	2014-02-05 13:45:12 +0000
+++ debian/patches/Set-the-contact-detail-parent-to-avoid-memory-leak.patch	1970-01-01 00:00:00 +0000
@@ -1,33 +0,0 @@
-From 0bc09f0b65d78dedaf65719b47f7c4d12e28e502 Mon Sep 17 00:00:00 2001
-From: Renato Araujo Oliveira Filho <[email protected]>
-Date: Tue, 4 Feb 2014 15:27:34 -0300
-Subject: [PATCH] Set the contact detail parent to avoid memory leak.
-
-Change-Id: I4eed6039c398d537254441e4e5873838a7866c6c
----
- src/imports/contacts/qdeclarativecontact.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/imports/contacts/qdeclarativecontact.cpp b/src/imports/contacts/qdeclarativecontact.cpp
-index f4c99e7..e64c6e5 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);
--- 
-1.8.5.3
-

=== modified file 'debian/patches/series'
--- debian/patches/series	2014-03-21 07:29:02 +0000
+++ debian/patches/series	2014-05-15 09:40:49 +0000
@@ -1,4 +1,2 @@
 revert_module_version.patch
 disable_failing_tests.patch
-Set-the-contact-detail-parent-to-avoid-memory-leak.patch
-Delete-declarative-contact-after-remove-it-from-the-.patch

-- 
kubuntu-devel mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel

Reply via email to