Mercurial > emacs
changeset 112065:95ad5a35063d
* xterm.c (x_check_fullscreen): Fix pixel/character mixup.
author | Jan D. <jan.h.d@swipnet.se> |
---|---|
date | Fri, 24 Dec 2010 11:14:44 +0100 |
parents | f04d713b43e1 |
children | 4c862bc17cdb 72501dc91d7c |
files | src/ChangeLog src/xterm.c |
diffstat | 2 files changed, 12 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Fri Dec 24 10:07:39 2010 +0100 +++ b/src/ChangeLog Fri Dec 24 11:14:44 2010 +0100 @@ -1,3 +1,7 @@ +2010-12-24 Jan Djärv <jan.h.d@swipnet.se> + + * xterm.c (x_check_fullscreen): Fix pixel/character mixup. + 2010-12-17 Eli Zaretskii <eliz@gnu.org> * xdisp.c (Fformat_mode_line): Fix last change.
--- a/src/xterm.c Fri Dec 24 10:07:39 2010 +0100 +++ b/src/xterm.c Fri Dec 24 11:14:44 2010 +0100 @@ -8764,9 +8764,13 @@ if (f->output_data.x->parent_desc != FRAME_X_DISPLAY_INFO (f)->root_window) return; /* Only fullscreen without WM or with EWM hints (above). */ + /* Setting fullscreen to nil doesn't do anything. We could save the + last non-fullscreen size and restore it, but it seems like a + lot of work for this unusual case (no window manager running). */ + if (f->want_fullscreen != FULLSCREEN_NONE) { - int width = FRAME_COLS (f), height = FRAME_LINES (f); + int width = FRAME_PIXEL_WIDTH (f), height = FRAME_PIXEL_HEIGHT (f); struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); switch (f->want_fullscreen) @@ -8783,13 +8787,9 @@ case FULLSCREEN_HEIGHT: height = x_display_pixel_height (dpyinfo); } - - if (FRAME_COLS (f) != width || FRAME_LINES (f) != height) - { - change_frame_size (f, height, width, 0, 1, 0); - SET_FRAME_GARBAGED (f); - cancel_mouse_face (f); - } + + XResizeWindow (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), + width, height); } }