# HG changeset patch # User Jan D. # Date 1293185684 -3600 # Node ID 95ad5a35063dfad65a4d7a92ba413264cd4b1f04 # Parent f04d713b43e181ec6487b993504d789c5313b984 * xterm.c (x_check_fullscreen): Fix pixel/character mixup. diff -r f04d713b43e1 -r 95ad5a35063d src/ChangeLog --- 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 + + * xterm.c (x_check_fullscreen): Fix pixel/character mixup. + 2010-12-17 Eli Zaretskii * xdisp.c (Fformat_mode_line): Fix last change. diff -r f04d713b43e1 -r 95ad5a35063d src/xterm.c --- 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); } }