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;
     }
--- a/src/version.c
+++ b/src/version.c
@@ -728,6 +728,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1,
+/**/
     0
 };