--- main-x11.c 2010-01-17 16:13:45.000000000 +0100 +++ main-x11.c.patched 2010-07-24 08:35:38.832051145 +0200 @@ -1887,7 +1887,7 @@ /* Move and/or Resize */ case ConfigureNotify: { - int cols, rows, wid, hgt; + int cols, rows, wid, hgt, force_resize; int ox = Infowin->ox; int oy = Infowin->oy; @@ -1909,24 +1909,25 @@ if (window == 0) { /* Hack the main window must be at least 80x24 */ - if (cols < 80) cols = 80; - if (rows < 24) rows = 24; - } + force_resize = FALSE; + if (cols < 80) { cols = 80; force_resize = TRUE; } + if (rows < 24) { rows = 24; force_resize = TRUE; } + /* Resize the windows if any "change" is needed */ + if (force_resize) + { /* Desired size of window */ wid = cols * td->tile_wid + (ox + ox); hgt = rows * td->tile_hgt + (oy + oy); - /* Resize the Term (if needed) */ - (void)Term_resize(cols, rows); - - /* Resize the windows if any "change" is needed */ - if ((Infowin->w != wid) || (Infowin->h != hgt)) - { /* Resize window */ Infowin_set(td->win); Infowin_resize(wid, hgt); } + } + + /* Resize the Term (if needed) */ + (void)Term_resize(cols, rows); break; }