[geary/wip/search-fixes: 23/27] Fix occasional infinite filling in ConversationMonitor
- From: Michael Gratton <mjog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [geary/wip/search-fixes: 23/27] Fix occasional infinite filling in ConversationMonitor
- Date: Tue, 6 Aug 2019 12:46:05 +0000 (UTC)
commit 99ea5c2b6a14620ca24b381c7d8f0037a73b2e9c
Author: Michael Gratton <mike vee net>
Date: Mon Aug 5 18:32:05 2019 +1000
Fix occasional infinite filling in ConversationMonitor
Add successive fill operations via idle callbacks so that the monitor
doesn't get stuck immediately queuing and executing another fill op
when the first one doesn't return any mesages.
src/engine/app/app-conversation-monitor.vala | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
---
diff --git a/src/engine/app/app-conversation-monitor.vala b/src/engine/app/app-conversation-monitor.vala
index 14d5ff55..c7ceed4d 100644
--- a/src/engine/app/app-conversation-monitor.vala
+++ b/src/engine/app/app-conversation-monitor.vala
@@ -365,7 +365,12 @@ public class Geary.App.ConversationMonitor : BaseObject {
if (this.is_monitoring &&
this.can_load_more &&
this.conversations.size < this.min_window_count) {
- this.queue.add(new FillWindowOperation(this));
+ GLib.Idle.add(
+ () => {
+ this.queue.add(new FillWindowOperation(this));
+ return GLib.Source.REMOVE;
+ }
+ );
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]