summaryrefslogtreecommitdiff
path: root/alpine/signal.c
diff options
context:
space:
mode:
authorEduardo Chappa <chappa@washington.edu>2013-08-19 19:58:31 -0600
committerEduardo Chappa <chappa@washington.edu>2013-08-19 19:58:31 -0600
commit93ff1074e538a1d60a04d79a3628d598d301e02e (patch)
tree876be5ef903e900520114793e92b3a87604ec98f /alpine/signal.c
parentdd9bd7bac749b3908a406d78ce02fb7a39ef81c8 (diff)
downloadalpine-93ff1074e538a1d60a04d79a3628d598d301e02e.tar.xz
* Automatically redraw screen after opening an attachment instead of
simply clearing it.
Diffstat (limited to 'alpine/signal.c')
-rw-r--r--alpine/signal.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/alpine/signal.c b/alpine/signal.c
index 1e027e51..681c16fd 100644
--- a/alpine/signal.c
+++ b/alpine/signal.c
@@ -591,8 +591,10 @@ pipe_callback(PIPE_S *syspipe, int flags, void *data)
ps_global->mangled_screen = 1;
}
- if(syspipe->mode & PIPE_RESET)
+ if(syspipe->mode & PIPE_RESET){
ttyfix(1);
+ ps_global->mangled_screen = 1;
+ }
#ifdef SIGCHLD
(void) signal(SIGCHLD, SIG_DFL);
@@ -644,8 +646,10 @@ pipe_callback(PIPE_S *syspipe, int flags, void *data)
#endif
}
else if(flags & OSB_POST_CLOSE){
- if(syspipe->mode & PIPE_RESET) /* restore our tty modes */
+ if(syspipe->mode & PIPE_RESET){ /* restore our tty modes */
ttyfix(1);
+ ps_global->mangled_screen = 1;
+ }
if(!(syspipe->mode & (PIPE_WRITE | PIPE_READ | PIPE_SILENT))){
ClearScreen(); /* No I/O to forked child */