billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=05d091483a29e7937914e9fd4e94d0c6d9043aad

commit 05d091483a29e7937914e9fd4e94d0c6d9043aad
Author: Boris Faure <bill...@gmail.com>
Date:   Thu Dec 5 22:46:39 2013 +0100

    fix changing state when swapping buffers. Closes T605
    
    For some reason, this is not a real swap. Thanks to gregkh for the great
    bug report.
---
 src/bin/termpty.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/bin/termpty.c b/src/bin/termpty.c
index 5f711d5..2fedba9 100644
--- a/src/bin/termpty.c
+++ b/src/bin/termpty.c
@@ -1013,16 +1013,16 @@ void
 termpty_screen_swap(Termpty *ty)
 {
    Termcell *tmp_screen;
-   Termstate tmp_state;
    int tmp_circular_offset;
 
    tmp_screen = ty->screen;
    ty->screen = ty->screen2;
    ty->screen2 = tmp_screen;
 
-   tmp_state = ty->state;
-   ty->state = ty->swap;
-   ty->swap = tmp_state;
+   if (ty->altbuf)
+      ty->state = ty->swap;
+   else
+      ty->swap = ty->state;
 
    tmp_circular_offset = ty->circular_offset;
    ty->circular_offset = ty->circular_offset2;

-- 


Reply via email to