diff options
| author | Jan Djärv | 2009-05-11 06:42:45 +0000 |
|---|---|---|
| committer | Jan Djärv | 2009-05-11 06:42:45 +0000 |
| commit | 47a6002f34c4ae913fc696cfeb7d09c645040492 (patch) | |
| tree | 35af7a8d5b5aa7c9e8b6992831e728ef5fc070c7 | |
| parent | 372a93ac3988e4eb40a1d6776aaf86f9937f7da9 (diff) | |
| download | emacs-47a6002f34c4ae913fc696cfeb7d09c645040492.tar.gz emacs-47a6002f34c4ae913fc696cfeb7d09c645040492.zip | |
* gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to
what we expect to get in the next ConfigureNotify event.
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/gtkutil.c | 23 |
2 files changed, 28 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 0d9c4dd196b..4e774d027f0 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2009-05-11 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * gtkutil.c (xg_frame_set_char_size): Set frame pixel width/height to | ||
| 4 | what we expect to get in the next ConfigureNotify event. | ||
| 5 | |||
| 1 | 2009-05-07 David Reitter <david.reitter@gmail.com> | 6 | 2009-05-07 David Reitter <david.reitter@gmail.com> |
| 2 | 7 | ||
| 3 | * nsfns.m (Fx_display_planes): Compute bitplanes using | 8 | * nsfns.m (Fx_display_planes): Compute bitplanes using |
diff --git a/src/gtkutil.c b/src/gtkutil.c index 41f2518af83..3ea7c14629a 100644 --- a/src/gtkutil.c +++ b/src/gtkutil.c | |||
| @@ -736,6 +736,29 @@ xg_frame_set_char_size (f, cols, rows) | |||
| 736 | x_wm_size_hint_off (f); | 736 | x_wm_size_hint_off (f); |
| 737 | gtk_window_resize (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), | 737 | gtk_window_resize (GTK_WINDOW (FRAME_GTK_OUTER_WIDGET (f)), |
| 738 | pixelwidth, pixelheight); | 738 | pixelwidth, pixelheight); |
| 739 | |||
| 740 | /* Now, strictly speaking, we can't be sure that this is accurate, | ||
| 741 | but the window manager will get around to dealing with the size | ||
| 742 | change request eventually, and we'll hear how it went when the | ||
| 743 | ConfigureNotify event gets here. | ||
| 744 | |||
| 745 | We could just not bother storing any of this information here, | ||
| 746 | and let the ConfigureNotify event set everything up, but that | ||
| 747 | might be kind of confusing to the Lisp code, since size changes | ||
| 748 | wouldn't be reported in the frame parameters until some random | ||
| 749 | point in the future when the ConfigureNotify event arrives. | ||
| 750 | |||
| 751 | We pass 1 for DELAY since we can't run Lisp code inside of | ||
| 752 | a BLOCK_INPUT. */ | ||
| 753 | change_frame_size (f, rows, cols, 0, 1, 0); | ||
| 754 | FRAME_PIXEL_WIDTH (f) = pixelwidth; | ||
| 755 | FRAME_PIXEL_HEIGHT (f) = pixelheight; | ||
| 756 | |||
| 757 | /* We've set {FRAME,PIXEL}_{WIDTH,HEIGHT} to the values we hope to | ||
| 758 | receive in the ConfigureNotify event; if we get what we asked | ||
| 759 | for, then the event won't cause the screen to become garbaged, so | ||
| 760 | we have to make sure to do it here. */ | ||
| 761 | SET_FRAME_GARBAGED (f); | ||
| 739 | flush_and_sync (f); | 762 | flush_and_sync (f); |
| 740 | x_wm_set_size_hint (f, 0, 0); | 763 | x_wm_set_size_hint (f, 0, 0); |
| 741 | } | 764 | } |