Commit Diff


commit - d2173cd7162f89df4acaf9da8a30b5e5c0f2b9ab
commit + c2026a495097a7e3bcfe4b58e1b9e393433cf150
blob - 21afb529803a0a1402aaf43775c4589d74f6e5c7
blob + 4d543d19627f0e6dfb15b510ca4e8b46360987ee
--- st.c
+++ st.c
@@ -3301,8 +3301,6 @@ xdraws(char *s, Glyph base, int x, int y, int charlen,
 		XftDrawRect(xw.draw, fg, winx, winy + font->ascent + 1,
 				width, 1);
 	}
-	XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, winx, winy, width,
-			CEIL((font->ascent + font->descent) * chscale), winx, winy);
 
 	/* Reset clip to none. */
 	XftDrawSetClip(xw.draw, 0);
@@ -3401,6 +3399,8 @@ redraw(int timeout) {
 void
 draw(void) {
 	drawregion(0, 0, term.col, term.row);
+	XCopyArea(xw.dpy, xw.buf, xw.win, dc.gc, 0, 0, xw.w,
+			xw.h, 0, 0);
 	XSetForeground(xw.dpy, dc.gc,
 			dc.col[IS_SET(MODE_REVERSE)?
 				defaultfg : defaultbg].pixel);