mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-04 11:00:45 -08:00
(Finternal_make_lisp_face, Finternal_copy_lisp_face)
(update_face_from_frame_parameter): Increment face_change_count and windows_or_buffers_changed to force redisplay using changed faces.
This commit is contained in:
parent
0fcf414f92
commit
33565969fc
1 changed files with 24 additions and 0 deletions
24
src/xfaces.c
24
src/xfaces.c
|
|
@ -3687,6 +3687,14 @@ Value is a vector of face attributes. */)
|
|||
else
|
||||
lface = global_lface;
|
||||
|
||||
/* Changing a named face means that all realized faces depending on
|
||||
that face are invalid. Since we cannot tell which realized faces
|
||||
depend on the face, make sure they are all removed. This is done
|
||||
by incrementing face_change_count. The next call to
|
||||
init_iterator will then free realized faces. */
|
||||
++face_change_count;
|
||||
++windows_or_buffers_changed;
|
||||
|
||||
xassert (LFACEP (lface));
|
||||
check_lface (lface);
|
||||
return lface;
|
||||
|
|
@ -3754,6 +3762,14 @@ Value is TO. */)
|
|||
bcopy (XVECTOR (lface)->contents, XVECTOR (copy)->contents,
|
||||
LFACE_VECTOR_SIZE * sizeof (Lisp_Object));
|
||||
|
||||
/* Changing a named face means that all realized faces depending on
|
||||
that face are invalid. Since we cannot tell which realized faces
|
||||
depend on the face, make sure they are all removed. This is done
|
||||
by incrementing face_change_count. The next call to
|
||||
init_iterator will then free realized faces. */
|
||||
++face_change_count;
|
||||
++windows_or_buffers_changed;
|
||||
|
||||
return to;
|
||||
}
|
||||
|
||||
|
|
@ -4264,6 +4280,14 @@ update_face_from_frame_parameter (f, param, new_value)
|
|||
if (NILP (f->face_alist))
|
||||
return;
|
||||
|
||||
/* Changing a named face means that all realized faces depending on
|
||||
that face are invalid. Since we cannot tell which realized faces
|
||||
depend on the face, make sure they are all removed. This is done
|
||||
by incrementing face_change_count. The next call to
|
||||
init_iterator will then free realized faces. */
|
||||
++face_change_count;
|
||||
++windows_or_buffers_changed;
|
||||
|
||||
if (EQ (param, Qforeground_color))
|
||||
{
|
||||
lface = lface_from_face_name (f, Qdefault, 1);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue