Fix crash when cursor color is truecolor
Reported-by: Ivan Tham <pickfire@riseup.net>
This commit is contained in:
		
				
					committed by
					
						 Hiltjo Posthuma
						Hiltjo Posthuma
					
				
			
			
				
	
			
			
			
						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)) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user