changeset: 7085:0e3730ed2c3c
user:      Kevin McCarthy <ke...@8t8.us>
date:      Mon Jun 12 18:29:48 2017 -0700
link:      http://dev.mutt.org/hg/mutt/rev/0e3730ed2c3c

Force hard redraw after $sendmail instead of calling mutt_endwin. (closes 
#3952) (see #3948)

Adding a mutt_endwin() seemed like a clean solution to allowing
ncurses pinentry for $sendmail, but it leaves other users watching a
blank screen.  This change is extremely likely to generate a large
number of complaints and bug reports.  So instead, force a hard
refresh afterwards.

diffs (18 lines):

diff -r 26cbf2cac701 -r 0e3730ed2c3c sendlib.c
--- a/sendlib.c Mon Jun 12 17:57:05 2017 -0700
+++ b/sendlib.c Mon Jun 12 18:29:48 2017 -0700
@@ -2446,7 +2446,13 @@
 
   args[argslen++] = NULL;
 
-  mutt_endwin (NULL);
+  /* Some user's $sendmail command uses gpg for password decryption,
+   * and is set up to prompt using ncurses pinentry.  If we
+   * mutt_endwin() it leaves other users staring at a blank screen.
+   * So instead, just force a hard redraw on the next refresh. */
+  if (!option (OPTNOCURSES))
+    mutt_need_hard_redraw ();
+
   if ((i = send_msg (path, args, msg, option(OPTNOCURSES) ? NULL : &childout)) 
!= (EX_OK & 0xff))
   {
     if (i != S_BKG)

Reply via email to