gjdwebserver-overlay/mail-client/geary/files/0022-Geary.Imap.Session-Avoid-critical-when-client-sessio.patch

36 lines
1.3 KiB
Diff
Raw Normal View History

2021-03-01 15:30:25 +01:00
From 2093aa32292e11455648d62d8b7a992532aac04e Mon Sep 17 00:00:00 2001
From: Michael Gratton <mike@vee.net>
Date: Wed, 23 Sep 2020 08:44:04 +1000
Subject: [PATCH 022/124] Geary.Imap.Session: Avoid critical when client
session logged out
If the client session is being logging out but some other tasks is
still attempting to use it, getting a mailbox will assume at least
one personal namespace exists, but it will have been cleared.
Add a check and throw an exception if none are present, so at least
it is handled in a well defined way.
Fixes #986
---
src/engine/imap/transport/imap-client-session.vala | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/engine/imap/transport/imap-client-session.vala b/src/engine/imap/transport/imap-client-session.vala
index f42112f2..81d892ef 100644
--- a/src/engine/imap/transport/imap-client-session.vala
+++ b/src/engine/imap/transport/imap-client-session.vala
@@ -599,6 +599,9 @@ public class Geary.Imap.ClientSession : BaseObject, Logging.Source {
}
if (ns == null) {
// fall back to the default personal namespace
+ if (this.personal_namespaces.is_empty) {
+ throw new ImapError.UNAVAILABLE("No personal namespace");
+ }
ns = this.personal_namespaces[0];
}
--
2.29.2