From: Eli Zaretskii Date: Wed, 10 May 2017 17:06:15 +0000 (+0300) Subject: Ensure cursor's foreground color is in sync with 'default' face X-Git-Tag: emacs-26.0.90~521^2~419 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e124e07faede2f2d4c6f16af84d796f6305cb8d9;p=emacs.git Ensure cursor's foreground color is in sync with 'default' face * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its foreground color is different from the background of the glyph string's face. (Bug#26851) --- diff --git a/src/w32term.c b/src/w32term.c index 0f9dce9190c..712bdae5fc3 100644 --- a/src/w32term.c +++ b/src/w32term.c @@ -954,6 +954,10 @@ x_set_cursor_gc (struct glyph_string *s) if (s->font == FRAME_FONT (s->f) && s->face->background == FRAME_BACKGROUND_PIXEL (s->f) && s->face->foreground == FRAME_FOREGROUND_PIXEL (s->f) + /* Sometimes we are not called for each change in the default + face's background color (e.g., bug#26851), so the additional + test in the next line gives us a chance to resync. */ + && s->f->output_data.w32->cursor_gc->foreground == s->face->background && !s->cmp) s->gc = s->f->output_data.w32->cursor_gc; else