summaryrefslogtreecommitdiff
path: root/src/w32term.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2017-05-10 20:06:15 +0300
committerEli Zaretskii <eliz@gnu.org>2017-05-10 20:06:15 +0300
commite124e07faede2f2d4c6f16af84d796f6305cb8d9 (patch)
tree8801051e0d954f5f3fd2564be5b1150a3cc608b5 /src/w32term.c
parentde53dfcea3e1fdc6af171678300deb591b509cc4 (diff)
downloademacs-e124e07faede2f2d4c6f16af84d796f6305cb8d9.tar.gz
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)
Diffstat (limited to 'src/w32term.c')
-rw-r--r--src/w32term.c4
1 files changed, 4 insertions, 0 deletions
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