/* The emacs frame widget.
- Copyright (C) 1992-1993, 2000-2013 Free Software Foundation, Inc.
+ Copyright (C) 1992-1993, 2000-2014 Free Software Foundation, Inc.
This file is part of GNU Emacs.
update_various_frame_slots (EmacsFrame ew)
{
struct frame *f = ew->emacs_frame.frame;
- struct x_output *x = f->output_data.x;
- FRAME_PIXEL_HEIGHT (f) = ew->core.height + x->menubar_height;
- FRAME_PIXEL_WIDTH (f) = ew->core.width;
- f->internal_border_width = ew->emacs_frame.internal_border_width;
+ /* Don't do that: It confuses the check in change_frame_size_1 whether
+ the pixel size of the frame changed due to a change of the internal
+ border width. Bug#16736. */
+ if (false)
+ {
+ struct x_output *x = f->output_data.x;
+ FRAME_PIXEL_HEIGHT (f) = ew->core.height + x->menubar_height;
+ FRAME_PIXEL_WIDTH (f) = ew->core.width;
+ }
+
+ f->internal_border_width = ew->emacs_frame.internal_border_width;
}
static void
{
EmacsFrame ew = (EmacsFrame)widget;
struct frame *f = ew->emacs_frame.frame;
- struct x_output *x = f->output_data.x;
-#if 0 /* Always process resize requests pixelwise. Frame maximizing
- should work even when frame_resize_pixelwise is nil. */
- if (frame_resize_pixelwise)
+ /* Always process resize requests pixelwise. Frame maximizing
+ should work even when frame_resize_pixelwise is nil. */
+ if (true || frame_resize_pixelwise)
{
-#endif /* 0 */
int width, height;
pixel_to_text_size (ew, ew->core.width, ew->core.height, &width, &height);
update_various_frame_slots (ew);
cancel_mouse_face (f);
-#if 0 /* See comment above. */
}
else
{
+ struct x_output *x = f->output_data.x;
int columns, rows;
pixel_to_char_size (ew, ew->core.width, ew->core.height, &columns, &rows);
cancel_mouse_face (f);
}
}
-#endif /* 0 */
}
static Boolean