Commit 729425b1 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(frame_update_line_height): New function.

(Fset_face_attribute_internal): Call that.
parent a27f9f86
...@@ -659,6 +659,31 @@ same_size_fonts (font1, font2) ...@@ -659,6 +659,31 @@ same_size_fonts (font1, font2)
&& bounds1->descent == bounds2->descent); */ && bounds1->descent == bounds2->descent); */
} }
/* Update the line_height of frame F according to the biggest font in
any face, and resize the frame if line_height changes. */
void
frame_update_line_height (f)
FRAME_PTR f;
{
int i;
int biggest = FONT_HEIGHT (f->display.x->font);
for (i = 0; i < f->display.x->n_param_faces; i++)
if (f->display.x->param_faces[i]->font != (XFontStruct *) FACE_DEFAULT)
{
int height = FONT_HEIGHT (f->display.x->param_faces[i]->font);
if (height > biggest)
biggest = height;
}
if (biggest == f->display.x->line_height)
return;
f->display.x->line_height = biggest;
x_set_window_size (f, 0, f->width, f->height);
}
/* Modify face TO by copying from FROM all properties which have /* Modify face TO by copying from FROM all properties which have
nondefault settings. */ nondefault settings. */
static void static void
...@@ -967,6 +992,7 @@ DEFUN ("set-face-attribute-internal", Fset_face_attribute_internal, ...@@ -967,6 +992,7 @@ DEFUN ("set-face-attribute-internal", Fset_face_attribute_internal,
if (face->font != f->display.x->font) if (face->font != f->display.x->font)
unload_font (f, face->font); unload_font (f, face->font);
face->font = font; face->font = font;
frame_update_line_height (f);
} }
else if (EQ (attr_name, intern ("foreground"))) else if (EQ (attr_name, intern ("foreground")))
{ {
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment