billiob pushed a commit to branch master.

http://git.enlightenment.org/apps/terminology.git/commit/?id=7ac685b68ca7da8388010372a41ec08bd92be618

commit 7ac685b68ca7da8388010372a41ec08bd92be618
Author: Boris Faure <bill...@gmail.com>
Date:   Mon Jun 26 21:58:59 2017 +0200

    termpty: DECERA only changes codepoints
---
 src/bin/termpty.c    | 13 +++++++++++++
 src/bin/termpty.h    |  2 ++
 src/bin/termptyesc.c |  2 +-
 3 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/src/bin/termpty.c b/src/bin/termpty.c
index 90a080f..2357576 100644
--- a/src/bin/termpty.c
+++ b/src/bin/termpty.c
@@ -1586,6 +1586,19 @@ termpty_cell_fill(Termpty *ty, Termcell *src, Termcell 
*dst, int n)
 }
 
 void
+termpty_cells_set_content(Termpty *ty, Termcell *cells,
+                          Eina_Unicode codepoint, int count)
+{
+   int i;
+   for (i = 0; i < count; i++)
+     {
+        _handle_block_codepoint_overwrite(ty, cells[i].codepoint, codepoint);
+        cells[i].codepoint = codepoint;
+     }
+}
+
+
+void
 termpty_cell_codepoint_att_fill(Termpty *ty, Eina_Unicode codepoint,
                                 Termatt att, Termcell *dst, int n)
 {
diff --git a/src/bin/termpty.h b/src/bin/termpty.h
index aab9df5..c859401 100644
--- a/src/bin/termpty.h
+++ b/src/bin/termpty.h
@@ -255,6 +255,8 @@ Termblock *termpty_block_chid_get(Termpty *ty, const char 
*chid);
 void       termpty_cell_copy(Termpty *ty, Termcell *src, Termcell *dst, int n);
 void       termpty_cell_fill(Termpty *ty, Termcell *src, Termcell *dst, int n);
 void       termpty_cell_codepoint_att_fill(Termpty *ty, Eina_Unicode 
codepoint, Termatt att, Termcell *dst, int n);
+void       termpty_cells_set_content(Termpty *ty, Termcell *cells,
+                          Eina_Unicode codepoint, int count);
 void       termpty_screen_swap(Termpty *ty);
 
 ssize_t termpty_line_length(const Termcell *cells, ssize_t nb_cells);
diff --git a/src/bin/termptyesc.c b/src/bin/termptyesc.c
index 26211f9..6794d2c 100644
--- a/src/bin/termptyesc.c
+++ b/src/bin/termptyesc.c
@@ -930,7 +930,7 @@ _handle_esc_csi_decera(Termpty *ty, Eina_Unicode **b)
    for (; top <= bottom; top++)
      {
         Termcell *cells = &(TERMPTY_SCREEN(ty, left, top));
-        termpty_cells_clear(ty, cells, len);
+        termpty_cells_set_content(ty, cells, ' ', len);
      }
 }
 

-- 


Reply via email to