Do not allow inline styles to replace mode-style for the selected item,

from Alexis Hildebrandt in GitHub issue 2946.
This commit is contained in:
nicm
2021-10-26 12:22:23 +00:00
parent 197a116f5a
commit 5745bd27fd
5 changed files with 15 additions and 8 deletions

View File

@ -677,7 +677,8 @@ format_draw_many(struct screen_write_ctx *ctx, struct style *sy, char ch,
/* Draw a format to a screen. */
void
format_draw(struct screen_write_ctx *octx, const struct grid_cell *base,
u_int available, const char *expanded, struct style_ranges *srs)
u_int available, const char *expanded, struct style_ranges *srs,
int default_colours)
{
enum { LEFT,
CENTRE,
@ -819,6 +820,10 @@ format_draw(struct screen_write_ctx *octx, const struct grid_cell *base,
log_debug("%s: style '%s' -> '%s'", __func__, tmp,
style_tostring(&sy));
free(tmp);
if (default_colours) {
sy.gc.bg = base->bg;
sy.gc.fg = base->fg;
}
/* If this style has a fill colour, store it for later. */
if (sy.fill != 8)