(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:
parent
574c8efad0
commit
835bdaa704
2 changed files with 19 additions and 4 deletions
|
@ -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>
|
||||
|
||||
|
|
|
@ -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).
|
||||
|
|
Loading…
Add table
Reference in a new issue