From 96c5aebe74d3281659673a5f2b6cb2bac170a7fe Mon Sep 17 00:00:00 2001 From: root Date: Wed, 5 Nov 2008 00:01:01 +0000 Subject: [PATCH] *** empty log message *** --- Changes | 2 ++ src/screen.C | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/Changes b/Changes index a5d1d638..aa0c81b9 100644 --- a/Changes +++ b/Changes @@ -57,6 +57,8 @@ TODO: cursor over overlays, when focus change? as mouse reporting. - redundantly clear mouse reporting and a few other states in tput init/tput reset, for older urxvts. + - partial/full clear screens did cause flickering and possibly pixel + droppings when urxvt viewed the scorllback buffer. 9.05 Sun Jun 15 20:09:20 CEST 2008 - new option --cd/chdir to set the starting working directory. diff --git a/src/screen.C b/src/screen.C index 0c1d989d..e94dc2e8 100644 --- a/src/screen.C +++ b/src/screen.C @@ -1344,7 +1344,9 @@ rxvt_term::scr_erase_screen (int mode) NOTHROW min_it (num, nrow - row); - /*TODO: the xlceararea/xfillrectangle below don't take scroll offste into account, ask mikachu for details */ + // TODO: the code below does not work when view_start != 0 + // the workaround is to disable the clear and use a normal refresh + // when view_start != 0. mysterious. if (rstyle & (RS_RVid | RS_Uline)) ren = (rend_t) ~RS_None; else if (GET_BASEBG (rstyle) == Color_bg) @@ -1376,6 +1378,7 @@ rxvt_term::scr_erase_screen (int mode) NOTHROW for (; num--; row++) { scr_blank_screen_mem (ROW(row), rstyle); + if (!view_start) scr_blank_line (drawn_buf [row], 0, ncol, ren); } -- 2.34.1