# HG changeset patch # User Chong Yidong # Date 1223957288 0 # Node ID ef67b2d51a4df97efad7e1ca003a2c05b6bde20d # Parent 09e567998d7bb826fbab28730a56d321bd8effdd (Finternal_set_lisp_face_attribute): If the font is to be updated, clear its average width field too. diff -r 09e567998d7b -r ef67b2d51a4d src/xfaces.c --- a/src/xfaces.c Tue Oct 14 04:07:54 2008 +0000 +++ b/src/xfaces.c Tue Oct 14 04:08:08 2008 +0000 @@ -3356,12 +3356,16 @@ signal_error ("Invalid face attribute name", attr); if (prop_index) - /* If a font-related attribute other than QCfont and QCfontset is - specified, and if the original QCfont attribute has a font - (font-spec or font-object), set the corresponding property in - the font to nil so that the font selector doesn't think that - the attribute is mandatory. */ - font_clear_prop (XVECTOR (lface)->contents, prop_index); + { + /* If a font-related attribute other than QCfont and QCfontset + is specified, and if the original QCfont attribute has a font + (font-spec or font-object), set the corresponding property in + the font to nil so that the font selector doesn't think that + the attribute is mandatory. Also, clear the average + width. */ + font_clear_prop (XVECTOR (lface)->contents, prop_index); + font_clear_prop (XVECTOR (lface)->contents, FONT_AVGWIDTH_INDEX); + } /* Changing a named face means that all realized faces depending on that face are invalid. Since we cannot tell which realized faces