]> granicus.if.org Git - vim/commitdiff
updated for version 7.4a.038 v7.4a.038
authorBram Moolenaar <Bram@vim.org>
Sun, 21 Jul 2013 15:53:58 +0000 (17:53 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 21 Jul 2013 15:53:58 +0000 (17:53 +0200)
Problem:    When using MSVC 2012 there are various issues, including GUI size
            computations.
Solution:   Use SM_CXPADDEDBORDER. (Mike Williams)

src/gui_w32.c
src/gui_w48.c
src/os_win32.h
src/version.c

index 5ec14983ecbd6d9303bf6e2b27bb98c4771a76b1..c59308324a1d14f6e29cb5d3386b79234fd1114b 100644 (file)
@@ -1694,8 +1694,10 @@ gui_mch_set_shellsize(int width, int height,
     }
 
     /* compute the size of the outside of the window */
-    win_width = width + GetSystemMetrics(SM_CXFRAME) * 2;
-    win_height = height + GetSystemMetrics(SM_CYFRAME) * 2
+    win_width = width + (GetSystemMetrics(SM_CXFRAME) +
+                         GetSystemMetrics(SM_CXPADDEDBORDER)) * 2;
+    win_height = height + (GetSystemMetrics(SM_CYFRAME) +
+                           GetSystemMetrics(SM_CXPADDEDBORDER)) * 2
                        + GetSystemMetrics(SM_CYCAPTION)
 #ifdef FEAT_MENU
                        + gui_mswin_get_menu_height(FALSE)
@@ -2546,13 +2548,15 @@ gui_mch_get_screen_dimensions(int *screen_w, int *screen_h)
     get_work_area(&workarea_rect);
 
     *screen_w = workarea_rect.right - workarea_rect.left
-               - GetSystemMetrics(SM_CXFRAME) * 2;
+               - (GetSystemMetrics(SM_CXFRAME) +
+                   GetSystemMetrics(SM_CXPADDEDBORDER)) * 2;
 
     /* FIXME: dirty trick: Because the gui_get_base_height() doesn't include
      * the menubar for MSwin, we subtract it from the screen height, so that
      * the window size can be made to fit on the screen. */
     *screen_h = workarea_rect.bottom - workarea_rect.top
-               - GetSystemMetrics(SM_CYFRAME) * 2
+               - (GetSystemMetrics(SM_CYFRAME) +
+                   GetSystemMetrics(SM_CXPADDEDBORDER)) * 2
                - GetSystemMetrics(SM_CYCAPTION)
 #ifdef FEAT_MENU
                - gui_mswin_get_menu_height(FALSE)
@@ -3182,12 +3186,14 @@ gui_mch_dialog(
        /* Use our own window for the size, unless it's very small. */
        GetWindowRect(s_hwnd, &rect);
        maxDialogWidth = rect.right - rect.left
-                                          - GetSystemMetrics(SM_CXFRAME) * 2;
+                                  - (GetSystemMetrics(SM_CXFRAME) +
+                                      GetSystemMetrics(SM_CXPADDEDBORDER)) * 2;
        if (maxDialogWidth < DLG_MIN_MAX_WIDTH)
            maxDialogWidth = DLG_MIN_MAX_WIDTH;
 
        maxDialogHeight = rect.bottom - rect.top
-                                          - GetSystemMetrics(SM_CXFRAME) * 2;
+                                  - (GetSystemMetrics(SM_CXFRAME) +
+                                      GetSystemMetrics(SM_CXPADDEDBORDER)) * 2;
        if (maxDialogHeight < DLG_MIN_MAX_HEIGHT)
            maxDialogHeight = DLG_MIN_MAX_HEIGHT;
     }
index 4458bde53b1fa00342d4582a5a3de1ce1d7c85ab..2f92414d371ac72951cd8078252ec64af1e7cf57 100644 (file)
@@ -2909,9 +2909,11 @@ gui_mswin_get_valid_dimensions(
     int            base_width, base_height;
 
     base_width = gui_get_base_width()
-       + GetSystemMetrics(SM_CXFRAME) * 2;
+       + (GetSystemMetrics(SM_CXFRAME) +
+           GetSystemMetrics(SM_CXPADDEDBORDER)) * 2;
     base_height = gui_get_base_height()
-       + GetSystemMetrics(SM_CYFRAME) * 2
+       + (GetSystemMetrics(SM_CYFRAME) +
+           GetSystemMetrics(SM_CXPADDEDBORDER)) * 2
        + GetSystemMetrics(SM_CYCAPTION)
 #ifdef FEAT_MENU
        + gui_mswin_get_menu_height(FALSE)
@@ -3274,9 +3276,11 @@ gui_mch_newfont()
 
     GetWindowRect(s_hwnd, &rect);
     gui_resize_shell(rect.right - rect.left
-                       - GetSystemMetrics(SM_CXFRAME) * 2,
+                       - (GetSystemMetrics(SM_CXFRAME) +
+                           GetSystemMetrics(SM_CXPADDEDBORDER)) * 2,
                     rect.bottom - rect.top
-                       - GetSystemMetrics(SM_CYFRAME) * 2
+                       - (GetSystemMetrics(SM_CYFRAME) +
+                           GetSystemMetrics(SM_CXPADDEDBORDER)) * 2
                        - GetSystemMetrics(SM_CYCAPTION)
 #ifdef FEAT_MENU
                        - gui_mswin_get_menu_height(FALSE)
index 42cbab5950e1f1c3e8fd67b7058e3a2d7c85a51b..58b179ff87de5742b4dc2e316b52bacf08235dea 100644 (file)
 #endif
 #ifndef PROTO
 # include <windows.h>
+# ifndef SM_CXPADDEDBORDER
+#  define SM_CXPADDEDBORDER     92
+# endif
 #endif
 
 /*
index 16faee2f9742cdbf7103902aeeaef60cad3e40be..6b724dacdc414f66fbae55a1780d720f919dcab6 100644 (file)
@@ -727,6 +727,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    38,
 /**/
     37,
 /**/