[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/xfaces.c
From: |
Richard M. Stallman |
Subject: |
[Emacs-diffs] Changes to emacs/src/xfaces.c |
Date: |
Wed, 13 Feb 2002 11:21:09 -0500 |
Index: emacs/src/xfaces.c
diff -c emacs/src/xfaces.c:1.249 emacs/src/xfaces.c:1.250
*** emacs/src/xfaces.c:1.249 Fri Feb 8 18:49:51 2002
--- emacs/src/xfaces.c Wed Feb 13 11:21:07 2002
***************
*** 3687,3692 ****
--- 3687,3700 ----
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,3759 ****
--- 3762,3775 ----
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;
}
***************
*** 4263,4268 ****
--- 4279,4292 ----
face-set-after-frame-defaults. */
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))
{