Quellcode durchsuchen

Simplify cursor color handling

Jules Maselbas vor 6 Jahren
Ursprung
Commit
1911c9274d
1 geänderte Dateien mit 12 neuen und 18 gelöschten Zeilen
  1. 12 18
      x.c

+ 12 - 18
x.c

@@ -1418,25 +1418,19 @@ 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 (IS_SET(MODE_REVERSE)) {
-		g.mode |= ATTR_REVERSE;
-		g.bg = defaultfg;
-		if (selected(cx, cy)) {
-			drawcol = dc.col[defaultcs];
-			g.fg = defaultrcs;
-		} else {
-			drawcol = dc.col[defaultrcs];
-			g.fg = defaultcs;
-		}
+	if (selected(cx, cy)) {
+		g.bg = defaultrcs;
+		g.fg = defaultfg;
 	} else {
-		if (selected(cx, cy)) {
-			g.fg = defaultfg;
-			g.bg = defaultrcs;
-		} else {
-			g.fg = defaultbg;
-			g.bg = defaultcs;
-		}
-		drawcol = dc.col[g.bg];
+		g.bg = defaultcs;
+		g.fg = defaultbg;
+	}
+	drawcol = dc.col[g.bg];
+
+	if (IS_SET(MODE_REVERSE)) {
+		drawcol.color.red = ~drawcol.color.red;
+		drawcol.color.green = ~drawcol.color.green;
+		drawcol.color.blue = ~drawcol.color.blue;
 	}
 
 	/* draw the new one */