Skip to content
This repository has been archived by the owner on Sep 4, 2021. It is now read-only.

Commit

Permalink
Merge pull request #93 from amtep/update9
Browse files Browse the repository at this point in the history
[libcontacts] kick off an UpdateRequest when contacts start to come in
  • Loading branch information
amtep committed Sep 12, 2014
2 parents c48ad96 + ff657a5 commit 662e683
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions src/seasidecache.cpp
Expand Up @@ -1751,6 +1751,7 @@ bool SeasideCache::event(QEvent *event)
if (event->type() != QEvent::UpdateRequest)
return QObject::event(event);

m_updatesPending = false;
bool idleProcessing = false;
startRequest(&idleProcessing);

Expand All @@ -1766,14 +1767,11 @@ bool SeasideCache::event(QEvent *event)
applyPendingContactUpdates();

// Send another event to trigger further processing
QCoreApplication::postEvent(this, new QEvent(QEvent::UpdateRequest));
requestUpdate();
return true;
}

if (idleProcessing) {
// We have nothing pending to do
m_updatesPending = false;

// Remove expired contacts when all other activity has been processed
if (!m_expiredContacts.isEmpty()) {
QList<quint32> removeIds;
Expand Down Expand Up @@ -2217,6 +2215,7 @@ void SeasideCache::contactsAvailable()
} else {
m_contactsToAppend.insert(type, qMakePair(queryDetailTypes, contacts));
}
requestUpdate();
} else {
if (m_activeResolve || (request == &m_fetchByIdRequest)) {
// Process these results immediately
Expand Down Expand Up @@ -2704,7 +2703,7 @@ void SeasideCache::requestStateChanged(QContactAbstractRequest::State state)
}

// See if there are any more requests to dispatch
QCoreApplication::postEvent(this, new QEvent(QEvent::UpdateRequest));
requestUpdate();
}

void SeasideCache::makePopulated(FilterType filter)
Expand Down

0 comments on commit 662e683

Please sign in to comment.