Normalize the whole color selection in xdrawcursor.
This commit is contained in:
		
							
								
								
									
										25
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								st.c
									
									
									
									
									
								
							| @@ -3850,12 +3850,29 @@ xdrawcursor(void) | |||||||
| 	xdrawglyph(og, oldx, oldy); | 	xdrawglyph(og, oldx, oldy); | ||||||
|  |  | ||||||
| 	g.u = term.line[term.c.y][term.c.x].u; | 	g.u = term.line[term.c.y][term.c.x].u; | ||||||
|  |  | ||||||
|  | 	/* | ||||||
|  | 	 * Select the right color for the right mode. | ||||||
|  | 	 */ | ||||||
|  | 	if (IS_SET(MODE_REVERSE)) { | ||||||
|  | 		g.mode |= ATTR_REVERSE; | ||||||
|  | 		g.bg = defaultfg; | ||||||
| 		if (ena_sel && selected(term.c.x, term.c.y)) { | 		if (ena_sel && selected(term.c.x, term.c.y)) { | ||||||
|  | 			drawcol = dc.col[defaultcs]; | ||||||
|  | 			g.fg = defaultrcs; | ||||||
|  | 		} else { | ||||||
| 			drawcol = dc.col[defaultrcs]; | 			drawcol = dc.col[defaultrcs]; | ||||||
|  | 			g.fg = defaultcs; | ||||||
|  | 		} | ||||||
|  | 	} else { | ||||||
| 		g.fg = defaultfg; | 		g.fg = defaultfg; | ||||||
| 		g.bg = defaultrcs; | 		if (ena_sel && selected(term.c.x, term.c.y)) { | ||||||
|  | 			g.bg = defaultcs; | ||||||
|  | 			drawcol = dc.col[defaultrcs]; | ||||||
| 		} else { | 		} else { | ||||||
| 			drawcol = dc.col[defaultcs]; | 			drawcol = dc.col[defaultcs]; | ||||||
|  | 			g.bg = defaultrcs; | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	if (IS_SET(MODE_HIDE)) | 	if (IS_SET(MODE_HIDE)) | ||||||
| @@ -3869,12 +3886,6 @@ xdrawcursor(void) | |||||||
| 		case 0: /* Blinking Block */ | 		case 0: /* Blinking Block */ | ||||||
| 		case 1: /* Blinking Block (Default) */ | 		case 1: /* Blinking Block (Default) */ | ||||||
| 		case 2: /* Steady Block */ | 		case 2: /* Steady Block */ | ||||||
| 			if (IS_SET(MODE_REVERSE)) { |  | ||||||
| 				g.mode |= ATTR_REVERSE; |  | ||||||
| 				g.fg = defaultcs; |  | ||||||
| 				g.bg = defaultfg; |  | ||||||
| 			} |  | ||||||
|  |  | ||||||
| 			g.mode |= term.line[term.c.y][curx].mode & ATTR_WIDE; | 			g.mode |= term.line[term.c.y][curx].mode & ATTR_WIDE; | ||||||
| 			xdrawglyph(g, term.c.x, term.c.y); | 			xdrawglyph(g, term.c.x, term.c.y); | ||||||
| 			break; | 			break; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user