emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs/src ChangeLog gtkutil.c


From: Jan Djärv
Subject: [Emacs-diffs] emacs/src ChangeLog gtkutil.c
Date: Mon, 11 May 2009 06:42:47 +0000

CVSROOT:        /cvsroot/emacs
Module name:    emacs
Changes by:     Jan Djärv <jhd> 09/05/11 06:42:47

Modified files:
        src            : ChangeLog gtkutil.c 

Log message:
        * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
        what we expect to get in the next ConfigureNotify event.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/emacs/src/ChangeLog?cvsroot=emacs&r1=1.7542&r2=1.7543
http://cvs.savannah.gnu.org/viewcvs/emacs/src/gtkutil.c?cvsroot=emacs&r1=1.150&r2=1.151

Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/emacs/emacs/src/ChangeLog,v
retrieving revision 1.7542
retrieving revision 1.7543
diff -u -b -r1.7542 -r1.7543
--- ChangeLog   10 May 2009 22:21:17 -0000      1.7542
+++ ChangeLog   11 May 2009 06:42:45 -0000      1.7543
@@ -1,3 +1,8 @@
+2009-05-11  YAMAMOTO Mitsuharu  <address@hidden>
+
+       * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
+       what we expect to get in the next ConfigureNotify event.
+
 2009-05-07  David Reitter  <address@hidden>
 
        * nsfns.m (Fx_display_planes): Compute bitplanes using

Index: gtkutil.c
===================================================================
RCS file: /cvsroot/emacs/emacs/src/gtkutil.c,v
retrieving revision 1.150
retrieving revision 1.151
diff -u -b -r1.150 -r1.151
--- gtkutil.c   19 Apr 2009 10:53:19 -0000      1.150
+++ gtkutil.c   11 May 2009 06:42:46 -0000      1.151
@@ -736,6 +736,29 @@
   x_wm_size_hint_off (f);
   gtk_window_resize (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)),
                      pixelwidth, pixelheight);
+
+  /* Now, strictly speaking, we can't be sure that this is accurate,
+     but the window manager will get around to dealing with the size
+     change request eventually, and we'll hear how it went when the
+     ConfigureNotify event gets here.
+
+     We could just not bother storing any of this information here,
+     and let the ConfigureNotify event set everything up, but that
+     might be kind of confusing to the Lisp code, since size changes
+     wouldn't be reported in the frame parameters until some random
+     point in the future when the ConfigureNotify event arrives.
+
+     We pass 1 for DELAY since we can't run Lisp code inside of
+     a BLOCK_INPUT.  */
+  change_frame_size (f, rows, cols, 0, 1, 0);
+  FRAME_PIXEL_WIDTH (f) = pixelwidth;
+  FRAME_PIXEL_HEIGHT (f) = pixelheight;
+
+  /* We've set {FRAME,PIXEL}_{WIDTH,HEIGHT} to the values we hope to
+     receive in the ConfigureNotify event; if we get what we asked
+     for, then the event won't cause the screen to become garbaged, so
+     we have to make sure to do it here.  */
+  SET_FRAME_GARBAGED (f);
   flush_and_sync (f);
   x_wm_set_size_hint (f, 0, 0);
 }




reply via email to

[Prev in Thread] Current Thread [Next in Thread]