diff options
| author | Eli Zaretskii | 2024-10-26 11:18:41 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2024-10-26 11:18:41 +0300 |
| commit | 33586db3d34bcbe6441d98542df2b3370a1e2622 (patch) | |
| tree | fb35aa9d2784fd1be9308ba1fbe3e8ad9c8ae5f2 | |
| parent | 9b8d1e0addeca9b508324537e7743d0af508a630 (diff) | |
| download | emacs-33586db3d34bcbe6441d98542df2b3370a1e2622.tar.gz emacs-33586db3d34bcbe6441d98542df2b3370a1e2622.zip | |
Adapt w32 console to tty-child-frame changes
* src/w32console.c (w32con_write_glyphs): Use the glyph's frame,
not the root frame, to resolve faces from face IDs.
| -rw-r--r-- | src/w32console.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/w32console.c b/src/w32console.c index 7dcbc795cac..b9a84bbf86a 100644 --- a/src/w32console.c +++ b/src/w32console.c | |||
| @@ -327,14 +327,19 @@ w32con_write_glyphs (struct frame *f, register struct glyph *string, | |||
| 327 | { | 327 | { |
| 328 | /* Identify a run of glyphs with the same face. */ | 328 | /* Identify a run of glyphs with the same face. */ |
| 329 | int face_id = string->face_id; | 329 | int face_id = string->face_id; |
| 330 | /* Since this is called to deliver the frame glyph matrix to the | ||
| 331 | glass, some of the glyphs might be from a child frame, which | ||
| 332 | affects the interpretation of face ID. */ | ||
| 333 | struct frame *face_id_frame = string->frame ? string->frame : f; | ||
| 330 | int n; | 334 | int n; |
| 331 | 335 | ||
| 332 | for (n = 1; n < len; ++n) | 336 | for (n = 1; n < len; ++n) |
| 333 | if (string[n].face_id != face_id) | 337 | if (!(string[n].face_id == face_id |
| 338 | && string[n].frame == face_id_frame)) | ||
| 334 | break; | 339 | break; |
| 335 | 340 | ||
| 336 | /* Turn appearance modes of the face of the run on. */ | 341 | /* Turn appearance modes of the face of the run on. */ |
| 337 | char_attr = w32_face_attributes (f, face_id); | 342 | char_attr = w32_face_attributes (face_id_frame, face_id); |
| 338 | 343 | ||
| 339 | if (n == len) | 344 | if (n == len) |
| 340 | /* This is the last run. */ | 345 | /* This is the last run. */ |