diff options
| author | Eli Zaretskii | 2017-05-10 20:06:15 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2017-05-10 20:06:15 +0300 |
| commit | e124e07faede2f2d4c6f16af84d796f6305cb8d9 (patch) | |
| tree | 8801051e0d954f5f3fd2564be5b1150a3cc608b5 | |
| parent | de53dfcea3e1fdc6af171678300deb591b509cc4 (diff) | |
| download | emacs-e124e07faede2f2d4c6f16af84d796f6305cb8d9.tar.gz emacs-e124e07faede2f2d4c6f16af84d796f6305cb8d9.zip | |
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)
| -rw-r--r-- | src/w32term.c | 4 |
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) | |||
| 954 | if (s->font == FRAME_FONT (s->f) | 954 | if (s->font == FRAME_FONT (s->f) |
| 955 | && s->face->background == FRAME_BACKGROUND_PIXEL (s->f) | 955 | && s->face->background == FRAME_BACKGROUND_PIXEL (s->f) |
| 956 | && s->face->foreground == FRAME_FOREGROUND_PIXEL (s->f) | 956 | && s->face->foreground == FRAME_FOREGROUND_PIXEL (s->f) |
| 957 | /* Sometimes we are not called for each change in the default | ||
| 958 | face's background color (e.g., bug#26851), so the additional | ||
| 959 | test in the next line gives us a chance to resync. */ | ||
| 960 | && s->f->output_data.w32->cursor_gc->foreground == s->face->background | ||
| 957 | && !s->cmp) | 961 | && !s->cmp) |
| 958 | s->gc = s->f->output_data.w32->cursor_gc; | 962 | s->gc = s->f->output_data.w32->cursor_gc; |
| 959 | else | 963 | else |