From 05327773d905adae7871adffdae15554a5616a3c Mon Sep 17 00:00:00 2001 From: vE5li Date: Wed, 27 Sep 2023 18:23:18 +0200 Subject: [PATCH] Fix text color when `cursor-color` is set (#1901) * Fix text color when cursor color is set * Add comment --- source/widgets/textbox.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/widgets/textbox.c b/source/widgets/textbox.c index c1f0eabcd..592504039 100644 --- a/source/widgets/textbox.c +++ b/source/widgets/textbox.c @@ -540,6 +540,9 @@ static void textbox_draw(widget *wid, cairo_t *draw) { tb->cursor_x_pos = x + cursor_x; } if (tb->blink) { + // This save/restore state is necessary to render the text in the + // correct color when `cursor-color` is set + cairo_save(draw); // use text color as fallback for themes that don't specify the cursor // color rofi_theme_get_color(WIDGET(tb), "cursor-color", draw); @@ -555,6 +558,7 @@ static void textbox_draw(widget *wid, cairo_t *draw) { } else { cairo_fill(draw); } + cairo_restore(draw); } }