From 7edeea350332427b1045e79a457cddb2e6f812bc Mon Sep 17 00:00:00 2001 From: Boris Faure Date: Tue, 17 Mar 2015 17:15:50 +0100 Subject: [PATCH] correctly swap term states. Ref T725 --- src/bin/termpty.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/bin/termpty.c b/src/bin/termpty.c index f4271a92..ad3ab815 100644 --- a/src/bin/termpty.c +++ b/src/bin/termpty.c @@ -1101,15 +1101,24 @@ termpty_screen_swap(Termpty *ty) { Termcell *tmp_screen; int tmp_circular_offset; + Termstate tmp; tmp_screen = ty->screen; ty->screen = ty->screen2; ty->screen2 = tmp_screen; if (ty->altbuf) - ty->state = ty->swap; + { + tmp = ty->state; + ty->state = ty->swap; + ty->swap = tmp; + } else - ty->swap = ty->state; + { + tmp = ty->swap; + ty->swap = ty->state; + ty->state = tmp; + } tmp_circular_offset = ty->circular_offset; ty->circular_offset = ty->circular_offset2;