Fix crash when cursor color is truecolor
Reported-by: Ivan Tham <pickfire@riseup.net>
This commit is contained in:
		
							parent
							
								
									b51bcd5553
								
							
						
					
					
						commit
						5535c1f04c
					
				
							
								
								
									
										17
									
								
								x.c
								
								
								
								
							
							
						
						
									
										17
									
								
								x.c
								
								
								
								
							|  | @ -1404,6 +1404,7 @@ void | |||
| xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) | ||||
| { | ||||
| 	Color drawcol; | ||||
| 	uint32_t cc; | ||||
| 
 | ||||
| 	/* remove the old cursor */ | ||||
| 	if (selected(ox, oy)) | ||||
|  | @ -1419,14 +1420,22 @@ xdrawcursor(int cx, int cy, Glyph g, int ox, int oy, Glyph og) | |||
| 	g.mode &= ATTR_BOLD|ATTR_ITALIC|ATTR_UNDERLINE|ATTR_STRUCK|ATTR_WIDE; | ||||
| 
 | ||||
| 	if (selected(cx, cy)) { | ||||
| 		drawcol = dc.col[g.bg]; | ||||
| 		cc = g.bg; | ||||
| 	} else { | ||||
| 		g.mode |= ATTR_REVERSE; | ||||
| 
 | ||||
| 		if (g.mode & ATTR_BOLD && BETWEEN(g.fg, 0, 7)) | ||||
| 			drawcol = dc.col[g.fg + 8]; | ||||
| 			cc = g.fg + 8; | ||||
| 		else | ||||
| 			drawcol = dc.col[g.fg]; | ||||
| 			cc = g.fg; | ||||
| 	} | ||||
| 
 | ||||
| 	if (IS_TRUECOL(cc)) { | ||||
| 		drawcol.color.alpha = 0xffff; | ||||
| 		drawcol.color.red = TRUERED(cc); | ||||
| 		drawcol.color.green = TRUEGREEN(cc); | ||||
| 		drawcol.color.blue = TRUEBLUE(cc); | ||||
| 	} else { | ||||
| 		drawcol = dc.col[cc]; | ||||
| 	} | ||||
| 
 | ||||
| 	if (IS_SET(MODE_REVERSE)) { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue