(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.
This commit is contained in:
Jan Djärv 2009-07-02 08:20:56 +00:00
parent 574c8efad0
commit 835bdaa704
2 changed files with 19 additions and 4 deletions

View 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>

View 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).