From: simon Date: Sun, 5 Feb 2012 10:08:20 +0000 (+0000) Subject: WM_SIZE/SIZE_MAXIMIZED can show up even during an interactive resize, X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/commitdiff_plain/5f4e628b09b4b279dc633d639ce4598a4acec26d WM_SIZE/SIZE_MAXIMIZED can show up even during an interactive resize, so we should ensure we treat it the same way as other WM_SIZEs that show up during that time: set the width and height in conf, and set the flag to have that width and height enacted on WM_EXITSIZEMOVE. Fixes a bug in which dragging a PuTTY window directly from the Win7 snapped-to-half-screen position to the snapped-to-maximised state would leave the terminal in the pre-snapped size. git-svn-id: svn://svn.tartarus.org/sgt/putty@9404 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/windows/window.c b/windows/window.c index fabf96ec..a1d99bae 100644 --- a/windows/window.c +++ b/windows/window.c @@ -2899,7 +2899,21 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, h = height / font_height; if (h < 1) h = 1; - term_size(term, h, w, conf_get_int(conf, CONF_savelines)); + if (resizing) { + /* + * As below, if we're in the middle of an + * interactive resize we don't call + * back->size. In Windows 7, this case can + * arise in maximisation as well via the Aero + * snap UI. + */ + need_backend_resize = TRUE; + conf_set_int(conf, CONF_height, h); + conf_set_int(conf, CONF_width, w); + } else { + term_size(term, h, w, + conf_get_int(conf, CONF_savelines)); + } } reset_window(0); } else if (wParam == SIZE_RESTORED && was_zoomed) {