]> git.eshelyaron.com Git - emacs.git/commitdiff
* xterm.c (x_check_fullscreen): Fix pixel/character mixup.
authorJan Djärv <jan.h.d@swipnet.se>
Fri, 24 Dec 2010 10:14:44 +0000 (11:14 +0100)
committerJan Djärv <jan.h.d@swipnet.se>
Fri, 24 Dec 2010 10:14:44 +0000 (11:14 +0100)
src/ChangeLog
src/xterm.c

index f7022e4a3500125044b85e6e027d2f6fa70b25d1..8574622c187fc1430bbf97c3872d8734c08d7b71 100644 (file)
@@ -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.
index 22019e2279b9ced2d9c5f51e83acac6c71116b7d..83dd4a4d83f57cda801479a0daf42b31c52ad355 100644 (file)
@@ -8764,9 +8764,13 @@ x_check_fullscreen (f)
   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 @@ x_check_fullscreen (f)
         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);
     }
 }