commit vips for openSUSE:Factory
Hello community, here is the log from the commit of package vips for openSUSE:Factory checked in at 2014-03-01 19:57:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/vips (Old) and /work/SRC/openSUSE:Factory/.vips.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "vips" Changes: -------- --- /work/SRC/openSUSE:Factory/vips/vips.changes 2014-02-08 10:34:39.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.vips.new/vips.changes 2014-03-01 19:57:17.000000000 +0100 @@ -1,0 +2,11 @@ +Thu Feb 27 06:48:05 UTC 2014 - dmitry_r@opensuse.org + +- Update to version 7.38.5 + * jpeg load from buffer could write to input, thanks Lovell + * fix webpload from buffer, thanks Lovell + * vips_sequential() could fail under heavy load + * remove support for seq mode read for operations like extract + * --sharpen=none option to vipsthumbnail was broken + * more locking on property create and lookup to help very-threaded systems + +------------------------------------------------------------------- Old: ---- vips-7.38.3.tar.gz New: ---- vips-7.38.5.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ vips.spec ++++++ --- /var/tmp/diff_new_pack.uapjuT/_old 2014-03-01 19:57:17.000000000 +0100 +++ /var/tmp/diff_new_pack.uapjuT/_new 2014-03-01 19:57:17.000000000 +0100 @@ -20,7 +20,7 @@ Name: vips %define libname lib%{name} -Version: 7.38.3 +Version: 7.38.5 Release: 0 %define short_version 7.38 %define somajor 37 ++++++ vips-7.38.3.tar.gz -> vips-7.38.5.tar.gz ++++++ ++++ 10802 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/ChangeLog new/vips-7.38.5/ChangeLog --- old/vips-7.38.3/ChangeLog 2014-02-04 09:50:35.000000000 +0100 +++ new/vips-7.38.5/ChangeLog 2014-02-25 17:21:36.000000000 +0100 @@ -1,3 +1,14 @@ +24/2/14 started 7.38.5 +- jpeg load from buffer could write to input, thanks Lovell +- fix webpload from buffer, thanks Lovell +- vips_sequential() could fail under heavy load +- remove support for seq mode read for operations like extract + +13/2/14 started 7.38.4 +- --sharpen=none option to vipsthumbnail was broken, thanks ferryfax +- more locking on property create and lookup to help very-threaded systems, + thanks Nick + 22/1/14 started 7.38.3 - undeprecate VIPS_MASK_IDEAL_HIGHPASS and friends, ruby-vips was using them, thanks ahacking diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/configure.ac new/vips-7.38.5/configure.ac --- old/vips-7.38.3/configure.ac 2014-02-04 09:50:54.000000000 +0100 +++ new/vips-7.38.5/configure.ac 2014-02-25 17:18:42.000000000 +0100 @@ -2,7 +2,7 @@ # also update the version number in the m4 macros below -AC_INIT([vips], [7.38.3], [vipsip@jiscmail.ac.uk]) +AC_INIT([vips], [7.38.5], [vipsip@jiscmail.ac.uk]) # required for gobject-introspection AC_PREREQ(2.62) @@ -17,7 +17,7 @@ # user-visible library versioning m4_define([vips_major_version], [7]) m4_define([vips_minor_version], [38]) -m4_define([vips_micro_version], [3]) +m4_define([vips_micro_version], [5]) m4_define([vips_version], [vips_major_version.vips_minor_version.vips_micro_version]) @@ -37,7 +37,7 @@ # binary interface changes not backwards compatible?: reset age to 0 LIBRARY_CURRENT=37 -LIBRARY_REVISION=2 +LIBRARY_REVISION=4 LIBRARY_AGE=0 # patched into include/vips/version.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanual.html new/vips-7.38.5/doc/html/vipsmanual.html --- old/vips-7.38.3/doc/html/vipsmanual.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanual.html 2014-02-25 17:58:18.000000000 +0100 @@ -8,7 +8,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
@@ -37,7 +37,7 @@ </div> <!--l. 37--><p class="indent" > VIPS is currently (v. 7.38, June 2014) in an API transition. The API as documented in 7.24 is still complete and supported and is the one you should use. The 8.0 API is not yet done and may still change before completion. -<!--l. 44--><p class="indent" > This manual formatted January 18, 2014 +<!--l. 44--><p class="indent" > This manual formatted February 25, 2014 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualch1.html new/vips-7.38.5/doc/html/vipsmanualch1.html --- old/vips-7.38.3/doc/html/vipsmanualch1.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualch1.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualch2.html new/vips-7.38.5/doc/html/vipsmanualch2.html --- old/vips-7.38.3/doc/html/vipsmanualch2.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualch2.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualch3.html new/vips-7.38.5/doc/html/vipsmanualch3.html --- old/vips-7.38.3/doc/html/vipsmanualch3.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualch3.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualch4.html new/vips-7.38.5/doc/html/vipsmanualch4.html --- old/vips-7.38.3/doc/html/vipsmanualch4.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualch4.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualli1.html new/vips-7.38.5/doc/html/vipsmanualli1.html --- old/vips-7.38.3/doc/html/vipsmanualli1.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualli1.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualli2.html new/vips-7.38.5/doc/html/vipsmanualli2.html --- old/vips-7.38.3/doc/html/vipsmanualli2.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualli2.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualli3.html new/vips-7.38.5/doc/html/vipsmanualli3.html --- old/vips-7.38.3/doc/html/vipsmanualli3.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualli3.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse1.html new/vips-7.38.5/doc/html/vipsmanualse1.html --- old/vips-7.38.3/doc/html/vipsmanualse1.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse1.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse10.html new/vips-7.38.5/doc/html/vipsmanualse10.html --- old/vips-7.38.3/doc/html/vipsmanualse10.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse10.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse11.html new/vips-7.38.5/doc/html/vipsmanualse11.html --- old/vips-7.38.3/doc/html/vipsmanualse11.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse11.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse12.html new/vips-7.38.5/doc/html/vipsmanualse12.html --- old/vips-7.38.3/doc/html/vipsmanualse12.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse12.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse13.html new/vips-7.38.5/doc/html/vipsmanualse13.html --- old/vips-7.38.3/doc/html/vipsmanualse13.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse13.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse14.html new/vips-7.38.5/doc/html/vipsmanualse14.html --- old/vips-7.38.3/doc/html/vipsmanualse14.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse14.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse15.html new/vips-7.38.5/doc/html/vipsmanualse15.html --- old/vips-7.38.3/doc/html/vipsmanualse15.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse15.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse16.html new/vips-7.38.5/doc/html/vipsmanualse16.html --- old/vips-7.38.3/doc/html/vipsmanualse16.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse16.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse17.html new/vips-7.38.5/doc/html/vipsmanualse17.html --- old/vips-7.38.3/doc/html/vipsmanualse17.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse17.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse18.html new/vips-7.38.5/doc/html/vipsmanualse18.html --- old/vips-7.38.3/doc/html/vipsmanualse18.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse18.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse2.html new/vips-7.38.5/doc/html/vipsmanualse2.html --- old/vips-7.38.3/doc/html/vipsmanualse2.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse2.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse3.html new/vips-7.38.5/doc/html/vipsmanualse3.html --- old/vips-7.38.3/doc/html/vipsmanualse3.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse3.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse4.html new/vips-7.38.5/doc/html/vipsmanualse4.html --- old/vips-7.38.3/doc/html/vipsmanualse4.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse4.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse5.html new/vips-7.38.5/doc/html/vipsmanualse5.html --- old/vips-7.38.3/doc/html/vipsmanualse5.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse5.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse6.html new/vips-7.38.5/doc/html/vipsmanualse6.html --- old/vips-7.38.3/doc/html/vipsmanualse6.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse6.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse7.html new/vips-7.38.5/doc/html/vipsmanualse7.html --- old/vips-7.38.3/doc/html/vipsmanualse7.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse7.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse8.html new/vips-7.38.5/doc/html/vipsmanualse8.html --- old/vips-7.38.3/doc/html/vipsmanualse8.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse8.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/html/vipsmanualse9.html new/vips-7.38.5/doc/html/vipsmanualse9.html --- old/vips-7.38.3/doc/html/vipsmanualse9.html 2014-01-18 11:42:18.000000000 +0100 +++ new/vips-7.38.5/doc/html/vipsmanualse9.html 2014-02-25 17:58:18.000000000 +0100 @@ -7,7 +7,7 @@ <meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> <!-- 3,html --> <meta name="src" content="vipsmanual.tex"> -<meta name="date" content="2014-01-18 10:42:00"> +<meta name="date" content="2014-02-25 16:58:00"> <link rel="stylesheet" type="text/css" href="vipsmanual.css"> </head>
Files old/vips-7.38.3/doc/pdf/vipsmanual.pdf and new/vips-7.38.5/doc/pdf/vipsmanual.pdf differ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/reference/html/index.html new/vips-7.38.5/doc/reference/html/index.html --- old/vips-7.38.3/doc/reference/html/index.html 2014-02-04 10:06:04.000000000 +0100 +++ new/vips-7.38.5/doc/reference/html/index.html 2014-02-25 18:03:22.000000000 +0100 @@ -15,7 +15,7 @@ <div> <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">VIPS Reference Manual</p></th></tr></table></div> <div><p class="releaseinfo"> - For VIPS 7.38.3. + For VIPS 7.38.5. The latest version of this documentation can be found on the <a class="ulink" href="http://http://www.vips.ecs.soton.ac.uk/index.php?title=Documentation" target="_top">VIPS website</a>. </p></div> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/reference/html/libvips-version.html new/vips-7.38.5/doc/reference/html/libvips-version.html --- old/vips-7.38.3/doc/reference/html/libvips-version.html 2014-02-04 10:06:04.000000000 +0100 +++ new/vips-7.38.5/doc/reference/html/libvips-version.html 2014-02-25 18:03:22.000000000 +0100 @@ -54,7 +54,7 @@ <a name="libvips-version.details"></a><h2>Details</h2> <div class="refsect2"> <a name="VIPS-VERSION:CAPS"></a><h3>VIPS_VERSION</h3> -<pre class="programlisting">#define VIPS_VERSION "7.38.3" +<pre class="programlisting">#define VIPS_VERSION "7.38.5" </pre> <p> </p> @@ -62,7 +62,7 @@ <hr> <div class="refsect2"> <a name="VIPS-VERSION-STRING:CAPS"></a><h3>VIPS_VERSION_STRING</h3> -<pre class="programlisting">#define VIPS_VERSION_STRING "7.38.3-Tue Feb 4 09:00:47 GMT 2014" +<pre class="programlisting">#define VIPS_VERSION_STRING "7.38.5-Tue Feb 25 16:50:39 GMT 2014" </pre> <p> </p> @@ -86,7 +86,7 @@ <hr> <div class="refsect2"> <a name="VIPS-MICRO-VERSION:CAPS"></a><h3>VIPS_MICRO_VERSION</h3> -<pre class="programlisting">#define VIPS_MICRO_VERSION (3) +<pre class="programlisting">#define VIPS_MICRO_VERSION (5) </pre> <p> </p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/doc/reference/libvips-docs.sgml new/vips-7.38.5/doc/reference/libvips-docs.sgml --- old/vips-7.38.3/doc/reference/libvips-docs.sgml 2014-02-04 10:00:57.000000000 +0100 +++ new/vips-7.38.5/doc/reference/libvips-docs.sgml 2014-02-25 17:50:51.000000000 +0100 @@ -8,7 +8,7 @@ <bookinfo> <title>VIPS Reference Manual</title> <releaseinfo> - For VIPS 7.38.3. + For VIPS 7.38.5. The latest version of this documentation can be found on the <ulink role="online-location" url="http://http://www.vips.ecs.soton.ac.uk/index.php?title=Documentation">VIPS website</ulink>. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/libvips/conversion/extract.c new/vips-7.38.5/libvips/conversion/extract.c --- old/vips-7.38.3/libvips/conversion/extract.c 2014-01-26 11:30:04.000000000 +0100 +++ new/vips-7.38.5/libvips/conversion/extract.c 2014-02-25 17:11:23.000000000 +0100 @@ -193,8 +193,6 @@ vobject_class->description = _( "extract an area from an image" ); vobject_class->build = vips_extract_area_build; - operation_class->flags = VIPS_OPERATION_SEQUENTIAL_UNBUFFERED; - VIPS_ARG_IMAGE( class, "input", 0, _( "Input" ), _( "Input image" ), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/libvips/conversion/ifthenelse.c new/vips-7.38.5/libvips/conversion/ifthenelse.c --- old/vips-7.38.3/libvips/conversion/ifthenelse.c 2014-01-26 11:30:04.000000000 +0100 +++ new/vips-7.38.5/libvips/conversion/ifthenelse.c 2014-02-25 17:11:23.000000000 +0100 @@ -470,8 +470,6 @@ vobject_class->description = _( "ifthenelse an image" ); vobject_class->build = vips_ifthenelse_build; - operation_class->flags = VIPS_OPERATION_SEQUENTIAL_UNBUFFERED; - VIPS_ARG_IMAGE( class, "cond", -2, _( "Condition" ), _( "Condition input image" ), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/libvips/conversion/insert.c new/vips-7.38.5/libvips/conversion/insert.c --- old/vips-7.38.3/libvips/conversion/insert.c 2014-01-26 11:30:04.000000000 +0100 +++ new/vips-7.38.5/libvips/conversion/insert.c 2014-02-25 17:18:42.000000000 +0100 @@ -354,8 +354,6 @@ vobject_class->description = _( "insert an image" ); vobject_class->build = vips_insert_build; - operation_class->flags = VIPS_OPERATION_SEQUENTIAL_UNBUFFERED; - VIPS_ARG_IMAGE( class, "main", -1, _( "Main" ), _( "Main input image" ), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/libvips/conversion/join.c new/vips-7.38.5/libvips/conversion/join.c --- old/vips-7.38.3/libvips/conversion/join.c 2014-01-26 11:30:04.000000000 +0100 +++ new/vips-7.38.5/libvips/conversion/join.c 2014-02-25 17:11:23.000000000 +0100 @@ -228,8 +228,6 @@ vobject_class->description = _( "join a pair of images" ); vobject_class->build = vips_join_build; - operation_class->flags = VIPS_OPERATION_SEQUENTIAL_UNBUFFERED; - VIPS_ARG_IMAGE( class, "in1", -1, _( "in1" ), _( "First input image" ), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/libvips/conversion/sequential.c new/vips-7.38.5/libvips/conversion/sequential.c --- old/vips-7.38.3/libvips/conversion/sequential.c 2014-01-26 11:30:04.000000000 +0100 +++ new/vips-7.38.5/libvips/conversion/sequential.c 2014-02-25 17:11:23.000000000 +0100 @@ -16,6 +16,9 @@ * 4/9/12 * - stop all threads on error * - don't stall forever, just delay ahead threads + * 25/2/14 + * - we were allowing skipahead if the first request was for y>0, but + * this broke on some busy, many-core systems, see comment below */ /* @@ -144,11 +147,9 @@ return( -1 ); } - if( r->top > sequential->y_pos && - sequential->y_pos > 0 ) { - /* We have started reading (y_pos > 0) and this request is for - * stuff beyond that, stall for a while to give other - * threads time to catch up. + if( r->top > sequential->y_pos ) { + /* This request is for stuff beyond the current read position, + * stall for a while to give other threads time to catch up. * * The stall can be cancelled by a signal on @ready. * @@ -156,6 +157,16 @@ * deadlock, and we don't fail on timeout, since the timeout * may be harmless. */ + + /* We used to not stall if the read position was zero, ie. if + * the first request was for a line some way down the image, + * and assume this was extract or somesuch. But this could + * sometimes break on busy, many-core systems. + * + * Think of a better way to support eg. extract safely in + * sequential mode. + */ + #ifdef HAVE_COND_INIT gint64 time; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/libvips/foreign/dzsave.c new/vips-7.38.5/libvips/foreign/dzsave.c --- old/vips-7.38.3/libvips/foreign/dzsave.c 2014-01-26 11:30:04.000000000 +0100 +++ new/vips-7.38.5/libvips/foreign/dzsave.c 2014-02-25 17:11:23.000000000 +0100 @@ -36,9 +36,6 @@ * - add --angle option * 19/6/13 * - faster --centre logic, thanks Kacey - * 25/6/13 - * - ping classes before starting workers, see comment below, thanks - * Kacey */ /* @@ -1170,37 +1167,6 @@ return( 0 ); } -static void * -vips_class_ping( VipsObjectClass *class, void *dummy ) -{ - return( NULL ); -} - -/* Loop over all classes. This will make sure they are all built. - * - * vips_dzsave() runs a set of pipelines from worker threads, and if the - * operations it uses have not all been used previously, they can run their - * class_init in parallel. - * - * This should be safe but seems not to be for reasons I don't understand. - * For now, just ping all classes from the main thread before we set the - * workers going. - * - * This stops a crash on very many core machines, see - * - * https://github.com/jcupitt/libvips/issues/64 - */ -static void -vips_class_ping_all( void ) -{ - GType base; - - if( !(base = g_type_from_name( "VipsObject" )) ) - return; - vips_class_map_all( base, - (VipsClassMapFn) vips_class_ping, NULL ); -} - static int vips_foreign_save_dz_build( VipsObject *object ) { @@ -1328,10 +1294,6 @@ if( pyramid_mkdir( dz ) ) return( -1 ); - /* Build all vips classes, see comment above. - */ - vips_class_ping_all(); - if( vips_sink_disc( save->ready, pyramid_strip, dz ) ) return( -1 ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/libvips/foreign/jpeg2vips.c new/vips-7.38.5/libvips/foreign/jpeg2vips.c --- old/vips-7.38.3/libvips/foreign/jpeg2vips.c 2014-02-03 17:17:31.000000000 +0100 +++ new/vips-7.38.5/libvips/foreign/jpeg2vips.c 2014-02-25 17:11:23.000000000 +0100 @@ -55,6 +55,8 @@ * - attach IPCT data (app13), thanks Gary * 6/7/13 * - null-terminate exif strings, thanks Mike + * 24/2/14 + * - don't write to our input buffer, thanks Lovell */ /* @@ -891,8 +893,8 @@ int y; #ifdef DEBUG - printf( "read_jpeg_generate: line %d, %d rows\n", - r->top, r->height ); + printf( "read_jpeg_generate: %p line %d, %d rows\n", + g_thread_self(), r->top, r->height ); #endif /*DEBUG*/ VIPS_GATE_START( "read_jpeg_generate: work" ); @@ -1104,24 +1106,23 @@ static boolean fill_input_buffer (j_decompress_ptr cinfo) { + static const JOCTET eoi_buffer[4] = { + (JOCTET) 0xFF, (JOCTET) JPEG_EOI, 0, 0 + }; + InputBuffer *src = (InputBuffer *) cinfo->src; - size_t nbytes; if (src->start_of_file) { - nbytes = src->len; + src->pub.next_input_byte = src->buf; + src->pub.bytes_in_buffer = src->len; + src->start_of_file = FALSE; } else { WARNMS(cinfo, JWRN_JPEG_EOF); - /* Insert a fake EOI marker */ - src->buf[0] = (JOCTET) 0xFF; - src->buf[1] = (JOCTET) JPEG_EOI; - nbytes = 2; + src->pub.next_input_byte = eoi_buffer; + src->pub.bytes_in_buffer = 2; } - src->pub.next_input_byte = src->buf; - src->pub.bytes_in_buffer = nbytes; - src->start_of_file = FALSE; - return TRUE; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/libvips/foreign/webp2vips.c new/vips-7.38.5/libvips/foreign/webp2vips.c --- old/vips-7.38.3/libvips/foreign/webp2vips.c 2014-01-26 11:30:04.000000000 +0100 +++ new/vips-7.38.5/libvips/foreign/webp2vips.c 2014-02-25 17:19:23.000000000 +0100 @@ -1,7 +1,9 @@ /* read with libwebp * * 6/8/13 - * - from webp2vips.c + * - from png2vips.c + * 24/2/14 + * - oops, buffer path was broken, thanks Lovell */ /* @@ -66,10 +68,15 @@ */ char *filename; - /* Memory source. + /* Memory source. We se gint64 rather than size_t since we use + * vips_file_length() and vips__mmap() for file sources. */ - void *buf; - size_t len; + void *data; + gint64 length; + + /* If we are opening a file object, the fd. + */ + int fd; /* Decoder config. */ @@ -95,43 +102,58 @@ static int read_free( Read *read ) { - VIPS_FREE( read->filename ); VIPS_FREEF( WebPIDelete, read->idec ); WebPFreeDecBuffer( &read->config.output ); + + if( read->fd && + read->data && + read->length ) { + vips__munmap( read->data, read->length ); + read->data = NULL; + read->length = 0; + } + + VIPS_FREEF( vips_tracked_close, read->fd ); + VIPS_FREE( read->filename ); VIPS_FREE( read ); return( 0 ); } static Read * -read_new( const char *filename, void *buf, size_t len ) +read_new( const char *filename, void *data, size_t length ) { Read *read; - unsigned char header[MINIMAL_HEADER]; if( !(read = VIPS_NEW( NULL, Read )) ) return( NULL ); read->filename = g_strdup( filename ); - read->buf = buf; - read->len = len; + read->data = data; + read->length = length; + read->fd = 0; read->idec = NULL; - WebPInitDecoderConfig( &read->config ); - if( filename ) { - if( vips__get_bytes( filename, header, MINIMAL_HEADER ) && - WebPGetFeatures( header, MINIMAL_HEADER, - &read->config.input ) != VP8_STATUS_OK ) { + if( read->filename ) { + /* libwebp makes streaming from a file source very hard. We + * have to read to a full memory buffer, then copy to out. + * + * mmap the input file, it's slightly quicker. + */ + if( !(read->fd = vips__open_image_read( read->filename )) || + (read->length = vips_file_length( read->fd )) < 0 || + !(read->data = vips__mmap( read->fd, + FALSE, read->length, 0 )) ) { read_free( read ); return( NULL ); } } - else { - if( WebPGetFeatures( read->buf, read->len, - &read->config.input ) != VP8_STATUS_OK ) { - read_free( read ); - return( NULL ); - } + + WebPInitDecoderConfig( &read->config ); + if( WebPGetFeatures( read->data, MINIMAL_HEADER, + &read->config.input ) != VP8_STATUS_OK ) { + read_free( read ); + return( NULL ); } if( read->config.input.has_alpha ) @@ -186,51 +208,27 @@ { VipsImage **t = (VipsImage **) vips_object_local_array( VIPS_OBJECT( out ), 3 ); - gint64 length; - void *data; - int fd; webp_decoder decoder; - /* libwebp makes streaming very hard. We have to read to a full memory - * buffer, then copy to out. - * - * mmap the input file, it's slightly quicker. - */ t[0] = vips_image_new_buffer(); if( read_header( read, t[0] ) ) return( -1 ); if( vips_image_write_prepare( t[0] ) ) return( -1 ); - if( !(fd = vips__open_image_read( read->filename )) ) - return( -1 ); - if( (length = vips_file_length( fd )) < 0 ) { - vips_tracked_close( fd ); - return( -1 ); - } - if( !(data = vips__mmap( fd, FALSE, length, 0 )) ) { - vips_tracked_close( fd ); - return( -1 ); - } - if( t[0]->Bands == 3 ) decoder = WebPDecodeRGBInto; else decoder = WebPDecodeRGBAInto; - if( !decoder( (uint8_t *) data, length, + if( !decoder( (uint8_t *) read->data, read->length, VIPS_IMAGE_ADDR( t[0], 0, 0 ), VIPS_IMAGE_SIZEOF_IMAGE( t[0] ), VIPS_IMAGE_SIZEOF_LINE( t[0] ) ) ) { - vips__munmap( data, length ); - vips_tracked_close( fd ); vips_error( "webp2vips", "%s", _( "unable to read pixels" ) ); return( -1 ); } - vips__munmap( data, length ); - vips_tracked_close( fd ); - if( vips_image_write( t[0], out ) ) return( -1 ); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/libvips/include/vips/version.h new/vips-7.38.5/libvips/include/vips/version.h --- old/vips-7.38.3/libvips/include/vips/version.h 2014-02-04 10:00:56.000000000 +0100 +++ new/vips-7.38.5/libvips/include/vips/version.h 2014-02-25 17:50:50.000000000 +0100 @@ -4,11 +4,11 @@ #ifndef VIPS_VERSION_H #define VIPS_VERSION_H -#define VIPS_VERSION "7.38.3" -#define VIPS_VERSION_STRING "7.38.3-Tue Feb 4 09:00:47 GMT 2014" +#define VIPS_VERSION "7.38.5" +#define VIPS_VERSION_STRING "7.38.5-Tue Feb 25 16:50:39 GMT 2014" #define VIPS_MAJOR_VERSION (7) #define VIPS_MINOR_VERSION (38) -#define VIPS_MICRO_VERSION (3) +#define VIPS_MICRO_VERSION (5) /* Not really anything to do with versions, but this is a handy place to put * it. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/libvips/iofuncs/object.c new/vips-7.38.5/libvips/iofuncs/object.c --- old/vips-7.38.3/libvips/iofuncs/object.c 2014-02-04 09:49:29.000000000 +0100 +++ new/vips-7.38.5/libvips/iofuncs/object.c 2014-02-25 17:18:42.000000000 +0100 @@ -349,7 +349,13 @@ VipsArgument * vips__argument_table_lookup( VipsArgumentTable *table, GParamSpec *pspec ) { - return( g_hash_table_lookup( table, pspec ) ); + VipsArgument *argument; + + g_mutex_lock( vips__global_lock ); + argument = (VipsArgument *) g_hash_table_lookup( table, pspec ); + g_mutex_unlock( vips__global_lock ); + + return( argument ); } static void @@ -1400,6 +1406,7 @@ GParamSpec *pspec, VipsArgumentFlags flags, int priority, guint offset ) { VipsArgumentClass *argument_class = g_new( VipsArgumentClass, 1 ); + GSList *argument_table_traverse; #ifdef DEBUG printf( "vips_object_class_install_argument: %p %s %s\n", @@ -1408,10 +1415,13 @@ g_param_spec_get_name( pspec ) ); #endif /*DEBUG*/ + /* object_class->argument* is shared, so we must lock. + */ + g_mutex_lock( vips__global_lock ); + /* Must be a new one. */ - g_assert( !vips__argument_table_lookup( object_class->argument_table, - pspec ) ); + g_assert( !g_hash_table_lookup( object_class->argument_table, pspec ) ); /* Mustn't have INPUT and OUTPUT both set. */ @@ -1444,10 +1454,21 @@ G_TYPE_FROM_CLASS( object_class ); } - object_class->argument_table_traverse = g_slist_prepend( - object_class->argument_table_traverse, argument_class ); - object_class->argument_table_traverse = g_slist_sort( - object_class->argument_table_traverse, traverse_sort ); + /* We read argument_table_traverse without a lock (eg. see + * vips_argument_map()), so we must be very careful updating it. + */ + argument_table_traverse = + g_slist_copy( object_class->argument_table_traverse ); + + argument_table_traverse = g_slist_prepend( + argument_table_traverse, argument_class ); + argument_table_traverse = g_slist_sort( + argument_table_traverse, traverse_sort ); + VIPS_SWAP( GSList *, + argument_table_traverse, + object_class->argument_table_traverse ); + + g_slist_free( argument_table_traverse ); #ifdef DEBUG { @@ -1467,6 +1488,8 @@ } } #endif /*DEBUG*/ + + g_mutex_unlock( vips__global_lock ); } static void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/libvips/iofuncs/sinkmemory.c new/vips-7.38.5/libvips/iofuncs/sinkmemory.c --- old/vips-7.38.3/libvips/iofuncs/sinkmemory.c 2013-12-16 11:21:17.000000000 +0100 +++ new/vips-7.38.5/libvips/iofuncs/sinkmemory.c 2014-02-25 17:11:23.000000000 +0100 @@ -180,7 +180,7 @@ VipsRect image; VipsRect tile; - VIPS_DEBUG_MSG( "sink_memory_area_allocate_fn:\n" ); + VIPS_DEBUG_MSG( "sink_memory_area_allocate_fn: %p\n", g_thread_self() ); /* Is the state x/y OK? New line or maybe new buffer or maybe even * all done. @@ -231,7 +231,8 @@ */ wstate->area = memory->area; - VIPS_DEBUG_MSG( " allocated %d x %d:\n", tile.left, tile.top ); + VIPS_DEBUG_MSG( " %p allocated %d x %d:\n", + g_thread_self(), state->pos.left, state->pos.top ); /* Add to the number of writers on the area. */ @@ -260,13 +261,13 @@ int result; VIPS_DEBUG_MSG( "sink_memory_area_work_fn: %p %d x %d\n", - state, state->pos.left, state->pos.top ); + g_thread_self(), state->pos.left, state->pos.top ); result = vips_region_prepare_to( state->reg, memory->region, &state->pos, state->pos.left, state->pos.top ); VIPS_DEBUG_MSG( "sink_memory_area_work_fn: %p result = %d\n", - state, result ); + g_thread_self(), result ); /* Tell the allocator we're done. */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/vips-7.38.3/tools/vipsthumbnail.c new/vips-7.38.5/tools/vipsthumbnail.c --- old/vips-7.38.3/tools/vipsthumbnail.c 2014-01-26 11:30:05.000000000 +0100 +++ new/vips-7.38.5/tools/vipsthumbnail.c 2014-02-25 17:11:23.000000000 +0100 @@ -608,15 +608,15 @@ static int thumbnail_process( VipsObject *process, const char *filename ) { + VipsImage *sharpen = thumbnail_sharpen( process ); + VipsImage *in; VipsInterpolate *interp; - VipsImage *sharpen; VipsImage *thumbnail; VipsImage *crop; if( !(in = thumbnail_open( process, filename )) || !(interp = thumbnail_interpolator( process, in )) || - !(sharpen = thumbnail_sharpen( process )) || !(thumbnail = thumbnail_shrink( process, in, interp, sharpen )) || !(crop = thumbnail_crop( process, thumbnail )) || -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org
participants (1)
-
root@hilbert.suse.de