Mercurial > vim
changeset 5249:47a09a572ea6 v7.4b.001
updated for version 7.4b.001
Problem: Win32: dialog may extend off-screen.
Solution: Reduce the size, use correct borders. (Andrei Olsen)
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Thu, 01 Aug 2013 13:20:42 +0200 |
parents | feddf3681a17 |
children | 71ba628fe723 |
files | src/gui_w32.c src/version.c |
diffstat | 2 files changed, 9 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/gui_w32.c +++ b/src/gui_w32.c @@ -3179,12 +3179,14 @@ gui_mch_dialog( maxDialogWidth = workarea_rect.right - workarea_rect.left - 100; if (maxDialogWidth > 600) maxDialogWidth = 600; - maxDialogHeight = workarea_rect.bottom - workarea_rect.top - 100; + /* Leave some room for the taskbar. */ + maxDialogHeight = workarea_rect.bottom - workarea_rect.top - 150; } else { - /* Use our own window for the size, unless it's very small. */ - GetWindowRect(s_hwnd, &rect); + /* Use our own window's client area for the size, unless it's very + * small. */ + GetClientRect(s_hwnd, &rect); maxDialogWidth = rect.right - rect.left - (GetSystemMetrics(SM_CXFRAME) + GetSystemMetrics(SM_CXPADDEDBORDER)) * 2; @@ -3192,8 +3194,8 @@ gui_mch_dialog( maxDialogWidth = DLG_MIN_MAX_WIDTH; maxDialogHeight = rect.bottom - rect.top - - (GetSystemMetrics(SM_CXFRAME) + - GetSystemMetrics(SM_CXPADDEDBORDER)) * 2; + - (GetSystemMetrics(SM_CYFRAME) + + GetSystemMetrics(SM_CXPADDEDBORDER)) * 4; if (maxDialogHeight < DLG_MIN_MAX_HEIGHT) maxDialogHeight = DLG_MIN_MAX_HEIGHT; }