tFixing a off-by-one error in the penultimate row drawing. - st - [fork] custom… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit ac4c6da4ef9b05e2886c26272745effc4f975042 | |
parent 4d37763ee767d0c8bd8425744c3375817967dda3 | |
Author: Christoph Lohmann <[email protected]> | |
Date: Sat, 22 Dec 2012 13:39:27 +0100 | |
Fixing a off-by-one error in the penultimate row drawing. | |
Diffstat: | |
M st.c | 15 +++++++++------ | |
1 file changed, 9 insertions(+), 6 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -2248,7 +2248,7 @@ xtermclear(int col1, int row1, int col2, int row2) { | |
void | |
xclear(int x1, int y1, int x2, int y2) { | |
XftDrawRect(xw.draw, | |
- &dc.col[IS_SET(MODE_REVERSE) ? defaultfg : defaultbg], | |
+ &dc.col[IS_SET(MODE_REVERSE)? defaultfg : defaultbg], | |
x1, y1, x2-x1, y2-y1); | |
} | |
t@@ -2515,8 +2515,11 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, … | |
} | |
} | |
- if(base.mode & ATTR_REVERSE) | |
- temp = fg, fg = bg, bg = temp; | |
+ if(base.mode & ATTR_REVERSE) { | |
+ temp = fg; | |
+ fg = bg; | |
+ bg = temp; | |
+ } | |
XftTextExtentsUtf8(xw.dpy, font->set, (FcChar8 *)s, bytelen, | |
&extents); | |
t@@ -2525,11 +2528,11 @@ xdraws(char *s, Glyph base, int x, int y, int charlen,… | |
/* Intelligent cleaning up of the borders. */ | |
if(x == 0) { | |
xclear(0, (y == 0)? 0 : winy, borderpx, | |
- winy + xw.ch + ((y == term.row-1)? xw.h : 0)); | |
+ winy + xw.ch + ((y >= term.row-1)? xw.h : 0)); | |
} | |
- if(x + charlen >= term.col-1) { | |
+ if(x + charlen >= term.col) | |
xclear(winx + width, (y == 0)? 0 : winy, xw.w, | |
- ((y == term.row-1)? xw.h : (winy + xw.ch))); | |
+ ((y >= term.row-1)? xw.h : (winy + xw.ch))); | |
} | |
if(y == 0) | |
xclear(winx, 0, winx + width, borderpx); |