summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fe-text/gui-printtext.c4
-rw-r--r--src/fe-text/textbuffer-view.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/fe-text/gui-printtext.c b/src/fe-text/gui-printtext.c
index 3bd1de36..affd2b9f 100644
--- a/src/fe-text/gui-printtext.c
+++ b/src/fe-text/gui-printtext.c
@@ -244,8 +244,8 @@ static void sig_gui_print_text(WINDOW_REC *window, void *fgcolor,
if (window == NULL) {
g_return_if_fail(next_xpos != -1);
- attr |= fg > 0 ? fg : ATTR_RESETFG;
- attr |= bg > 0 ? (bg << 4) : ATTR_RESETBG;
+ attr |= fg >= 0 ? fg : ATTR_RESETFG;
+ attr |= bg >= 0 ? (bg << 4) : ATTR_RESETBG;
term_set_color(root_window, attr);
term_move(root_window, next_xpos, next_ypos);
diff --git a/src/fe-text/textbuffer-view.c b/src/fe-text/textbuffer-view.c
index a5d7f2ed..d98fc85c 100644
--- a/src/fe-text/textbuffer-view.c
+++ b/src/fe-text/textbuffer-view.c
@@ -114,7 +114,7 @@ static void update_cmd_color(unsigned char cmd, int *color)
if ((cmd & LINE_COLOR_DEFAULT) == 0)
*color |= (cmd & 0x0f) << 4;
else {
- *color |= ATTR_RESETBG;
+ *color = (*color & FGATTR) | ATTR_RESETBG;
if (cmd & LINE_COLOR_BLINK)
*color |= ATTR_BLINK;
}
@@ -124,7 +124,7 @@ static void update_cmd_color(unsigned char cmd, int *color)
if ((cmd & LINE_COLOR_DEFAULT) == 0)
*color |= cmd & 0x0f;
else {
- *color |= ATTR_RESETFG;
+ *color = (*color & BGATTR) | ATTR_RESETFG;
if (cmd & LINE_COLOR_BOLD)
*color |= ATTR_BOLD;
}