diff options
author | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-10-20 15:50:52 +0200 |
---|---|---|
committer | Christian Mollekopf <chrigi_1@fastmail.fm> | 2015-10-20 15:50:52 +0200 |
commit | 7a456d8a8687d7a960c0f8c4bfb18eed3754404c (patch) | |
tree | fd3e77c5ff6885fcf5a1dd7e1722197904b6ec65 /common/entitystorage.cpp | |
parent | 43c4cd555e4a265d3e484dfeea0aa05da0977cd0 (diff) | |
download | sink-7a456d8a8687d7a960c0f8c4bfb18eed3754404c.tar.gz sink-7a456d8a8687d7a960c0f8c4bfb18eed3754404c.zip |
Test & fix live query removals
Diffstat (limited to 'common/entitystorage.cpp')
-rw-r--r-- | common/entitystorage.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/common/entitystorage.cpp b/common/entitystorage.cpp index 63017dd..5d4df9f 100644 --- a/common/entitystorage.cpp +++ b/common/entitystorage.cpp | |||
@@ -27,7 +27,8 @@ ResultSet EntityStorageBase::filteredSet(const ResultSet &resultSet, const std:: | |||
27 | std::function<bool(std::function<void(const Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr &, Akonadi2::Operation)>)> generator = [this, resultSetPtr, &transaction, filter, initialQuery](std::function<void(const Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr &, Akonadi2::Operation)> callback) -> bool { | 27 | std::function<bool(std::function<void(const Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr &, Akonadi2::Operation)>)> generator = [this, resultSetPtr, &transaction, filter, initialQuery](std::function<void(const Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr &, Akonadi2::Operation)> callback) -> bool { |
28 | while (resultSetPtr->next()) { | 28 | while (resultSetPtr->next()) { |
29 | readEntity(transaction, resultSetPtr->id(), [this, filter, callback, initialQuery](const Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr &domainObject, Akonadi2::Operation operation) { | 29 | readEntity(transaction, resultSetPtr->id(), [this, filter, callback, initialQuery](const Akonadi2::ApplicationDomain::ApplicationDomainType::Ptr &domainObject, Akonadi2::Operation operation) { |
30 | if (filter(domainObject)) { | 30 | //Always remove removals, they probably don't match due to non-available properties |
31 | if (filter(domainObject) || operation == Akonadi2::Operation_Removal) { | ||
31 | if (initialQuery) { | 32 | if (initialQuery) { |
32 | //We're not interested in removals during the initial query | 33 | //We're not interested in removals during the initial query |
33 | if (operation != Akonadi2::Operation_Removal) { | 34 | if (operation != Akonadi2::Operation_Removal) { |