[geary/mjog/invert-folder-class-hierarchy] engine: Ensure that MinimalFolder email counts are always updated
- From: Michael Gratton <mjog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary/mjog/invert-folder-class-hierarchy] engine: Ensure that MinimalFolder email counts are always updated
- Date: Sun, 7 Mar 2021 10:29:18 +0000 (UTC)
commit 5351acca94e4ddbef062d80daba62bf5d217cf13
Author: Michael Gratton <mike vee net>
Date: Sun Mar 7 21:27:04 2021 +1100
engine: Ensure that MinimalFolder email counts are always updated
Any call to `ImapDB.Folder.create_or_update` needs to be followed by
updating the folder's email counts otherwise, addition, removal or
flag changes could put the numbers out.
src/engine/imap-engine/replay-ops/imap-engine-create-email.vala | 1 +
src/engine/imap-engine/replay-ops/imap-engine-expand-vector.vala | 1 +
src/engine/imap-engine/replay-ops/imap-engine-fetch-email.vala | 1 +
3 files changed, 3 insertions(+)
---
diff --git a/src/engine/imap-engine/replay-ops/imap-engine-create-email.vala
b/src/engine/imap-engine/replay-ops/imap-engine-create-email.vala
index 76bab6f49..a0f9c260a 100644
--- a/src/engine/imap-engine/replay-ops/imap-engine-create-email.vala
+++ b/src/engine/imap-engine/replay-ops/imap-engine-create-email.vala
@@ -70,6 +70,7 @@ private class Geary.ImapEngine.CreateEmail : SendReplayOperation {
this.engine.harvester,
this.cancellable
);
+ yield this.engine.update_email_counts(cancellable);
if (results.size > 0) {
this.created_id = Collection.first(results.keys).id;
diff --git a/src/engine/imap-engine/replay-ops/imap-engine-expand-vector.vala
b/src/engine/imap-engine/replay-ops/imap-engine-expand-vector.vala
index 4e2403c78..e821f5301 100644
--- a/src/engine/imap-engine/replay-ops/imap-engine-expand-vector.vala
+++ b/src/engine/imap-engine/replay-ops/imap-engine-expand-vector.vala
@@ -149,6 +149,7 @@ private class Geary.ImapEngine.ExpandVector : ReplayOperation {
yield this.engine.local_folder.create_or_merge_email_async(
list, this.engine.harvester, cancellable
);
+ yield this.engine.update_email_counts(this.cancellable);
foreach (Email email in created_or_merged.keys) {
if (created_or_merged.get(email)) {
diff --git a/src/engine/imap-engine/replay-ops/imap-engine-fetch-email.vala
b/src/engine/imap-engine/replay-ops/imap-engine-fetch-email.vala
index 986b512cb..977ca55b2 100644
--- a/src/engine/imap-engine/replay-ops/imap-engine-fetch-email.vala
+++ b/src/engine/imap-engine/replay-ops/imap-engine-fetch-email.vala
@@ -64,6 +64,7 @@ private class Geary.ImapEngine.FetchEmail : SendReplayOperation {
this.engine.harvester,
cancellable
);
+ yield this.engine.update_email_counts(this.cancellable);
this.fetched_email.add_all(updated.keys);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]