To: vim_dev@googlegroups.com Subject: Patch 7.3.428 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ 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 -- Bram@Moolenaar.net -- 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 ///