+ pixel_to_text_size (ew, ew->core.width, ew->core.height, &width, &height);
+ change_frame_size (f, width, height, 0, 1, 0, 1);
+
+ update_wm_hints (ew);
+ update_various_frame_slots (ew);
+
+ cancel_mouse_face (f);
+ }
+ 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);
+ if (columns != FRAME_COLS (f)
+ || rows != FRAME_LINES (f)
+ || ew->core.width != FRAME_PIXEL_WIDTH (f)
+ || ew->core.height + x->menubar_height != FRAME_PIXEL_HEIGHT (f))
+ {
+ change_frame_size (f, columns, rows, 0, 1, 0, 0);
+ update_wm_hints (ew);
+ update_various_frame_slots (ew);
+
+ cancel_mouse_face (f);
+ }
+ }