diff --git a/ANNOUNCE b/ANNOUNCE
index 6baab19..43f5eef 100644
--- a/ANNOUNCE
+++ b/ANNOUNCE
@@ -1,5 +1,5 @@
 
-Libpng 1.2.19beta12 - May 28, 2007
+Libpng 1.2.19beta13 - June 15, 2007
 
 This is not intended to be a public release.  It will be replaced
 within a few weeks by a public version or by another test version.
@@ -9,32 +9,32 @@
 Source files with LF line endings (for Unix/Linux) and with a
 "configure" script
 
-   libpng-1.2.19beta12.tar.gz
-   libpng-1.2.19beta12.tar.bz2
+   libpng-1.2.19beta13.tar.gz
+   libpng-1.2.19beta13.tar.bz2
 
 Source files with LF line endings (for Unix/Linux) without the
 "configure" script
 
-   libpng-1.2.19beta12-no-config.tar.gz
-   libpng-1.2.19beta12-no-config.tar.bz2
+   libpng-1.2.19beta13-no-config.tar.gz
+   libpng-1.2.19beta13-no-config.tar.bz2
 
 Source files with CRLF line endings (for Windows), without the
 "configure" script
 
-   lp1219b12.zip
-   lp1219b12.tar.bz2
+   lp1219b13.zip
+   lp1219b13.tar.bz2
 
 Project files
 
-   libpng-1.2.19beta12-project-netware.zip
-   libpng-1.2.19beta12-project-wince.zip
+   libpng-1.2.19beta13-project-netware.zip
+   libpng-1.2.19beta13-project-wince.zip
 
 Other information:
 
-   libpng-1.2.19beta12-README.txt
-   libpng-1.2.19beta12-KNOWNBUGS.txt
-   libpng-1.2.19beta12-LICENSE.txt
-   libpng-1.2.19beta12-Y2K-compliance.txt
+   libpng-1.2.19beta13-README.txt
+   libpng-1.2.19beta13-KNOWNBUGS.txt
+   libpng-1.2.19beta13-LICENSE.txt
+   libpng-1.2.19beta13-Y2K-compliance.txt
 
 Changes since the last public release (1.2.18):
 
@@ -82,10 +82,15 @@
   Return 0 from png_get_sPLT() and png_get_unknown_chunks() if png_ptr is NULL;
     changed three remaining instances of png_strcpy() to png_strncpy() (David
     Hill).
+  Make test for NULL row_buf at the beginning of png_do_read_transformations
+    unconditional.
 
 version 1.2.19beta12 [May 28, 2007]
   Revised pnggccrd.c.
 
+version 1.2.19beta13 [June 15, 2007]
+  Prefer PNG_USE_PNGVCRD when _MSC_VER is defined in pngconf.h
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 
 (subscription required; visit 
diff --git a/CHANGES b/CHANGES
index 29dde24..40b0568 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1775,10 +1775,15 @@
   Return 0 from png_get_sPLT() and png_get_unknown_chunks() if png_ptr is NULL;
     changed three remaining instances of png_strcpy() to png_strncpy() (David
     Hill).
+  Make test for NULL row_buf at the beginning of png_do_read_transformations
+    unconditional.
 
 version 1.2.19beta12 [May 28, 2007]
   Revised pnggccrd.c.
 
+version 1.2.19beta13 [June 15, 2007]
+  Prefer PNG_USE_PNGVCRD when _MSC_VER is defined in pngconf.h
+
 Send comments/corrections/commendations to png-mng-implement at lists.sf.net
 (subscription required; visit
 https://lists.sourceforge.net/lists/listinfo/png-mng-implement
diff --git a/INSTALL b/INSTALL
index dd55282..99e146e 100644
--- a/INSTALL
+++ b/INSTALL
@@ -1,5 +1,5 @@
 
-Installing libpng version 1.2.19beta12 - May 28, 2007
+Installing libpng version 1.2.19beta13 - June 15, 2007
 
 On Unix/Linux and similar systems, you can simply type
 
@@ -44,7 +44,7 @@
 correspond to the version of zlib that's installed.
 
 You can rename the directories that you downloaded (they
-might be called "libpng-1.2.19beta12" or "lpng109" and "zlib-1.2.1"
+might be called "libpng-1.2.19beta13" or "lpng109" and "zlib-1.2.1"
 or "zlib121") so that you have directories called "zlib" and "libpng".
 
 Your directory structure should look like this:
@@ -101,14 +101,14 @@
  CMakeLists.txt    =>  "cmake" script
  makefile.std      =>  Generic UNIX makefile (cc, creates static libpng.a)
  makefile.elf      =>  Linux/ELF makefile symbol versioning,
-                       gcc, creates libpng12.so.0.1.2.19beta12)
+                       gcc, creates libpng12.so.0.1.2.19beta13)
  makefile.linux    =>  Linux/ELF makefile
-                       (gcc, creates libpng12.so.0.1.2.19beta12)
+                       (gcc, creates libpng12.so.0.1.2.19beta13)
  makefile.gcmmx    =>  Linux/ELF makefile
-                       (gcc, creates libpng12.so.0.1.2.19beta12,
+                       (gcc, creates libpng12.so.0.1.2.19beta13,
                        uses assembler code tuned for Intel MMX platform)
  makefile.nommx    =>  Linux/ELF makefile
-                       (gcc, creates libpng12.so.0.1.2.19beta12
+                       (gcc, creates libpng12.so.0.1.2.19beta13
                        does not use Intel MMX assembler code)
  makefile.gcc      =>  Generic makefile (gcc, creates static libpng.a)
  makefile.knr      =>  Archaic UNIX Makefile that converts files with
@@ -131,14 +131,14 @@
  makefile.openbsd  =>  OpenBSD makefile
  makefile.sgi      =>  Silicon Graphics IRIX makefile (cc, creates static lib)
  makefile.sggcc    =>  Silicon Graphics (gcc,
-                       creates libpng12.so.0.1.2.19beta12)
+                       creates libpng12.so.0.1.2.19beta13)
  makefile.sunos    =>  Sun makefile
  makefile.solaris  =>  Solaris 2.X makefile (gcc,
-                       creates libpng12.so.0.1.2.19beta12)
+                       creates libpng12.so.0.1.2.19beta13)
  makefile.solaris-x86 =>  Solaris/intelMMX 2.X makefile (gcc,
-                       creates libpng12.so.0.1.2.19beta12)
+                       creates libpng12.so.0.1.2.19beta13)
  makefile.so9      =>  Solaris 9 makefile (gcc,
-                       creates libpng12.so.0.1.2.19beta12)
+                       creates libpng12.so.0.1.2.19beta13)
  makefile.32sunu   =>  Sun Ultra 32-bit makefile
  makefile.64sunu   =>  Sun Ultra 64-bit makefile
  makefile.sco      =>  For SCO OSr5  ELF and Unixware 7 with Native cc
diff --git a/KNOWNBUG b/KNOWNBUG
index 9084f44..70c2a3f 100644
--- a/KNOWNBUG
+++ b/KNOWNBUG
@@ -1,5 +1,5 @@
 
-Known bugs in libpng version 1.2.19beta12
+Known bugs in libpng version 1.2.19beta13
 
 1. April 22, 2001: pnggccrd.c has been reported to crash on NetBSD when
    reading interlaced PNG files, when assembler code is enabled but running
diff --git a/LICENSE b/LICENSE
index 9157d93..0ca4b04 100644
--- a/LICENSE
+++ b/LICENSE
@@ -8,7 +8,7 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.2.6, August 15, 2004, through 1.2.19beta12, May 28, 2007, are
+libpng versions 1.2.6, August 15, 2004, through 1.2.19beta13, June 15, 2007, are
 Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
@@ -106,4 +106,4 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-May 28, 2007
+June 15, 2007
diff --git a/README b/README
index da4bf90..5d88595 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-README for libpng version 1.2.19beta12 - May 28, 2007 (shared library 12.0)
+README for libpng version 1.2.19beta13 - June 15, 2007 (shared library 12.0)
 See the note about version numbers near the top of png.h
 
 See INSTALL for instructions on how to install libpng.
@@ -190,11 +190,11 @@
        descrip.mms      =>  VMS makefile for MMS or MMK
        makefile.std     =>  Generic UNIX makefile (cc, creates static libpng.a)
        makefile.elf     =>  Linux/ELF makefile symbol versioning,
-                            gcc, creates libpng12.so.0.1.2.19beta12)
+                            gcc, creates libpng12.so.0.1.2.19beta13)
        makefile.linux   =>  Linux/ELF makefile
-                            (gcc, creates libpng12.so.0.1.2.19beta12)
+                            (gcc, creates libpng12.so.0.1.2.19beta13)
        makefile.gcmmx   =>  Linux/ELF makefile
-                            (gcc, creates libpng12.so.0.1.2.19beta12,
+                            (gcc, creates libpng12.so.0.1.2.19beta13,
                             uses assembler code tuned for Intel MMX platform)
        makefile.gcc     =>  Generic makefile (gcc, creates static libpng.a)
        makefile.knr     =>  Archaic UNIX Makefile that converts files with
@@ -216,12 +216,12 @@
        makefile.openbsd =>  OpenBSD makefile
        makefile.sgi     =>  Silicon Graphics IRIX (cc, creates static lib)
        makefile.sggcc   =>  Silicon Graphics
-                            (gcc, creates libpng12.so.0.1.2.19beta12)
+                            (gcc, creates libpng12.so.0.1.2.19beta13)
        makefile.sunos   =>  Sun makefile
        makefile.solaris =>  Solaris 2.X makefile
-                            (gcc, creates libpng12.so.0.1.2.19beta12)
+                            (gcc, creates libpng12.so.0.1.2.19beta13)
        makefile.so9     =>  Solaris 9 makefile
-                            (gcc, creates libpng12.so.0.1.2.19beta12)
+                            (gcc, creates libpng12.so.0.1.2.19beta13)
        makefile.32sunu  =>  Sun Ultra 32-bit makefile
        makefile.64sunu  =>  Sun Ultra 64-bit makefile
        makefile.sco     =>  For SCO OSr5  ELF and Unixware 7 with Native cc
diff --git a/Y2KINFO b/Y2KINFO
index f3c06b1..a550875 100644
--- a/Y2KINFO
+++ b/Y2KINFO
@@ -1,13 +1,13 @@
    Y2K compliance in libpng:
    =========================
 
-      May 28, 2007
+      June 15, 2007
 
       Since the PNG Development group is an ad-hoc body, we can't make
       an official declaration.
 
       This is your unofficial assurance that libpng from version 0.71 and
-      upward through 1.2.19beta12 are Y2K compliant.  It is my belief that earlier
+      upward through 1.2.19beta13 are Y2K compliant.  It is my belief that earlier
       versions were also Y2K compliant.
 
       Libpng only has three year fields.  One is a 2-byte unsigned integer
diff --git a/configure b/configure
index ec22e85..c5652a5 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for libpng 1.2.19beta12.
+# Generated by GNU Autoconf 2.61 for libpng 1.2.19beta13.
 #
 # Report bugs to <png-mng-implement@lists.sourceforge.net>.
 #
@@ -728,8 +728,8 @@
 # Identity of this package.
 PACKAGE_NAME='libpng'
 PACKAGE_TARNAME='libpng'
-PACKAGE_VERSION='1.2.19beta12'
-PACKAGE_STRING='libpng 1.2.19beta12'
+PACKAGE_VERSION='1.2.19beta13'
+PACKAGE_STRING='libpng 1.2.19beta13'
 PACKAGE_BUGREPORT='png-mng-implement@lists.sourceforge.net'
 
 ac_unique_file="pngget.c"
@@ -1405,7 +1405,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures libpng 1.2.19beta12 to adapt to many kinds of systems.
+\`configure' configures libpng 1.2.19beta13 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1475,7 +1475,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of libpng 1.2.19beta12:";;
+     short | recursive ) echo "Configuration of libpng 1.2.19beta13:";;
    esac
   cat <<\_ACEOF
 
@@ -1585,7 +1585,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-libpng configure 1.2.19beta12
+libpng configure 1.2.19beta13
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1599,7 +1599,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by libpng $as_me 1.2.19beta12, which was
+It was created by libpng $as_me 1.2.19beta13, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2269,7 +2269,7 @@
 
 # Define the identity of the package.
  PACKAGE='libpng'
- VERSION='1.2.19beta12'
+ VERSION='1.2.19beta13'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -2440,7 +2440,7 @@
 
 
 
-PNGLIB_VERSION=1.2.19beta12
+PNGLIB_VERSION=1.2.19beta13
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=2
 PNGLIB_RELEASE=19
@@ -21119,7 +21119,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by libpng $as_me 1.2.19beta12, which was
+This file was extended by libpng $as_me 1.2.19beta13, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -21172,7 +21172,7 @@
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-libpng config.status 1.2.19beta12
+libpng config.status 1.2.19beta13
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
diff --git a/configure.ac b/configure.ac
index 9314a35..8897ca1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,12 +18,12 @@
 
 dnl Version number stuff here:
 
-AC_INIT([libpng], [1.2.19beta12], [png-mng-implement@lists.sourceforge.net])
+AC_INIT([libpng], [1.2.19beta13], [png-mng-implement@lists.sourceforge.net])
 AM_INIT_AUTOMAKE
 dnl stop configure from automagically running automake
 AM_MAINTAINER_MODE
 
-PNGLIB_VERSION=1.2.19beta12
+PNGLIB_VERSION=1.2.19beta13
 PNGLIB_MAJOR=1
 PNGLIB_MINOR=2
 PNGLIB_RELEASE=19
diff --git a/libpng-1.2.19beta12.txt b/libpng-1.2.19beta13.txt
similarity index 99%
rename from libpng-1.2.19beta12.txt
rename to libpng-1.2.19beta13.txt
index 29d5109..82f3a85 100644
--- a/libpng-1.2.19beta12.txt
+++ b/libpng-1.2.19beta13.txt
@@ -1,6 +1,6 @@
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.2.19beta12 - May 28, 2007
+ libpng version 1.2.19beta13 - June 15, 2007
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2007 Glenn Randers-Pehrson
@@ -2921,13 +2921,13 @@
 
 IX. Y2K Compliance in libpng
 
-May 28, 2007
+June 15, 2007
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.2.19beta12 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.19beta13 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has three year fields.  One is a 2-byte unsigned integer that
diff --git a/libpng.3 b/libpng.3
index f042d8d..d4967f1 100644
--- a/libpng.3
+++ b/libpng.3
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "May 28, 2007"
+.TH LIBPNG 3 "June 15, 2007"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.19beta12
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.19beta13
 .SH SYNOPSIS
 \fB
 #include <png.h>\fP
@@ -410,7 +410,7 @@
 .SH LIBPNG.TXT
 libpng.txt - A description on how to use and modify libpng
 
- libpng version 1.2.19beta12 - May 28, 2007
+ libpng version 1.2.19beta13 - June 15, 2007
  Updated and distributed by Glenn Randers-Pehrson
  <glennrp at users.sourceforge.net>
  Copyright (c) 1998-2007 Glenn Randers-Pehrson
@@ -3331,13 +3331,13 @@
 
 .SH IX. Y2K Compliance in libpng
 
-May 28, 2007
+June 15, 2007
 
 Since the PNG Development group is an ad-hoc body, we can't make
 an official declaration.
 
 This is your unofficial assurance that libpng from version 0.71 and
-upward through 1.2.19beta12 are Y2K compliant.  It is my belief that earlier
+upward through 1.2.19beta13 are Y2K compliant.  It is my belief that earlier
 versions were also Y2K compliant.
 
 Libpng only has three year fields.  One is a 2-byte unsigned integer that
@@ -3526,7 +3526,7 @@
  1.2.17              13    10217  12.so.0.17[.0]
  1.0.26              10    10026  10.so.0.26[.0]
  1.2.18              13    10218  12.so.0.18[.0]
- 1.2.19beta1-12      13    10219  12.so.0.19[.0]
+ 1.2.19beta1-13      13    10219  12.so.0.19[.0]
 
 Henceforth the source version will match the shared-library minor
 and patch numbers; the shared-library major version number will be
@@ -3582,7 +3582,7 @@
 
 Thanks to Frank J. T. Wojcik for helping with the documentation.
 
-Libpng version 1.2.19beta12 - May 28, 2007:
+Libpng version 1.2.19beta13 - June 15, 2007:
 Initially created in 1995 by Guy Eric Schalnat, then of Group 42, Inc.
 Currently maintained by Glenn Randers-Pehrson (glennrp at users.sourceforge.net).
 
@@ -3603,7 +3603,7 @@
 If you modify libpng you may insert additional notices immediately following
 this sentence.
 
-libpng versions 1.2.6, August 15, 2004, through 1.2.19beta12, May 28, 2007, are
+libpng versions 1.2.6, August 15, 2004, through 1.2.19beta13, June 15, 2007, are
 Copyright (c) 2004,2006-2007 Glenn Randers-Pehrson, and are
 distributed according to the same disclaimer and license as libpng-1.2.5
 with the following individual added to the list of Contributing Authors
@@ -3702,7 +3702,7 @@
 
 Glenn Randers-Pehrson
 glennrp at users.sourceforge.net
-May 28, 2007
+June 15, 2007
 
 .\" end of man page
 
diff --git a/libpngpf.3 b/libpngpf.3
index a8d4197..2416528 100644
--- a/libpngpf.3
+++ b/libpngpf.3
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "May 28, 2007"
+.TH LIBPNGPF 3 "June 15, 2007"
 .SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.2.19beta12
+libpng \- Portable Network Graphics (PNG) Reference Library 1.2.19beta13
 (private functions)
 .SH SYNOPSIS
 \fB#include <png.h>\fP
diff --git a/png.5 b/png.5
index e6ba06b..b43ba79 100644
--- a/png.5
+++ b/png.5
@@ -1,4 +1,4 @@
-.TH PNG 5 "May 28, 2007"
+.TH PNG 5 "June 15, 2007"
 .SH NAME
 png \- Portable Network Graphics (PNG) format
 .SH DESCRIPTION
diff --git a/png.c b/png.c
index cf477bc..e3498a6 100644
--- a/png.c
+++ b/png.c
@@ -1,7 +1,7 @@
 
 /* png.c - location for general purpose libpng functions
  *
- * Last changed in libpng 1.2.19 May 28, 2007
+ * Last changed in libpng 1.2.19 June 15, 2007
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -13,7 +13,7 @@
 #include "png.h"
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_19beta12 Your_png_h_is_not_version_1_2_19beta12;
+typedef version_1_2_19beta13 Your_png_h_is_not_version_1_2_19beta13;
 
 /* Version information for C files.  This had better match the version
  * string defined in png.h.  */
@@ -706,7 +706,7 @@
 png_get_copyright(png_structp png_ptr)
 {
    png_ptr = png_ptr;  /* silence compiler warning about unused png_ptr */
-   return ((png_charp) "\n libpng version 1.2.19beta12 - May 28, 2007\n\
+   return ((png_charp) "\n libpng version 1.2.19beta13 - June 15, 2007\n\
    Copyright (c) 1998-2007 Glenn Randers-Pehrson\n\
    Copyright (c) 1996-1997 Andreas Dilger\n\
    Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.\n");
diff --git a/png.h b/png.h
index 2aaa3e1..6adb65b 100644
--- a/png.h
+++ b/png.h
@@ -1,7 +1,7 @@
 
 /* png.h - header file for PNG reference library
  *
- * libpng version 1.2.19beta12 - May 28, 2007
+ * libpng version 1.2.19beta13 - June 15, 2007
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
  * (Version 0.88 Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.)
@@ -9,7 +9,7 @@
  * Authors and maintainers:
  *  libpng versions 0.71, May 1995, through 0.88, January 1996: Guy Schalnat
  *  libpng versions 0.89c, June 1996, through 0.96, May 1997: Andreas Dilger
- *  libpng versions 0.97, January 1998, through 1.2.19beta12 - May 28, 2007: Glenn
+ *  libpng versions 0.97, January 1998, through 1.2.19beta13 - June 15, 2007: Glenn
  *  See also "Contributing Authors", below.
  *
  * Note about libpng version numbers:
@@ -150,7 +150,7 @@
  *    1.2.17                  13    10217  12.so.0.17[.0]
  *    1.0.26                  10    10026  10.so.0.26[.0]
  *    1.2.18                  13    10218  12.so.0.18[.0]
- *    1.2.19beta1-12          13    10219  12.so.0.19[.0]
+ *    1.2.19beta1-13          13    10219  12.so.0.19[.0]
  *
  *    Henceforth the source version will match the shared-library major
  *    and minor numbers; the shared-library major version number will be
@@ -180,7 +180,7 @@
  * If you modify libpng you may insert additional notices immediately following
  * this sentence.
  *
- * libpng versions 1.2.6, August 15, 2004, through 1.2.19beta12, May 28, 2007, are
+ * libpng versions 1.2.6, August 15, 2004, through 1.2.19beta13, June 15, 2007, are
  * Copyright (c) 2004, 2006-2007 Glenn Randers-Pehrson, and are
  * distributed according to the same disclaimer and license as libpng-1.2.5
  * with the following individual added to the list of Contributing Authors:
@@ -292,13 +292,13 @@
  * Y2K compliance in libpng:
  * =========================
  *
- *    May 28, 2007
+ *    June 15, 2007
  *
  *    Since the PNG Development group is an ad-hoc body, we can't make
  *    an official declaration.
  *
  *    This is your unofficial assurance that libpng from version 0.71 and
- *    upward through 1.2.19beta12 are Y2K compliant.  It is my belief that earlier
+ *    upward through 1.2.19beta13 are Y2K compliant.  It is my belief that earlier
  *    versions were also Y2K compliant.
  *
  *    Libpng only has three year fields.  One is a 2-byte unsigned integer
@@ -354,9 +354,9 @@
  */
 
 /* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.2.19beta12"
+#define PNG_LIBPNG_VER_STRING "1.2.19beta13"
 #define PNG_HEADER_VERSION_STRING \
-   " libpng version 1.2.19beta12 - May 28, 2007 (header)\n"
+   " libpng version 1.2.19beta13 - June 15, 2007 (header)\n"
 
 #define PNG_LIBPNG_VER_SONUM   0
 #define PNG_LIBPNG_VER_DLLNUM  13
@@ -368,7 +368,7 @@
 /* This should match the numeric part of the final component of
  * PNG_LIBPNG_VER_STRING, omitting any leading zero: */
 
-#define PNG_LIBPNG_VER_BUILD  12
+#define PNG_LIBPNG_VER_BUILD  13
 
 /* Release Status */
 #define PNG_LIBPNG_BUILD_ALPHA    1
@@ -1407,7 +1407,7 @@
 /* This triggers a compiler error in png.c, if png.c and png.h
  * do not agree upon the version number.
  */
-typedef png_structp version_1_2_19beta12;
+typedef png_structp version_1_2_19beta13;
 
 typedef png_struct FAR * FAR * png_structpp;
 
diff --git a/pngconf.h b/pngconf.h
index b09bc83..f57d62d 100644
--- a/pngconf.h
+++ b/pngconf.h
@@ -1,7 +1,7 @@
 
 /* pngconf.h - machine configurable file for libpng
  *
- * libpng version 1.2.19beta12 - May 28, 2007
+ * libpng version 1.2.19beta13 - June 15, 2007
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -745,6 +745,12 @@
 #  if !defined(PNG_MMX_CODE_SUPPORTED) && !defined(PNG_NO_MMX_CODE)
 #    define PNG_MMX_CODE_SUPPORTED
 #  endif
+
+#  if !defined(PNG_USE_PNGVCRD) && !defined(PNG_NO_MMX_CODE) && \
+     defined(_MSC_VER)
+#    define PNG_USE_PNGVCRD
+#  endif
+
 #  if !defined(PNG_USE_PNGGCCRD) && !defined(PNG_NO_MMX_CODE) && \
      !defined(PNG_USE_PNGVCRD)
 #    define PNG_USE_PNGGCCRD
diff --git a/pngerror.c b/pngerror.c
index 9a2fff4..b91baef 100644
--- a/pngerror.c
+++ b/pngerror.c
@@ -1,7 +1,7 @@
 
 /* pngerror.c - stub functions for i/o and memory allocation
  *
- * Last changed in libpng 1.2.19 May 28, 2007
+ * Last changed in libpng 1.2.19 June 15, 2007
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pnggccrd.c b/pnggccrd.c
index a6b6427..d3cd8d7 100644
--- a/pnggccrd.c
+++ b/pnggccrd.c
@@ -7,7 +7,7 @@
  *     and http://www.intel.com/drg/pentiumII/appnotes/923/923.htm
  *     for Intel's performance analysis of the MMX vs. non-MMX code.
  *
- * Last changed in libpng 1.2.19 May 28, 2007
+ * Last changed in libpng 1.2.19 June 15, 2007
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * Copyright (c) 1999-2002,2007 Greg Roelofs
@@ -254,7 +254,7 @@
  *     [might be able to work around by doing within assembly code whatever
  *     -fPIC does, but given problems to date, seems like long shot...]
  *     [relevant ifdefs:  __x86_64__ && __PIC__ => C code only]
- *  - changed #if 0 to #ifdef CLOBBER_MMX_REGS_SUPPORTED in case gcc ever
+ *  - changed #if 0 to #ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED in case gcc ever
  *     supports MMX regs (%mm0, etc.) in clobber list (not supported by gcc
  *     2.7.2.3, 2.91.66 (egcs 1.1.2), 3.x, or 4.1.2)
 
@@ -703,7 +703,7 @@
                     "2" (len),         // ecx
                     "1" (mask)         // edx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                   : "%mm0", "%mm1", "%mm2", "%mm3"  // clobber list
                   , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
@@ -1010,7 +1010,7 @@
                     "2" (len),         // ecx
                     "1" (mask)         // edx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                   : "%mm0", "%mm4", "%mm6", "%mm7"  // clobber list
 #endif
                );
@@ -1165,7 +1165,7 @@
                     "3" (srcptr),      // esi
                     "4" (dstptr)       // edi
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                   : "%mm0", "%mm1", "%mm4"          // clobber list
                   , "%mm5", "%mm6", "%mm7"
 #endif
@@ -1335,7 +1335,7 @@
                     "2" (len),         // ecx
                     "1" (mask)         // edx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                   : "%mm0", "%mm1", "%mm2"          // clobber list
                   , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
@@ -1529,7 +1529,7 @@
                     "2" (len),         // ecx
                     "1" (mask)         // edx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                   : "%mm0", "%mm1", "%mm2", "%mm3"  // clobber list
                   , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
@@ -1928,7 +1928,7 @@
                           "0" (width),     // ecx
                           "3" (&_const4)  // %1(?)  (0x0000000000FFFFFFLL)
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                         : "%mm0", "%mm1", "%mm2"       // clobber list
                         , "%mm3", "%mm4"
 #endif
@@ -1974,7 +1974,7 @@
                           "0" (width),     // ecx
                           "3" (&_const4)  // (0x0000000000FFFFFFLL)
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                         : "%mm0", "%mm1", "%mm2"       // clobber list
 #endif
                      );
@@ -2034,7 +2034,7 @@
                              "3" (&_const4), // 0x0000000000FFFFFFLL
                              "4" (&_const6)  // 0x00000000000000FFLL
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                            : "%mm0", "%mm1"               // clobber list
                            , "%mm2", "%mm3"
 #endif
@@ -2107,7 +2107,7 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                            : "%mm0", "%mm1", "%mm2"       // clobber list
                            , "%mm3", "%mm4"
 #endif
@@ -2181,7 +2181,7 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                            : "%mm0", "%mm1"               // clobber list
 #endif
                         );
@@ -2235,7 +2235,7 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                            : "%mm0", "%mm1"               // clobber list
 #endif
                         );
@@ -2297,7 +2297,7 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                            : "%mm0", "%mm1"               // clobber list
 #endif
                         );
@@ -2354,7 +2354,7 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                            : "%mm0", "%mm1"               // clobber list
 #endif
                         );
@@ -2407,7 +2407,7 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                            : "%mm0"                       // clobber list
 #endif
                         );
@@ -2474,7 +2474,7 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                            : "%mm0", "%mm1"               // clobber list
 #endif
                         );
@@ -2532,7 +2532,7 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                            : "%mm0", "%mm1"               // clobber list
 #endif
                         );
@@ -2588,7 +2588,7 @@
                              "2" (dp),        // edi
                              "0" (width_mmx)  // ecx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                            : "%mm0", "%mm1"               // clobber list
 #endif
                         );
@@ -2651,7 +2651,7 @@
                           "2" (dp),        // edi
                           "0" (width)      // ecx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                         : "%mm0"                       // clobber list
 #endif
                      );
@@ -2690,7 +2690,7 @@
                              "2" (dp),        // edi
                              "0" (width)      // ecx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                            : "%mm0"                       // clobber list
 #endif
                         );
@@ -2726,7 +2726,7 @@
                              "2" (dp),        // edi
                              "0" (width)      // ecx
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
                            : "%mm0"                       // clobber list
 #endif
                         );
@@ -3134,7 +3134,7 @@
               "1" (row)        // edi
 
             : "%ecx"                            // clobber list
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
             , "%mm0", "%mm1", "%mm2", "%mm3"
             , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
@@ -3233,7 +3233,7 @@
               "1" (row)        // edi
 
             : "%ecx"                           // clobber list
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
             , "%mm0", "%mm1", "%mm2", "%mm3"
             , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
@@ -3369,7 +3369,7 @@
               "1" (row)        // edi
 
             : "%ecx"                           // clobber list
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
             , "%mm0", "%mm1", "%mm2", "%mm3"
             , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
@@ -3481,7 +3481,7 @@
               "1" (row)        // edi
 
             : "%ecx"                           // clobber list
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
             , "%mm0", "%mm1", "%mm2"
             , "%mm3", "%mm4", "%mm5"
 #endif
@@ -3984,7 +3984,7 @@
               "1" (row)        // edi
 
             : "%ecx"                            // clobber list
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
             , "%mm0", "%mm1", "%mm2", "%mm3"
             , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
@@ -4146,7 +4146,7 @@
               "1" (row)        // edi
 
             : "%ecx"                            // clobber list
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
             , "%mm0", "%mm1", "%mm2", "%mm3"
             , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
@@ -4291,7 +4291,7 @@
               "1" (row)        // edi
 
             : "%ecx"                            // clobber list
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
             , "%mm0", "%mm1", "%mm2", "%mm3"
             , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
@@ -4437,7 +4437,7 @@
               "1" (row)        // edi
 
             : "%ecx"                            // clobber list
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
             , "%mm0", "%mm1", "%mm2", "%mm3"
             , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
@@ -4746,7 +4746,7 @@
 
       : "%esi", "%ecx", "%edx"            // clobber list
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
       , "%mm0", "%mm1", "%mm2", "%mm3"
       , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
@@ -4807,7 +4807,7 @@
               "1" (row)               // edi
 
             : "%edx", "%esi"                    // clobber list
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
             , "%mm0", "%mm1", "%mm6", "%mm7"
 #endif
          );
@@ -4888,7 +4888,7 @@
               "1" (row)               // edi
 
             : "%edx", "%esi"                    // clobber list
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
             , "%mm0", "%mm1"
 #endif
          );
@@ -4955,7 +4955,7 @@
               "1" (row)               // edi
 
             : "%edx", "%esi"                    // clobber list
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
             , "%mm0", "%mm1", "%mm5", "%mm6", "%mm7"
 #endif
          );
@@ -5034,7 +5034,7 @@
               "1" (row)               // edi
 
             : "%ecx", "%edx", "%esi"            // clobber list
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
             , "%mm0", "%mm1", "%mm2", "%mm3", "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
          );
@@ -5067,7 +5067,7 @@
               "1" (row)               // edi
 
             : "%edx", "%esi"                    // clobber list
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
             , "%mm0", "%mm1"
 #endif
          );
@@ -5261,7 +5261,7 @@
       , "%ebx"
 #endif
 
-#ifdef CLOBBER_MMX_REGS_SUPPORTED
+#ifdef PNG_CLOBBER_MMX_REGS_SUPPORTED
       , "%mm0", "%mm1", "%mm2", "%mm3"
       , "%mm4", "%mm5", "%mm6", "%mm7"
 #endif
diff --git a/pngpread.c b/pngpread.c
index e2cccd8..e7c0242 100644
--- a/pngpread.c
+++ b/pngpread.c
@@ -1,7 +1,7 @@
 
 /* pngpread.c - read a png file in push mode
  *
- * Last changed in libpng 1.2.19 May 28, 2007
+ * Last changed in libpng 1.2.19 June 15, 2007
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngread.c b/pngread.c
index 7bd8e68..390c3bb 100644
--- a/pngread.c
+++ b/pngread.c
@@ -1,7 +1,7 @@
 
 /* pngread.c - read a PNG file
  *
- * Last changed in libpng 1.2.19 May 28, 2007
+ * Last changed in libpng 1.2.19 June 15, 2007
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/pngrtran.c b/pngrtran.c
index 15bafa2..5342e77 100644
--- a/pngrtran.c
+++ b/pngrtran.c
@@ -1,7 +1,7 @@
 
 /* pngrtran.c - transforms the data in a row for PNG readers
  *
- * Last changed in libpng 1.2.19 May 28, 2007
+ * Last changed in libpng 1.2.19 June 15, 2007
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -1244,7 +1244,6 @@
 png_do_read_transformations(png_structp png_ptr)
 {
    png_debug(1, "in png_do_read_transformations\n");
-#if !defined(PNG_USELESS_TESTS_SUPPORTED)
    if (png_ptr->row_buf == NULL)
    {
 #if !defined(PNG_NO_STDIO) && !defined(_WIN32_WCE)
@@ -1258,7 +1257,6 @@
       png_error(png_ptr, "NULL row buffer");
 #endif
    }
-#endif
 
 #if defined(PNG_READ_EXPAND_SUPPORTED)
    if (png_ptr->transformations & PNG_EXPAND)
diff --git a/pngrutil.c b/pngrutil.c
index d3eea2a..6e4f722 100644
--- a/pngrutil.c
+++ b/pngrutil.c
@@ -1,7 +1,7 @@
 
 /* pngrutil.c - utilities to read a PNG file
  *
- * Last changed in libpng 1.2.19 May 28, 2007
+ * Last changed in libpng 1.2.19 June 15, 2007
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
@@ -2848,7 +2848,8 @@
    if (png_ptr->interlaced)
    {
       png_ptr->row_number = 0;
-      png_memset_check(png_ptr, png_ptr->prev_row, 0, png_ptr->rowbytes + 1);
+      png_memset_check(png_ptr, png_ptr->prev_row, 0,
+         png_ptr->rowbytes + 1);
       do
       {
          png_ptr->pass++;
diff --git a/pngtest.c b/pngtest.c
index f704c4f..793608b 100644
--- a/pngtest.c
+++ b/pngtest.c
@@ -1553,4 +1553,4 @@
 }
 
 /* Generate a compiler error if there is an old png.h in the search path. */
-typedef version_1_2_19beta12 your_png_h_is_not_version_1_2_19beta12;
+typedef version_1_2_19beta13 your_png_h_is_not_version_1_2_19beta13;
diff --git a/pngvcrd.c b/pngvcrd.c
index 0bb527b..ca47df2 100644
--- a/pngvcrd.c
+++ b/pngvcrd.c
@@ -3,7 +3,7 @@
  *
  * For Intel x86 CPU and Microsoft Visual C++ compiler
  *
- * Last changed in libpng 1.2.19 May 28, 2007
+ * Last changed in libpng 1.2.19 June 15, 2007
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * Copyright (c) 1998, Intel Corporation
diff --git a/pngwutil.c b/pngwutil.c
index a467fbf..509bee7 100644
--- a/pngwutil.c
+++ b/pngwutil.c
@@ -1,7 +1,7 @@
 
 /* pngwutil.c - utilities to write a PNG file
  *
- * Last changed in libpng 1.2.19 May 28, 2007
+ * Last changed in libpng 1.2.19 June 15, 2007
  * For conditions of distribution and use, see copyright notice in png.h
  * Copyright (c) 1998-2007 Glenn Randers-Pehrson
  * (Version 0.96 Copyright (c) 1996, 1997 Andreas Dilger)
diff --git a/scripts/CMakeLists.txt b/scripts/CMakeLists.txt
index 5c4654f..7b4ad44 100644
--- a/scripts/CMakeLists.txt
+++ b/scripts/CMakeLists.txt
@@ -179,7 +179,7 @@
 
 # SET UP LINKS
 set_target_properties(${PNG_LIB_NAME} PROPERTIES
-#    VERSION 0.${PNGLIB_RELEASE}.1.2.19beta12
+#    VERSION 0.${PNGLIB_RELEASE}.1.2.19beta13
      VERSION 0.${PNGLIB_RELEASE}.0
      SOVERSION 0
      CLEAN_DIRECT_OUTPUT 1)
diff --git a/scripts/libpng-config-head.in b/scripts/libpng-config-head.in
index 4967c5c..d37818e 100755
--- a/scripts/libpng-config-head.in
+++ b/scripts/libpng-config-head.in
@@ -8,7 +8,7 @@
 
 # Modeled after libxml-config.
 
-version=1.2.19beta12
+version=1.2.19beta13
 prefix=""
 libdir=""
 libs=""
diff --git a/scripts/libpng.pc-configure.in b/scripts/libpng.pc-configure.in
index af971dd..628e848 100644
--- a/scripts/libpng.pc-configure.in
+++ b/scripts/libpng.pc-configure.in
@@ -5,6 +5,6 @@
 
 Name: libpng
 Description: Loads and saves PNG files
-Version: 1.2.19beta12
+Version: 1.2.19beta13
 Libs: -L${libdir} -lpng12
 Cflags: -I${includedir} @LIBPNG_NO_MMX@
diff --git a/scripts/libpng.pc.in b/scripts/libpng.pc.in
index 36f517f..1de4769 100644
--- a/scripts/libpng.pc.in
+++ b/scripts/libpng.pc.in
@@ -5,6 +5,6 @@
 
 Name: libpng
 Description: Loads and saves PNG files
-Version: 1.2.19beta12
+Version: 1.2.19beta13
 Libs: -L${libdir} -lpng12
 Cflags: -I${includedir}
diff --git a/scripts/makefile.32sunu b/scripts/makefile.32sunu
index 444203e..4515e1c 100644
--- a/scripts/makefile.32sunu
+++ b/scripts/makefile.32sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.64sunu b/scripts/makefile.64sunu
index d36c9d2..b91d5ca 100644
--- a/scripts/makefile.64sunu
+++ b/scripts/makefile.64sunu
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.aix b/scripts/makefile.aix
index a9b3cf8..f5d633c 100644
--- a/scripts/makefile.aix
+++ b/scripts/makefile.aix
@@ -20,7 +20,7 @@
 
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 prefix=/usr/local
diff --git a/scripts/makefile.beos b/scripts/makefile.beos
index 9ce6e65..a46f3a0 100644
--- a/scripts/makefile.beos
+++ b/scripts/makefile.beos
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.cygwin b/scripts/makefile.cygwin
index c898f83..51316d1 100644
--- a/scripts/makefile.cygwin
+++ b/scripts/makefile.cygwin
@@ -80,7 +80,7 @@
 LIBNAME = libpng12
 PNGMAJ = 0
 CYGDLL = 12
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=cygpng$(CYGDLL).dll
diff --git a/scripts/makefile.darwin b/scripts/makefile.darwin
index b383e90..f452e50 100644
--- a/scripts/makefile.darwin
+++ b/scripts/makefile.darwin
@@ -19,7 +19,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.dec b/scripts/makefile.dec
index dfe8be5..1f5ee1e 100644
--- a/scripts/makefile.dec
+++ b/scripts/makefile.dec
@@ -5,7 +5,7 @@
 
 # Library name:
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
diff --git a/scripts/makefile.elf b/scripts/makefile.elf
index f131c0c..2d26744 100644
--- a/scripts/makefile.elf
+++ b/scripts/makefile.elf
@@ -12,7 +12,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.gcmmx b/scripts/makefile.gcmmx
index 8528568..301e6b5 100644
--- a/scripts/makefile.gcmmx
+++ b/scripts/makefile.gcmmx
@@ -16,7 +16,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hp64 b/scripts/makefile.hp64
index 0c21395..21fc7f8 100644
--- a/scripts/makefile.hp64
+++ b/scripts/makefile.hp64
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hpgcc b/scripts/makefile.hpgcc
index f811481..8a14c2f 100644
--- a/scripts/makefile.hpgcc
+++ b/scripts/makefile.hpgcc
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.hpux b/scripts/makefile.hpux
index 37515c7..d9df3e4 100644
--- a/scripts/makefile.hpux
+++ b/scripts/makefile.hpux
@@ -18,7 +18,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.linux b/scripts/makefile.linux
index fde169f..48d65ba 100644
--- a/scripts/makefile.linux
+++ b/scripts/makefile.linux
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.mingw b/scripts/makefile.mingw
index 1db7f3f..6f20dec 100644
--- a/scripts/makefile.mingw
+++ b/scripts/makefile.mingw
@@ -6,15 +6,15 @@
 # Built from makefile.cygwin
 # Copyright (C) 2002, 2006 Soren Anderson, Charles Wilson,
 #    and Glenn Randers-Pehrson, based on makefile for linux-elf w/mmx by:
-# Copyright (C) 1998-2000 Greg Roelofs
+# Copyright (C) 1998-2000, 2007 Greg Roelofs
 # Copyright (C) 1996, 1997 Andreas Dilger
 # For conditions of distribution and use, see copyright notice in png.h
 
+
 # This makefile intends to support building outside the src directory
 # if desired. When invoking it, specify an argument to SRCDIR on the
 # command line that points to the top of the directory where your source
 # is located.
-
 ifdef SRCDIR
 VPATH = $(SRCDIR)
 else
@@ -29,20 +29,25 @@
 # If you're going to install into a temporary location
 # via DESTDIR, $(DESTDIR)$(prefix) must already exist before
 # you execute make install.
-
 DESTDIR=
 
-# To enable assembler optimizations, add '-DPNG_USE_PNGGCCRD' to
-# $CFLAGS, and include pnggccrd.o in $OBJS, below, and in the dependency
-# list at the bottom of this makefile.
-
+# If you're using a cross-compiler, add the appropriate prefix (e.g.,
+# "i386-mingw32msvc-") to the following three commands:
 CC=gcc
+AR=ar
+RANLIB=ranlib
+
+MKDIR_P=/bin/mkdir -pv
+
+
+# To enable assembler optimizations, add '-DPNG_USE_PNGGCCRD' to
+# $CFLAGS, and include pnggccrd.o in $OBJS, below.
 
 
 # Where "make install" puts libpng*.a, *png*.dll, png.h, and pngconf.h
 ifndef prefix
 prefix=/usr
-$(warning You haven't specified a 'prefix=' location. Defaulting to "/usr")
+$(warning "You haven't specified a 'prefix=' location. Defaulting to '/usr'")
 endif
 exec_prefix=$(prefix)
 
@@ -76,7 +81,7 @@
 LIBNAME = libpng12
 PNGMAJ = 0
 MINGDLL = 12
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 SHAREDLIB=libpng$(MINGDLL).dll
@@ -90,10 +95,6 @@
 LDSFLAGS=$(strip -shared -L.  $(MINGW_LDFLAGS))
 LDEXTRA=-Wl,--out-implib=$(IMPLIB) $(addprefix -L,$(ZLIBLIB)) -lz
 
-MKDIR_P=/bin/mkdir -pv
-RANLIB=ranlib
-#RANLIB=echo
-
 INCPATH=$(prefix)/include
 LIBPATH=$(exec_prefix)/lib
 
@@ -155,22 +156,8 @@
 all-static: $(STATLIB) pngtest-stat$(EXE)
 all-shared: $(SHAREDLIB) pngtest$(EXE)
 
-pnggccrd.o: pnggccrd.c png.h pngconf.h
-	@echo ""
-	@echo '    You can ignore the "control reaches end of non-void function"'
-	@echo '    warning and "<variable> defined but not used" warnings:'
-	@echo ""
-	$(CC) -c $(CFLAGS) -o $@ $<
-
-pnggccrd.pic.o:	pnggccrd.c png.h pngconf.h
-	@echo ""
-	@echo '    You can ignore the "control reaches end of non-void function"'
-	@echo '    warning and "<variable> defined but not used" warnings:'
-	@echo ""
-	$(CC) -c $(CFLAGS) -DPNG_BUILD_DLL -o $@ $<
-
 $(STATLIB): $(OBJS)
-	ar rc $@ $(OBJS)
+	$(AR) rc $@ $(OBJS)
 	$(RANLIB) $@
 
 $(SHAREDDEF): scripts/pngw32.def
@@ -186,12 +173,6 @@
 pngtest-stat$(EXE): pngtest.o $(STATLIB)
 	$(CC) -static $(CFLAGS) $< $(LDFLAGS) -o $@
 
-pngtest.pic.o: pngtest.c
-	$(CC) $(CFLAGS) -c $< -o $@
-
-pngtest.o: pngtest.c
-	$(CC) $(CFLAGS) -c $< -o $@
-
 test: test-static test-shared
 
 test-static: pngtest-stat$(EXE)
@@ -278,8 +259,8 @@
 
 clean:
 	/bin/rm -f *.pic.o *.o $(STATLIB) $(IMPLIB) $(SHAREDLIB) \
-	pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \
-	libpng-config libpng.pc pngtesti$(EXE)
+	   pngtest-stat$(EXE) pngtest$(EXE) pngout.png $(SHAREDDEF) \
+	   libpng-config libpng.pc pngtesti$(EXE)
 
 DOCS = ANNOUNCE CHANGES INSTALL KNOWNBUG LICENSE README TODO Y2KINFO
 writelock:
@@ -304,9 +285,9 @@
 pngwtran.o pngwtran.pic.o:	png.h pngconf.h pngwtran.c
 pngwutil.o pngwutil.pic.o:	png.h pngconf.h pngwutil.c
 pngpread.o pngpread.pic.o:	png.h pngconf.h pngpread.c
+pnggccrd.o pnggccrd.pic.o:	png.h pngconf.h pnggccrd.c
 
-pngtest.o:			png.h pngconf.h pngtest.c
-pngtest-stat.o:			png.h pngconf.h pngtest.c
+pngtest.o pngtest.pic.o:	png.h pngconf.h pngtest.c
 
 
 
diff --git a/scripts/makefile.ne12bsd b/scripts/makefile.ne12bsd
index 3fe0cfb..fe77575 100644
--- a/scripts/makefile.ne12bsd
+++ b/scripts/makefile.ne12bsd
@@ -14,7 +14,7 @@
 
 LIB=	png12
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.19beta12
+SHLIB_MINOR=	1.2.19beta13
 SRCS=	pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 		pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 		pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.netbsd b/scripts/makefile.netbsd
index 01c5f4f..4bb9fcf 100644
--- a/scripts/makefile.netbsd
+++ b/scripts/makefile.netbsd
@@ -14,7 +14,7 @@
 
 LIB=	png
 SHLIB_MAJOR=	3
-SHLIB_MINOR=	1.2.19beta12
+SHLIB_MINOR=	1.2.19beta13
 SRCS=	pnggccrd.c png.c pngset.c pngget.c pngrutil.c pngtrans.c pngwutil.c \
 		pngread.c pngrio.c pngwio.c pngwrite.c pngrtran.c \
 		pngwtran.c pngmem.c pngerror.c pngpread.c
diff --git a/scripts/makefile.nommx b/scripts/makefile.nommx
index c6051c2..84262ee 100644
--- a/scripts/makefile.nommx
+++ b/scripts/makefile.nommx
@@ -7,7 +7,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.openbsd b/scripts/makefile.openbsd
index 7fe5e67..a2a0deb 100644
--- a/scripts/makefile.openbsd
+++ b/scripts/makefile.openbsd
@@ -8,7 +8,7 @@
 MANDIR= ${PREFIX}/man/cat
 
 SHLIB_MAJOR=	0
-SHLIB_MINOR=	1.2.19beta12
+SHLIB_MINOR=	1.2.19beta13
 
 LIB=	png
 SRCS=	png.c pngerror.c pnggccrd.c pngget.c pngmem.c pngpread.c \
diff --git a/scripts/makefile.sco b/scripts/makefile.sco
index 6fe7063..6296a86 100644
--- a/scripts/makefile.sco
+++ b/scripts/makefile.sco
@@ -9,7 +9,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.sggcc b/scripts/makefile.sggcc
index 6364469..a0bdb92 100644
--- a/scripts/makefile.sggcc
+++ b/scripts/makefile.sggcc
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.sgi b/scripts/makefile.sgi
index f369a85..c902805 100644
--- a/scripts/makefile.sgi
+++ b/scripts/makefile.sgi
@@ -6,7 +6,7 @@
 # Library name:
 LIBNAME=libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.so9 b/scripts/makefile.so9
index 1f29e74..16d0680 100644
--- a/scripts/makefile.so9
+++ b/scripts/makefile.so9
@@ -8,7 +8,7 @@
 
 # Library name:
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 LIBNAME = libpng12
 
diff --git a/scripts/makefile.solaris b/scripts/makefile.solaris
index 3999cee..6e5cdc7 100644
--- a/scripts/makefile.solaris
+++ b/scripts/makefile.solaris
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/makefile.solaris-x86 b/scripts/makefile.solaris-x86
index 0748c3d..5a92082 100644
--- a/scripts/makefile.solaris-x86
+++ b/scripts/makefile.solaris-x86
@@ -8,7 +8,7 @@
 # Library name:
 LIBNAME = libpng12
 PNGMAJ = 0
-PNGMIN = 1.2.19beta12
+PNGMIN = 1.2.19beta13
 PNGVER = $(PNGMAJ).$(PNGMIN)
 
 # Shared library names:
diff --git a/scripts/pngos2.def b/scripts/pngos2.def
index f70387f..12ed7a4 100644
--- a/scripts/pngos2.def
+++ b/scripts/pngos2.def
@@ -2,7 +2,7 @@
 ; PNG.LIB module definition file for OS/2
 ;----------------------------------------
 
-; Version 1.2.19beta12
+; Version 1.2.19beta13
 
 LIBRARY		PNG
 DESCRIPTION	"PNG image compression library for OS/2"
diff --git a/scripts/pngw32.def b/scripts/pngw32.def
index eb88df9..20e5ec6 100644
--- a/scripts/pngw32.def
+++ b/scripts/pngw32.def
@@ -5,7 +5,7 @@
 LIBRARY
 
 EXPORTS
-;Version 1.2.19beta12
+;Version 1.2.19beta13
   png_build_grayscale_palette  @1
   png_check_sig        @2
   png_chunk_error      @3
