Loading ...
Sorry, an error occurred while loading the content.

Patch 7.4a.038

Expand Messages
  • Bram Moolenaar
    Patch 7.4a.038 Problem: When using MSVC 2012 there are various issues, including GUI size computations. Solution: Use SM_CXPADDEDBORDER. (Mike Williams)
    Message 1 of 1 , Jul 21, 2013
    • 0 Attachment
      Patch 7.4a.038
      Problem: When using MSVC 2012 there are various issues, including GUI size
      computations.
      Solution: Use SM_CXPADDEDBORDER. (Mike Williams)
      Files: src/gui_w32.c, src/gui_w48.c, src/os_win32.h


      *** ../vim-7.4a.037/src/gui_w32.c 2013-07-21 17:46:38.000000000 +0200
      --- src/gui_w32.c 2013-07-21 17:51:37.000000000 +0200
      ***************
      *** 1694,1701 ****
      }

      /* compute the size of the outside of the window */
      ! win_width = width + GetSystemMetrics(SM_CXFRAME) * 2;
      ! win_height = height + GetSystemMetrics(SM_CYFRAME) * 2
      + GetSystemMetrics(SM_CYCAPTION)
      #ifdef FEAT_MENU
      + gui_mswin_get_menu_height(FALSE)
      --- 1694,1703 ----
      }

      /* compute the size of the outside of the window */
      ! 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,2558 ****
      get_work_area(&workarea_rect);

      *screen_w = workarea_rect.right - workarea_rect.left
      ! - GetSystemMetrics(SM_CXFRAME) * 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_CYCAPTION)
      #ifdef FEAT_MENU
      - gui_mswin_get_menu_height(FALSE)
      --- 2548,2562 ----
      get_work_area(&workarea_rect);

      *screen_w = workarea_rect.right - workarea_rect.left
      ! - (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) +
      ! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2
      - GetSystemMetrics(SM_CYCAPTION)
      #ifdef FEAT_MENU
      - gui_mswin_get_menu_height(FALSE)
      ***************
      *** 3182,3193 ****
      /* 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;
      if (maxDialogWidth < DLG_MIN_MAX_WIDTH)
      maxDialogWidth = DLG_MIN_MAX_WIDTH;

      maxDialogHeight = rect.bottom - rect.top
      ! - GetSystemMetrics(SM_CXFRAME) * 2;
      if (maxDialogHeight < DLG_MIN_MAX_HEIGHT)
      maxDialogHeight = DLG_MIN_MAX_HEIGHT;
      }
      --- 3186,3199 ----
      /* Use our own window for the size, unless it's very small. */
      GetWindowRect(s_hwnd, &rect);
      maxDialogWidth = rect.right - rect.left
      ! - (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) +
      ! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2;
      if (maxDialogHeight < DLG_MIN_MAX_HEIGHT)
      maxDialogHeight = DLG_MIN_MAX_HEIGHT;
      }
      *** ../vim-7.4a.037/src/gui_w48.c 2013-07-21 17:46:38.000000000 +0200
      --- src/gui_w48.c 2013-07-21 17:51:37.000000000 +0200
      ***************
      *** 2909,2917 ****
      int base_width, base_height;

      base_width = gui_get_base_width()
      ! + GetSystemMetrics(SM_CXFRAME) * 2;
      base_height = gui_get_base_height()
      ! + GetSystemMetrics(SM_CYFRAME) * 2
      + GetSystemMetrics(SM_CYCAPTION)
      #ifdef FEAT_MENU
      + gui_mswin_get_menu_height(FALSE)
      --- 2909,2919 ----
      int base_width, base_height;

      base_width = gui_get_base_width()
      ! + (GetSystemMetrics(SM_CXFRAME) +
      ! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2;
      base_height = gui_get_base_height()
      ! + (GetSystemMetrics(SM_CYFRAME) +
      ! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2
      + GetSystemMetrics(SM_CYCAPTION)
      #ifdef FEAT_MENU
      + gui_mswin_get_menu_height(FALSE)
      ***************
      *** 3274,3282 ****

      GetWindowRect(s_hwnd, &rect);
      gui_resize_shell(rect.right - rect.left
      ! - GetSystemMetrics(SM_CXFRAME) * 2,
      rect.bottom - rect.top
      ! - GetSystemMetrics(SM_CYFRAME) * 2
      - GetSystemMetrics(SM_CYCAPTION)
      #ifdef FEAT_MENU
      - gui_mswin_get_menu_height(FALSE)
      --- 3276,3286 ----

      GetWindowRect(s_hwnd, &rect);
      gui_resize_shell(rect.right - rect.left
      ! - (GetSystemMetrics(SM_CXFRAME) +
      ! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2,
      rect.bottom - rect.top
      ! - (GetSystemMetrics(SM_CYFRAME) +
      ! GetSystemMetrics(SM_CXPADDEDBORDER)) * 2
      - GetSystemMetrics(SM_CYCAPTION)
      #ifdef FEAT_MENU
      - gui_mswin_get_menu_height(FALSE)
      *** ../vim-7.4a.037/src/os_win32.h 2013-06-29 15:38:50.000000000 +0200
      --- src/os_win32.h 2013-07-21 17:53:13.000000000 +0200
      ***************
      *** 102,107 ****
      --- 102,110 ----
      #endif
      #ifndef PROTO
      # include <windows.h>
      + # ifndef SM_CXPADDEDBORDER
      + # define SM_CXPADDEDBORDER 92
      + # endif
      #endif

      /*
      *** ../vim-7.4a.037/src/version.c 2013-07-21 17:46:38.000000000 +0200
      --- src/version.c 2013-07-21 17:52:14.000000000 +0200
      ***************
      *** 729,730 ****
      --- 729,732 ----
      { /* Add new patch number below this line */
      + /**/
      + 38,
      /**/

      --
      hundred-and-one symptoms of being an internet addict:
      5. You find yourself brainstorming for new subjects to search.

      /// Bram Moolenaar -- Bram@... -- http://www.Moolenaar.net \\\
      /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
      \\\ an exciting new programming language -- http://www.Zimbu.org ///
      \\\ help me help AIDS victims -- http://ICCF-Holland.org ///

      --
      --
      You received this message from the "vim_dev" maillist.
      Do not top-post! Type your reply below the text you are replying to.
      For more information, visit http://www.vim.org/maillist.php

      ---
      You received this message because you are subscribed to the Google Groups "vim_dev" group.
      To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscribe@....
      For more options, visit https://groups.google.com/groups/opt_out.
    Your message has been successfully submitted and would be delivered to recipients shortly.