- Fset_frame_size (frame, make_number (width), make_number (height), Qt);
+ {
+ /* If necessary provide default values for HEIGHT and WIDTH. Do
+ that here since otherwise a size change implied by an
+ intermittent font change may get lost as in Bug#17142. */
+ if (!width_change)
+ width = (f->new_width
+ ? (f->new_pixelwise
+ ? f->new_width
+ : (f->new_width * FRAME_COLUMN_WIDTH (f)))
+ : FRAME_TEXT_WIDTH (f));
+
+ if (!height_change)
+ height = (f->new_height
+ ? (f->new_pixelwise
+ ? f->new_height
+ : (f->new_height * FRAME_LINE_HEIGHT (f)))
+ : FRAME_TEXT_HEIGHT (f));
+
+ Fset_frame_size (frame, make_number (width), make_number (height), Qt);
+ }