]> git.eshelyaron.com Git - emacs.git/commitdiff
(xg_frame_set_char_size): Do not set pixel width/height
authorJan Djärv <jan.h.d@swipnet.se>
Thu, 2 Jul 2009 08:20:56 +0000 (08:20 +0000)
committerJan Djärv <jan.h.d@swipnet.se>
Thu, 2 Jul 2009 08:20:56 +0000 (08:20 +0000)
here or call change_frame_size. Just call flush_and_sync.
(flush_and_sync): Reintroduced.

src/ChangeLog
src/gtkutil.c

index 7c266448492d88acfeae8140674e02cf350f1a62..673c716753d6bc566d1e160ee06003240ed816ee 100644 (file)
@@ -1,7 +1,8 @@
 2009-07-02  Jan Djärv  <jan.h.d@swipnet.se>
 
-       * gtkutil.c (xg_frame_set_char_size): Do not set pixel width/height here or
-       call change_frame_size.
+       * gtkutil.c (xg_frame_set_char_size): Do not set pixel width/height
+       here or call change_frame_size. Just call flush_and_sync.
+       (flush_and_sync): Reintroduced.
 
 2009-07-01  Jan Djärv  <jan.h.d@swipnet.se>
 
index 4ce15ae8cc395edf79864580cb890da31a78a45b..2bca0deac2c14a7fcd793a82a0c9c6357340b0c1 100644 (file)
@@ -636,6 +636,7 @@ xg_frame_resized (f, pixelwidth, pixelheight)
      FRAME_PTR f;
      int pixelwidth, pixelheight;
 {
+  fprintf(stderr, "%s: %d/%d\n", __func__, pixelwidth, pixelheight);
   int rows = FRAME_PIXEL_HEIGHT_TO_TEXT_LINES (f, pixelheight);
   int columns = FRAME_PIXEL_WIDTH_TO_TEXT_COLS (f, pixelwidth);
 
@@ -654,6 +655,20 @@ xg_frame_resized (f, pixelwidth, pixelheight)
     }
 }
 
+static void
+flush_and_sync (f)
+     FRAME_PTR f;
+{
+  gdk_window_process_all_updates ();
+  x_sync (f);
+  while (gtk_events_pending ())
+    {
+      gtk_main_iteration ();
+      gdk_window_process_all_updates ();
+      x_sync (f);
+    }
+}
+
 /* Resize the outer window of frame F after chainging the height.
    COLUMNS/ROWS is the size the edit area shall have after the resize.  */
 
@@ -697,8 +712,7 @@ xg_frame_set_char_size (f, cols, rows)
      request, XMonad does this all the time.  The best we can do
      is try to sync, so lisp code sees the updated size as fast as
      possible.  */
-  gdk_window_process_all_updates ();
-  x_sync (f);
+  flush_and_sync (f);
 }
 
 /* Handle height changes (i.e. add/remove menu/toolbar).