diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/xfaces.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/xfaces.c b/src/xfaces.c index 6e06d56ba1d..94397cd7f99 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -6093,7 +6093,14 @@ face_at_buffer_position (struct window *w, ptrdiff_t pos, | |||
| 6093 | int face_id; | 6093 | int face_id; |
| 6094 | 6094 | ||
| 6095 | if (base_face_id >= 0) | 6095 | if (base_face_id >= 0) |
| 6096 | face_id = base_face_id; | 6096 | { |
| 6097 | face_id = base_face_id; | ||
| 6098 | /* Make sure the base face ID is usable: if someone freed the | ||
| 6099 | cached faces since we've looked up the base face, we need | ||
| 6100 | to look it up again. */ | ||
| 6101 | if (!FACE_FROM_ID_OR_NULL (f, face_id)) | ||
| 6102 | face_id = lookup_basic_face (f, DEFAULT_FACE_ID); | ||
| 6103 | } | ||
| 6097 | else if (NILP (Vface_remapping_alist)) | 6104 | else if (NILP (Vface_remapping_alist)) |
| 6098 | face_id = DEFAULT_FACE_ID; | 6105 | face_id = DEFAULT_FACE_ID; |
| 6099 | else | 6106 | else |