Patch 7.3.428 
Problem:    Win32: an xpm file without a mask crashes Vim.
Solution:   Fail when the mask is missing. (Dave Bodenstab)
Files:      src/xpm_w32.c
 

*** ../vim-7.3.427/src/xpm_w32.c        2010-08-15 21:57:25.000000000 +0200
--- src/xpm_w32.c       2012-02-05 00:46:13.000000000 +0100
***************
*** 1,4 ****
! /*
   * Load XPM image.
   *
   * This function is placed in separate file because Xpm headers conflict with
--- 1,5 ----
! /* vi:set ts=8 sts=4 sw=4:
!  *
   * Load XPM image.
   *
   * This function is placed in separate file because Xpm headers conflict with
***************
*** 30,38 ****
  #include "xpm.h"
  
  /*
!  * Tries to load Xpm image from file 'filename'.
!  * If fails return -1.
!  * success - 0 and image and mask BITMAPS
   */
      int
  LoadXpmImage(filename, hImage, hShape)
--- 31,40 ----
  #include "xpm.h"
  
  /*
!  * Tries to load an Xpm image from the file "filename".
!  * Returns -1 on failure.
!  * Returns 0 on success and stores image and mask BITMAPS in "hImage" and
!  * "hShape".
   */
      int
  LoadXpmImage(filename, hImage, hShape)
***************
*** 40,46 ****
      HBITMAP *hImage;
      HBITMAP *hShape;
  {
!     XImage        *img;   /* loaded image */
      XImage        *shp;  /* shapeimage */
      XpmAttributes   attr;
      int                   res;
--- 42,48 ----
      HBITMAP *hImage;
      HBITMAP *hShape;
  {
!     XImage        *img;  /* loaded image */
      XImage        *shp;  /* shapeimage */
      XpmAttributes   attr;
      int                   res;
***************
*** 51,60 ****
      DeleteDC(hdc);
      if (res < 0)
        return -1;
!     else
      {
!       *hImage = img->bitmap;
!       *hShape = shp->bitmap;
!       return 0;
      }
  }
--- 53,65 ----
      DeleteDC(hdc);
      if (res < 0)
        return -1;
!     if (shp == NULL)
      {
!         if (img)
!           XDestroyImage(img);
!       return -1;
      }
+     *hImage = img->bitmap;
+     *hShape = shp->bitmap;
+     return 0;
  }
*** ../vim-7.3.427/src/version.c        2012-02-05 00:39:14.000000000 +0100
--- src/version.c       2012-02-05 00:47:08.000000000 +0100
***************
*** 716,717 ****
--- 716,719 ----
  {   /* Add new patch number below this line */
+ /**/
+     428,
  /**/

-- 
I'm not familiar with this proof, but I'm aware of a significant
following of toddlers who believe that peanut butter is the solution
to all of life's problems...            -- Tim Hammerquist

 /// Bram Moolenaar -- [email protected] -- 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

Raspunde prin e-mail lui