Fixing a off-by-one error in the penultimate row drawing.
This commit is contained in:
		
							
								
								
									
										15
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								st.c
									
									
									
									
									
								
							| @@ -2248,7 +2248,7 @@ xtermclear(int col1, int row1, int col2, int row2) { | |||||||
| void | void | ||||||
| xclear(int x1, int y1, int x2, int y2) { | xclear(int x1, int y1, int x2, int y2) { | ||||||
| 	XftDrawRect(xw.draw, | 	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); | 			x1, y1, x2-x1, y2-y1); | ||||||
| } | } | ||||||
|  |  | ||||||
| @@ -2515,8 +2515,11 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) { | |||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if(base.mode & ATTR_REVERSE) | 	if(base.mode & ATTR_REVERSE) { | ||||||
| 		temp = fg, fg = bg, bg = temp; | 		temp = fg; | ||||||
|  | 		fg = bg; | ||||||
|  | 		bg = temp; | ||||||
|  | 	} | ||||||
|  |  | ||||||
| 	XftTextExtentsUtf8(xw.dpy, font->set, (FcChar8 *)s, bytelen, | 	XftTextExtentsUtf8(xw.dpy, font->set, (FcChar8 *)s, bytelen, | ||||||
| 			&extents); | 			&extents); | ||||||
| @@ -2525,11 +2528,11 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) { | |||||||
| 	/* Intelligent cleaning up of the borders. */ | 	/* Intelligent cleaning up of the borders. */ | ||||||
| 	if(x == 0) { | 	if(x == 0) { | ||||||
| 		xclear(0, (y == 0)? 0 : winy, borderpx, | 		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, | 		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) | 	if(y == 0) | ||||||
| 		xclear(winx, 0, winx + width, borderpx); | 		xclear(winx, 0, winx + width, borderpx); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user