Pay attention to the width and height provided in WM_SIZE even when

restoring a maximised window.

Failure to do this was noticeable in the following scenario (again
using Aero UI enhancements):
 1. resize window using topmost resize handle, and move pointer to top
    of screen which 'maximises' the window vertically
 2. now maximise the window properly using the maximise button in top
    right
 3. now restore. Notepad restores to its position before step 1,
    because Aero remembers that position for the purpose, but PuTTY
    thinks it knows better. Only now it doesn't any more.

[originally from svn r9041]
This commit is contained in:
Simon Tatham 2010-12-22 16:14:11 +00:00
Родитель 0b6407878a
Коммит 17f6ca0360
1 изменённых файлов: 7 добавлений и 3 удалений

Просмотреть файл

@ -2765,9 +2765,13 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message,
reset_window(0);
} else if (wParam == SIZE_RESTORED && was_zoomed) {
was_zoomed = 0;
if (cfg.resize_action == RESIZE_TERM)
term_size(term, prev_rows, prev_cols, cfg.savelines);
if (cfg.resize_action != RESIZE_FONT)
if (cfg.resize_action == RESIZE_TERM) {
w = (width-cfg.window_border*2) / font_width;
if (w < 1) w = 1;
h = (height-cfg.window_border*2) / font_height;
if (h < 1) h = 1;
term_size(term, h, w, cfg.savelines);
} else if (cfg.resize_action != RESIZE_FONT)
reset_window(2);
else
reset_window(0);