mutt stable branch with some hacks
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Fix segv in IMAP postponed menu caused by reopen_allow.

imap_open_mailbox() leaves IMAP_REOPEN_ALLOW set for the connection.
I noticed this previously but didn't bother untangling the logic yet
because the index always calls mx_check_mailbox() right away, which
unsets the flag.

However, when debugging the segv for commit 51729d8d I realized the
postponed menu/context also suffers from the problem, leaving the menu
ripe for segvs due to unmanaged expunges.

I believe imap_read_headers() turns it off and back on to avoid
goofing up imap_cmd_finish() when a reopen *is* allowed.

The logic needs to be cleaned up and fixed. However for a stable
branch fix, I'm am taking a conservative approach and just calling
mx_check_mailbox() to turn it back off.

+12
+12
postpone.c
··· 254 254 return (-1); 255 255 } 256 256 257 + /* TODO: 258 + * mx_open_mailbox() for IMAP leaves IMAP_REOPEN_ALLOW set. For the 259 + * index this is papered-over because it calls mx_check_mailbox() 260 + * every event loop (which resets that flag). 261 + * 262 + * For a stable-branch fix, I'm doing the same here, to prevent 263 + * context changes from occuring behind the scenes and causing 264 + * segvs, but probably the flag needs to be reset after downloading 265 + * headers in imap_open_mailbox(). 266 + */ 267 + mx_check_mailbox (PostContext, NULL); 268 + 257 269 if (! PostContext->msgcount) 258 270 { 259 271 PostCount = 0;