Hello community,

here is the log from the commit of package librsvg for openSUSE:Factory checked 
in at 2016-04-07 13:36:26
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/librsvg (Old)
 and      /work/SRC/openSUSE:Factory/.librsvg.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "librsvg"

Changes:
--------
--- /work/SRC/openSUSE:Factory/librsvg/librsvg.changes  2016-01-12 
16:11:31.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.librsvg.new/librsvg.changes     2016-04-07 
13:36:28.000000000 +0200
@@ -1,0 +2,15 @@
+Sat Apr  2 09:58:17 UTC 2016 - [email protected]
+
+- Update to version 2.40.15:
+  + Librsvg now uses the Contributor Covenant Code of Conduct,
+    version 1.4, to which all contributors and maintainers are
+    expected to abide. Please see the code_of_conduct.md file for
+    details.
+  + Fixed builds on Visual Studio pre-2012.
+  + Fixed bgo#759084: Don't crash when filters don't actually
+    exist.
+  + Updated our autogen.sh to use modern autotools.
+  + Fixed bgo#761728: Memory leak in the PrimitiveComponentTransfer
+    filter.
+
+-------------------------------------------------------------------

Old:
----
  librsvg-2.40.13.tar.xz

New:
----
  librsvg-2.40.15.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ librsvg.spec ++++++
--- /var/tmp/diff_new_pack.V5N5f7/_old  2016-04-07 13:36:29.000000000 +0200
+++ /var/tmp/diff_new_pack.V5N5f7/_new  2016-04-07 13:36:29.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           librsvg
-Version:        2.40.13
+Version:        2.40.15
 Release:        0
 Summary:        A Library for Rendering SVG Data
 License:        LGPL-2.0+ and GPL-2.0+

++++++ librsvg-2.40.13.tar.xz -> librsvg-2.40.15.tar.xz ++++++
++++ 2155 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/librsvg-2.40.13/ChangeLog new/librsvg-2.40.15/ChangeLog
--- old/librsvg-2.40.13/ChangeLog       2016-01-08 02:44:51.000000000 +0100
+++ new/librsvg-2.40.15/ChangeLog       2016-04-02 02:50:36.000000000 +0200
@@ -1,3 +1,127 @@
+commit f4296d2b385fd7bf5b369a8ba249fb4c0fb87da8
+Author: Federico Mena Quintero <[email protected]>
+Date:   Wed Mar 30 19:48:56 2016 -0600
+
+    RsvgFilterPrimitive: use a single destructor for most subclasses
+    
+    Instead of duplicating code to free the superclass all over the place,
+    use a single function.
+    
+    Also, remove a bit of the 'upself' idiom - it's unreadable.
+
+ rsvg-filter.c | 287 +++++++++++++++++++++++-----------------------------------
+ 1 file changed, 111 insertions(+), 176 deletions(-)
+
+commit 76ad48b8210168869cedb1419b1e49dcf2e064a1
+Author: Ron Hopper <[email protected]>
+Date:   Mon Feb 8 15:21:08 2016 -0500
+
+    RsvgFilterPrimitiveComponentTransfer: add destructor; fix memory leak
+    
+    https://bugzilla.gnome.org/show_bug.cgi?id=761728
+
+ rsvg-filter.c | 14 ++++++++++++--
+ 1 file changed, 12 insertions(+), 2 deletions(-)
+
+commit 03c5bfcfee7736b1c29255f489053a0bd90ce714
+Author: Federico Mena Quintero <[email protected]>
+Date:   Wed Feb 10 19:12:30 2016 -0600
+
+    s/propegate/propagate
+
+ gdk-pixbuf-loader/io-svg.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 5dc85eb2a13f92ba3be32669e7f6e9178b1d643c
+Author: Federico Mena Quintero <[email protected]>
+Date:   Wed Feb 10 19:05:40 2016 -0600
+
+    Bump version to 2.40.14
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit fcbb915d8594a246cace478095a9124aa0df60f1
+Author: Federico Mena Quintero <[email protected]>
+Date:   Wed Feb 10 19:00:37 2016 -0600
+
+    Update the Contributor Covenant to version 1.4
+
+ code_of_conduct.md | 80 +++++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 52 insertions(+), 28 deletions(-)
+
+commit 6eabff9d11d9111a9565ae4cdeed841157308737
+Author: Javier Jardón <[email protected]>
+Date:   Mon Feb 8 13:15:25 2016 +0000
+
+    autogen.sh: Replace deprecated gnome-autogen.sh with standard autotools
+    
+    See https://wiki.gnome.org/Projects/GnomeCommon/Migration
+
+ autogen.sh | 61 +++++++++++++++++++++++++++++--------------------------------
+ 1 file changed, 29 insertions(+), 32 deletions(-)
+
+commit 7948f3b862a8c43c68de0951927e3a3402a580f9
+Author: Federico Mena Quintero <[email protected]>
+Date:   Fri Jan 29 19:19:52 2016 -0600
+
+    Add a code of conduct, the Contributor Covenant 1.3.0
+    
+    http://contributor-covenant.org
+
+ README             |  2 ++
+ code_of_conduct.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 52 insertions(+)
+
+commit d937c691678803ceda6be701587d997ccd03a1da
+Author: Benjamin Otte <[email protected]>
+Date:   Fri Jan 29 12:49:55 2016 +0100
+
+    Don't crash when filters don't exist
+    
+    We put a new surface on the stack if a filter existed by name but we
+    didn't pop it if the name didn't resolve to a real filter.
+    
+    New test: crash/bug759084.svg
+    
+    https://bugzilla.gnome.org/show_bug.cgi?id=759084
+
+ rsvg-cairo-draw.c                  | 6 +++---
+ tests/fixtures/crash/bug759084.svg | 9 +++++++++
+ 2 files changed, 12 insertions(+), 3 deletions(-)
+
+commit 91e50fe393a25eeff7c5e4430d5666362bce0283
+Author: Benjamin Otte <[email protected]>
+Date:   Thu Dec 10 22:59:30 2015 +0100
+
+    filter: Remove unused variables
+
+ rsvg-filter.c | 30 ------------------------------
+ 1 file changed, 30 deletions(-)
+
+commit 2ae18d05e654b1130fa7397b316d270be1707450
+Author: Chun-wei Fan <[email protected]>
+Date:   Thu Jan 21 18:13:54 2016 +0800
+
+    Visual Studio builds: Fix pre-Visual Studio 2012 builds
+    
+    A recent commit made use of the C99 function isnan(), which is not
+    supported directly in pre-2013 Visual Studio.  Earlier Visual Studio
+    however does provide _isnan() which does what we will need, so add a
+    fallback math.h in build/win32/vs9 that defines isnan() and includes the
+    stock math.h, and make the projects include this math.h.
+    
+    This header is copied to the build/win32/vs[10|11] during 'make dist', as
+    Visual Studio 2010 and 2012 will need this as well.
+
+ build/win32/vs10/Makefile.am               |  6 ++++-
+ build/win32/vs10/rsvg-build-defines.props  |  2 +-
+ build/win32/vs11/Makefile.am               |  6 ++++-
+ build/win32/vs9/Makefile.am                |  1 +
+ build/win32/vs9/math.h                     | 39 ++++++++++++++++++++++++++++++
+ build/win32/vs9/rsvg-build-defines.vsprops |  2 +-
+ 6 files changed, 52 insertions(+), 4 deletions(-)
+
 commit a12e7b90e7b9fa6a6a325f39fb409722b06a6735
 Author: Federico Mena Quintero <[email protected]>
 Date:   Thu Jan 7 19:37:34 2016 -0600
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/librsvg-2.40.13/NEWS new/librsvg-2.40.15/NEWS
--- old/librsvg-2.40.13/NEWS    2016-01-08 02:43:51.000000000 +0100
+++ new/librsvg-2.40.15/NEWS    2016-04-02 02:49:59.000000000 +0200
@@ -1,3 +1,16 @@
+Version 2.40.15
+- Apologies for the lack of 2.40.14.  I mistakenly tagged the
+  repository before updating the NEWS file.
+- librsvg now uses the Contributor Covenant Code of Conduct, 
+  version 1.4, to which all contributors and maintainers are expected
+  to abide. Please see the code_of_conduct.md file for details.
+- Chun-wei Fan fixed builds on Visual Studio pre-2012.
+- Fixed bgo#759084 - Don't crash when filters don't actually exist
+  Fix by Benjamin Otte.
+- Javier Jardón updated our autogen.sh to use modern autotools.
+- Fixed bgo#761728 - Memory leak in the PrimitiveComponentTransfer
+  filter.  Fix by Ron Hopper.
+
 Version 2.40.13
 - Chun-wei Fan and Paolo Borelli fixed the Windows build.
 - Menner added basic support for the "baseline-shift" attribute in
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/librsvg-2.40.13/README new/librsvg-2.40.15/README
--- old/librsvg-2.40.13/README  2015-04-16 02:24:40.000000000 +0200
+++ new/librsvg-2.40.15/README  2016-01-30 02:16:20.000000000 +0100
@@ -1,3 +1,5 @@
 This is librsvg - A high performance SVG rendering library associated with the 
Gnome Project.
 
 Please report bugs at http://bugzilla.gnome.org/enter_bug.cgi?product=librsvg
+
+There is a code of conduct for contributors to librsvg; please see the file 
code_of_conduct.md.
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/librsvg-2.40.13/build/win32/vs10/Makefile.am 
new/librsvg-2.40.15/build/win32/vs10/Makefile.am
--- old/librsvg-2.40.13/build/win32/vs10/Makefile.am    2015-10-08 
00:25:45.000000000 +0200
+++ new/librsvg-2.40.15/build/win32/vs10/Makefile.am    2016-01-21 
16:52:34.000000000 +0100
@@ -3,7 +3,8 @@
        rsvg.vcxproj.filters            \
        rsvg-convert.vcxproj            \
        rsvg-convert.vcxproj.filters    \
-       rsvg-install.props
+       rsvg-install.props              \
+       math.h
 
 EXTRA_DIST =   \
        librsvg.sln                             \
@@ -27,6 +28,9 @@
        $(CPP) -P - <$(top_srcdir)/build/win32/vs10/rsvg-install.propsin >$@
        rm rsvg.vs10.headers
 
+math.h: $(top_srcdir)/build/win32/vs9/math.h
+       cp $< $@
+
 DISTCLEANFILES = $(GENERATED_ITEMS)
 
 -include $(top_srcdir)/git.mk
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/librsvg-2.40.13/build/win32/vs10/math.h 
new/librsvg-2.40.15/build/win32/vs10/math.h
--- old/librsvg-2.40.13/build/win32/vs10/math.h 1970-01-01 01:00:00.000000000 
+0100
+++ new/librsvg-2.40.15/build/win32/vs10/math.h 2016-04-01 23:21:54.000000000 
+0200
@@ -0,0 +1,39 @@
+/* librsvg - SVG rendering library
+ * Copyright (C) 2015 Chun-wei Fan <[email protected]>
+ *
+ * Author: Chun-wei Fan <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <float.h>
+
+/* include the system's math.h */
+#include <../include/math.h>
+#include <glib.h>
+
+#if (_MSC_VER < 1800)
+/* it seems of the supported compilers only
+ * MSVC does not have isnan(), but it does
+ * have _isnan() which does the same as isnan()
+ */
+#ifndef __MSVC_ISNAN_FALLBACK__
+#define __MSVC_ISNAN_FALLBACK__
+static inline gboolean
+isnan (double x)
+{
+  return _isnan (x);
+}
+#endif /* __MSVC_ISNAN_FALLBACK__ */
+#endif /* _MSC_VER < 1800 */
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/librsvg-2.40.13/build/win32/vs10/rsvg-build-defines.props 
new/librsvg-2.40.15/build/win32/vs10/rsvg-build-defines.props
--- old/librsvg-2.40.13/build/win32/vs10/rsvg-build-defines.props       
2016-01-05 20:44:05.000000000 +0100
+++ new/librsvg-2.40.15/build/win32/vs10/rsvg-build-defines.props       
2016-01-21 16:52:34.000000000 +0100
@@ -5,7 +5,7 @@
   </ImportGroup>
   <PropertyGroup Label="UserMacros">
     
<LibRsvgCFlags>G_LOG_DOMAIN="librsvg";RSVG_DISABLE_DEPRECATION_WARNINGS;RSVG_COMPILATION</LibRsvgCFlags>
-    
<LibRsvgIncPath>$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\libcroco-0.6;$(GlibEtcInstallRoot)\include\libxml2</LibRsvgIncPath>
+    
<LibRsvgIncPath>$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\libcroco-0.6;$(GlibEtcInstallRoot)\include\libxml2;.\</LibRsvgIncPath>
     
<LibRsvgLibs>pangocairo-1.0.lib;pango-1.0.lib;croco-0.6.lib;libxml2.lib</LibRsvgLibs>
     <IntlLib>intl.lib</IntlLib>
     
<Gtk3IncPath>$(GlibEtcInstallRoot)\include\gtk-3.0;$(GlibEtcInstallRoot)\include\atk-1.0;$(LibRsvgIncPath)</Gtk3IncPath>
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/librsvg-2.40.13/build/win32/vs11/Makefile.am 
new/librsvg-2.40.15/build/win32/vs11/Makefile.am
--- old/librsvg-2.40.13/build/win32/vs11/Makefile.am    2015-10-08 
00:25:45.000000000 +0200
+++ new/librsvg-2.40.15/build/win32/vs11/Makefile.am    2016-01-21 
16:52:34.000000000 +0100
@@ -13,7 +13,8 @@
        rsvg-install.vcxproj                    \
        rsvg-view-3.vcxproj                     \
        rsvg-view-3.vcxproj.filters             \
-       README.txt 
+       README.txt                              \
+       math.h
 
 DISTCLEANFILES = $(EXTRA_DIST)
 
@@ -22,3 +23,6 @@
 MSVC_VER_LONG = 2012
 
 include $(top_srcdir)/build/Makefile-newvs.am
+
+math.h: $(top_srcdir)/build/win32/vs9/math.h
+       cp $< $@
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/librsvg-2.40.13/build/win32/vs11/math.h 
new/librsvg-2.40.15/build/win32/vs11/math.h
--- old/librsvg-2.40.13/build/win32/vs11/math.h 1970-01-01 01:00:00.000000000 
+0100
+++ new/librsvg-2.40.15/build/win32/vs11/math.h 2016-04-01 23:21:54.000000000 
+0200
@@ -0,0 +1,39 @@
+/* librsvg - SVG rendering library
+ * Copyright (C) 2015 Chun-wei Fan <[email protected]>
+ *
+ * Author: Chun-wei Fan <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <float.h>
+
+/* include the system's math.h */
+#include <../include/math.h>
+#include <glib.h>
+
+#if (_MSC_VER < 1800)
+/* it seems of the supported compilers only
+ * MSVC does not have isnan(), but it does
+ * have _isnan() which does the same as isnan()
+ */
+#ifndef __MSVC_ISNAN_FALLBACK__
+#define __MSVC_ISNAN_FALLBACK__
+static inline gboolean
+isnan (double x)
+{
+  return _isnan (x);
+}
+#endif /* __MSVC_ISNAN_FALLBACK__ */
+#endif /* _MSC_VER < 1800 */
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/librsvg-2.40.13/build/win32/vs9/Makefile.am 
new/librsvg-2.40.15/build/win32/vs9/Makefile.am
--- old/librsvg-2.40.13/build/win32/vs9/Makefile.am     2015-10-08 
00:25:45.000000000 +0200
+++ new/librsvg-2.40.15/build/win32/vs9/Makefile.am     2016-01-21 
16:52:34.000000000 +0100
@@ -15,6 +15,7 @@
        rsvg-install.vcproj             \
        rsvg-view-3.vcproj              \
        README.txt                      \
+       math.h                          \
        $(GENERATED_ITEMS)
 
 rsvg-install.vsprops: $(top_srcdir)/build/win32/vs9/rsvg-install.vspropsin 
rsvg.headers
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/librsvg-2.40.13/build/win32/vs9/math.h 
new/librsvg-2.40.15/build/win32/vs9/math.h
--- old/librsvg-2.40.13/build/win32/vs9/math.h  1970-01-01 01:00:00.000000000 
+0100
+++ new/librsvg-2.40.15/build/win32/vs9/math.h  2016-01-21 16:52:34.000000000 
+0100
@@ -0,0 +1,39 @@
+/* librsvg - SVG rendering library
+ * Copyright (C) 2015 Chun-wei Fan <[email protected]>
+ *
+ * Author: Chun-wei Fan <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <float.h>
+
+/* include the system's math.h */
+#include <../include/math.h>
+#include <glib.h>
+
+#if (_MSC_VER < 1800)
+/* it seems of the supported compilers only
+ * MSVC does not have isnan(), but it does
+ * have _isnan() which does the same as isnan()
+ */
+#ifndef __MSVC_ISNAN_FALLBACK__
+#define __MSVC_ISNAN_FALLBACK__
+static inline gboolean
+isnan (double x)
+{
+  return _isnan (x);
+}
+#endif /* __MSVC_ISNAN_FALLBACK__ */
+#endif /* _MSC_VER < 1800 */
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/librsvg-2.40.13/build/win32/vs9/rsvg-build-defines.vsprops 
new/librsvg-2.40.15/build/win32/vs9/rsvg-build-defines.vsprops
--- old/librsvg-2.40.13/build/win32/vs9/rsvg-build-defines.vsprops      
2016-01-05 20:44:05.000000000 +0100
+++ new/librsvg-2.40.15/build/win32/vs9/rsvg-build-defines.vsprops      
2016-01-21 16:52:34.000000000 +0100
@@ -21,7 +21,7 @@
        />
        <UserMacro
                Name="LibRsvgIncPath"
-               
Value="$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\libcroco-0.6;$(GlibEtcInstallRoot)\include\libxml2"
+               
Value="$(GlibEtcInstallRoot)\include\pango-1.0;$(GlibEtcInstallRoot)\include\libcroco-0.6;$(GlibEtcInstallRoot)\include\libxml2;.\"
        />
        <UserMacro
                Name="Gtk3IncPath"
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/librsvg-2.40.13/config.h.win32 new/librsvg-2.40.15/config.h.win32
--- old/librsvg-2.40.13/config.h.win32  2015-12-02 21:27:37.000000000 +0100
+++ new/librsvg-2.40.15/config.h.win32  2016-04-02 02:50:29.000000000 +0200
@@ -64,7 +64,7 @@
 #define PACKAGE_NAME "RSVG"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "RSVG 2.40.13"
+#define PACKAGE_STRING "RSVG 2.40.15"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "librsvg"
@@ -73,13 +73,13 @@
 #define PACKAGE_URL ""
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "2.40.13"
+#define PACKAGE_VERSION "2.40.15"
 
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
 
 /* Version number of package */
-#define VERSION "2.40.13"
+#define VERSION "2.40.15"
 
 /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
    significant byte first (like Motorola and SPARC, unlike Intel). */
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/librsvg-2.40.13/configure.ac new/librsvg-2.40.15/configure.ac
--- old/librsvg-2.40.13/configure.ac    2015-12-02 02:18:33.000000000 +0100
+++ new/librsvg-2.40.15/configure.ac    2016-04-02 02:50:08.000000000 +0200
@@ -1,6 +1,6 @@
 m4_define([rsvg_major_version],[2])
 m4_define([rsvg_minor_version],[40])
-m4_define([rsvg_micro_version],[13])
+m4_define([rsvg_micro_version],[15])
 m4_define([rsvg_extra_version],[])
 
m4_define([rsvg_version],[rsvg_major_version.rsvg_minor_version.rsvg_micro_version()rsvg_extra_version])
 m4_define([rsvg_lt_version_info],m4_eval(rsvg_major_version + 
rsvg_minor_version):rsvg_micro_version:rsvg_minor_version)
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/librsvg-2.40.13/doc/html/index.html new/librsvg-2.40.15/doc/html/index.html
--- old/librsvg-2.40.13/doc/html/index.html     2016-01-08 02:44:53.000000000 
+0100
+++ new/librsvg-2.40.15/doc/html/index.html     2016-04-02 02:50:39.000000000 
+0200
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" 
cellspacing="0"><tr><th valign="middle"><p class="title">RSVG Libary Reference 
Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      For RSVG version 2.40.13
+      For RSVG version 2.40.15
 .
       The latest version of this documentation can be found on-line at the
       <a class="ulink" href="http://library.gnome.org/devel/rsvg/index.html"; 
target="_top">GNOME Library</a>.
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/librsvg-2.40.13/doc/version.xml new/librsvg-2.40.15/doc/version.xml
--- old/librsvg-2.40.13/doc/version.xml 2015-12-02 21:27:37.000000000 +0100
+++ new/librsvg-2.40.15/doc/version.xml 2016-04-02 02:50:29.000000000 +0200
@@ -1 +1 @@
-2.40.13
+2.40.15
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/librsvg-2.40.13/gdk-pixbuf-loader/io-svg.c 
new/librsvg-2.40.15/gdk-pixbuf-loader/io-svg.c
--- old/librsvg-2.40.13/gdk-pixbuf-loader/io-svg.c      2015-04-16 
02:24:40.000000000 +0200
+++ new/librsvg-2.40.15/gdk-pixbuf-loader/io-svg.c      2016-02-11 
02:12:18.000000000 +0100
@@ -52,7 +52,7 @@
 } RsvgLoaderErrorReasons;
 
 static void
-rsvg_propegate_error (GError ** err,
+rsvg_propagate_error (GError ** err,
                       const char * reason,
                       gint code)
 {
@@ -118,7 +118,7 @@
                 context->handle = rsvg_handle_new ();
 
                 if (!context->handle) {
-                        rsvg_propegate_error (error, _("Error displaying 
image"), ERROR_DISPLAYING_IMAGE);
+                        rsvg_propagate_error (error, _("Error displaying 
image"), ERROR_DISPLAYING_IMAGE);
                         return FALSE;
                 }
 
@@ -126,12 +126,12 @@
         }
 
         if (!context->handle) {
-                rsvg_propegate_error (error, _("Error displaying image"), 
ERROR_DISPLAYING_IMAGE);
+                rsvg_propagate_error (error, _("Error displaying image"), 
ERROR_DISPLAYING_IMAGE);
                 return FALSE;
         }
 
         if (!rsvg_handle_write (context->handle, buf, size, error)) {
-                rsvg_propegate_error (error, _("Error writing"), 
ERROR_WRITING);
+                rsvg_propagate_error (error, _("Error writing"), 
ERROR_WRITING);
                 return FALSE;
         }
 
@@ -149,7 +149,7 @@
                 *error = NULL;
 
         if (!context->handle) {
-                rsvg_propegate_error (error, _("Error displaying image"), 
ERROR_DISPLAYING_IMAGE);
+                rsvg_propagate_error (error, _("Error displaying image"), 
ERROR_DISPLAYING_IMAGE);
                 return FALSE;
         }
 
@@ -163,7 +163,7 @@
                 g_object_unref (pixbuf);
         }
         else {
-                rsvg_propegate_error (error, _("Error displaying image"), 
ERROR_DISPLAYING_IMAGE);
+                rsvg_propagate_error (error, _("Error displaying image"), 
ERROR_DISPLAYING_IMAGE);
                 result = FALSE;
         }
 
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/librsvg-2.40.13/librsvg-features.h new/librsvg-2.40.15/librsvg-features.h
--- old/librsvg-2.40.13/librsvg-features.h      2015-12-02 21:27:36.000000000 
+0100
+++ new/librsvg-2.40.15/librsvg-features.h      2016-04-02 02:50:29.000000000 
+0200
@@ -7,8 +7,8 @@
 
 #define LIBRSVG_MAJOR_VERSION (2)
 #define LIBRSVG_MINOR_VERSION (40)
-#define LIBRSVG_MICRO_VERSION (13)
-#define LIBRSVG_VERSION "2.40.13"
+#define LIBRSVG_MICRO_VERSION (15)
+#define LIBRSVG_VERSION "2.40.15"
 
 #define LIBRSVG_CHECK_VERSION(major,minor,micro) \
   (LIBRSVG_MAJOR_VERSION > (major) || \
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/librsvg-2.40.13/m4/introspection.m4 new/librsvg-2.40.15/m4/introspection.m4
--- old/librsvg-2.40.13/m4/introspection.m4     1970-01-01 01:00:00.000000000 
+0100
+++ new/librsvg-2.40.15/m4/introspection.m4     2016-02-11 02:06:02.000000000 
+0100
@@ -0,0 +1,96 @@
+dnl -*- mode: autoconf -*-
+dnl Copyright 2009 Johan Dahlin
+dnl
+dnl This file is free software; the author(s) gives unlimited
+dnl permission to copy and/or distribute it, with or without
+dnl modifications, as long as this notice is preserved.
+dnl
+
+# serial 1
+
+m4_define([_GOBJECT_INTROSPECTION_CHECK_INTERNAL],
+[
+    AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first
+    AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first
+    AC_BEFORE([LT_INIT],[$0])dnl setup libtool first
+
+    dnl enable/disable introspection
+    m4_if([$2], [require],
+    [dnl
+        enable_introspection=yes
+    ],[dnl
+        AC_ARG_ENABLE(introspection,
+                  
AS_HELP_STRING([--enable-introspection[=@<:@no/auto/yes@:>@]],
+                                 [Enable introspection for this build]),, 
+                                 [enable_introspection=auto])
+    ])dnl
+
+    AC_MSG_CHECKING([for gobject-introspection])
+
+    dnl presence/version checking
+    AS_CASE([$enable_introspection],
+    [no], [dnl
+        found_introspection="no (disabled, use --enable-introspection to 
enable)"
+    ],dnl
+    [yes],[dnl
+        PKG_CHECK_EXISTS([gobject-introspection-1.0],,
+                         AC_MSG_ERROR([gobject-introspection-1.0 is not 
installed]))
+        PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1],
+                         found_introspection=yes,
+                         AC_MSG_ERROR([You need to have gobject-introspection 
>= $1 installed to build AC_PACKAGE_NAME]))
+    ],dnl
+    [auto],[dnl
+        PKG_CHECK_EXISTS([gobject-introspection-1.0 >= $1], 
found_introspection=yes, found_introspection=no)
+       dnl Canonicalize enable_introspection
+       enable_introspection=$found_introspection
+    ],dnl
+    [dnl       
+        AC_MSG_ERROR([invalid argument passed to --enable-introspection, 
should be one of @<:@no/auto/yes@:>@])
+    ])dnl
+
+    AC_MSG_RESULT([$found_introspection])
+
+    INTROSPECTION_SCANNER=
+    INTROSPECTION_COMPILER=
+    INTROSPECTION_GENERATE=
+    INTROSPECTION_GIRDIR=
+    INTROSPECTION_TYPELIBDIR=
+    if test "x$found_introspection" = "xyes"; then
+       INTROSPECTION_SCANNER=`$PKG_CONFIG --variable=g_ir_scanner 
gobject-introspection-1.0`
+       INTROSPECTION_COMPILER=`$PKG_CONFIG --variable=g_ir_compiler 
gobject-introspection-1.0`
+       INTROSPECTION_GENERATE=`$PKG_CONFIG --variable=g_ir_generate 
gobject-introspection-1.0`
+       INTROSPECTION_GIRDIR=`$PKG_CONFIG --variable=girdir 
gobject-introspection-1.0`
+       INTROSPECTION_TYPELIBDIR="$($PKG_CONFIG --variable=typelibdir 
gobject-introspection-1.0)"
+       INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags gobject-introspection-1.0`
+       INTROSPECTION_LIBS=`$PKG_CONFIG --libs gobject-introspection-1.0`
+       INTROSPECTION_MAKEFILE=`$PKG_CONFIG --variable=datadir 
gobject-introspection-1.0`/gobject-introspection-1.0/Makefile.introspection
+    fi
+    AC_SUBST(INTROSPECTION_SCANNER)
+    AC_SUBST(INTROSPECTION_COMPILER)
+    AC_SUBST(INTROSPECTION_GENERATE)
+    AC_SUBST(INTROSPECTION_GIRDIR)
+    AC_SUBST(INTROSPECTION_TYPELIBDIR)
+    AC_SUBST(INTROSPECTION_CFLAGS)
+    AC_SUBST(INTROSPECTION_LIBS)
+    AC_SUBST(INTROSPECTION_MAKEFILE)
+
+    AM_CONDITIONAL(HAVE_INTROSPECTION, test "x$found_introspection" = "xyes")
+])
+
+
+dnl Usage:
+dnl   GOBJECT_INTROSPECTION_CHECK([minimum-g-i-version])
+
+AC_DEFUN([GOBJECT_INTROSPECTION_CHECK],
+[
+  _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1])
+])
+
+dnl Usage:
+dnl   GOBJECT_INTROSPECTION_REQUIRE([minimum-g-i-version])
+
+
+AC_DEFUN([GOBJECT_INTROSPECTION_REQUIRE],
+[
+  _GOBJECT_INTROSPECTION_CHECK_INTERNAL([$1], [require])
+])
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/librsvg-2.40.13/m4/pkg.m4 new/librsvg-2.40.15/m4/pkg.m4
--- old/librsvg-2.40.13/m4/pkg.m4       1970-01-01 01:00:00.000000000 +0100
+++ new/librsvg-2.40.15/m4/pkg.m4       2016-02-11 02:06:02.000000000 +0100
@@ -0,0 +1,214 @@
+# pkg.m4 - Macros to locate and utilise pkg-config.            -*- Autoconf -*-
+# serial 1 (pkg-config-0.24)
+# 
+# Copyright © 2004 Scott James Remnant <[email protected]>.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# PKG_PROG_PKG_CONFIG([MIN-VERSION])
+# ----------------------------------
+AC_DEFUN([PKG_PROG_PKG_CONFIG],
+[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
+m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
+m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
+AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
+AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
+AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search 
path])
+
+if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
+       AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
+fi
+if test -n "$PKG_CONFIG"; then
+       _pkg_min_version=m4_default([$1], [0.9.0])
+       AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
+       if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
+               AC_MSG_RESULT([yes])
+       else
+               AC_MSG_RESULT([no])
+               PKG_CONFIG=""
+       fi
+fi[]dnl
+])# PKG_PROG_PKG_CONFIG
+
+# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+#
+# Check to see whether a particular set of modules exists.  Similar
+# to PKG_CHECK_MODULES(), but does not set variables or print errors.
+#
+# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+# only at the first occurence in configure.ac, so if the first place
+# it's called might be skipped (such as if it is within an "if", you
+# have to call PKG_CHECK_EXISTS manually
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_EXISTS],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+if test -n "$PKG_CONFIG" && \
+    AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
+  m4_default([$2], [:])
+m4_ifvaln([$3], [else
+  $3])dnl
+fi])
+
+# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
+# ---------------------------------------------
+m4_define([_PKG_CONFIG],
+[if test -n "$$1"; then
+    pkg_cv_[]$1="$$1"
+ elif test -n "$PKG_CONFIG"; then
+    PKG_CHECK_EXISTS([$3],
+                     [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
+                     test "x$?" != "x0" && pkg_failed=yes ],
+                    [pkg_failed=yes])
+ else
+    pkg_failed=untried
+fi[]dnl
+])# _PKG_CONFIG
+
+# _PKG_SHORT_ERRORS_SUPPORTED
+# -----------------------------
+AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi[]dnl
+])# _PKG_SHORT_ERRORS_SUPPORTED
+
+
+# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
+# [ACTION-IF-NOT-FOUND])
+#
+#
+# Note that if there is a possibility the first call to
+# PKG_CHECK_MODULES might not happen, you should be sure to include an
+# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
+#
+#
+# --------------------------------------------------------------
+AC_DEFUN([PKG_CHECK_MODULES],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
+AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
+
+pkg_failed=no
+AC_MSG_CHECKING([for $1])
+
+_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
+_PKG_CONFIG([$1][_LIBS], [libs], [$2])
+
+m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables 
$1[]_CFLAGS
+and $1[]_LIBS to avoid the need to call pkg-config.
+See the pkg-config man page for more details.])
+
+if test $pkg_failed = yes; then
+       AC_MSG_RESULT([no])
+        _PKG_SHORT_ERRORS_SUPPORTED
+        if test $_pkg_short_errors_supported = yes; then
+               $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors 
--cflags --libs "$2" 2>&1`
+        else 
+               $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs 
"$2" 2>&1`
+        fi
+       # Put the nasty error message in config.log where it belongs
+       echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
+
+       m4_default([$4], [AC_MSG_ERROR(
+[Package requirements ($2) were not met:
+
+$$1_PKG_ERRORS
+
+Consider adjusting the PKG_CONFIG_PATH environment variable if you
+installed software in a non-standard prefix.
+
+_PKG_TEXT])[]dnl
+        ])
+elif test $pkg_failed = untried; then
+       AC_MSG_RESULT([no])
+       m4_default([$4], [AC_MSG_FAILURE(
+[The pkg-config script could not be found or is too old.  Make sure it
+is in your PATH or set the PKG_CONFIG environment variable to the full
+path to pkg-config.
+
+_PKG_TEXT
+
+To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
+        ])
+else
+       $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
+       $1[]_LIBS=$pkg_cv_[]$1[]_LIBS
+        AC_MSG_RESULT([yes])
+       $3
+fi[]dnl
+])# PKG_CHECK_MODULES
+
+
+# PKG_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable pkgconfigdir as the location where a module
+# should install pkg-config .pc files. By default the directory is
+# $libdir/pkgconfig, but the default can be changed by passing
+# DIRECTORY. The user can override through the --with-pkgconfigdir
+# parameter.
+AC_DEFUN([PKG_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+    [pkg-config installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([pkgconfigdir],
+    [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
+    [with_pkgconfigdir=]pkg_default)
+AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_INSTALLDIR
+
+
+# PKG_NOARCH_INSTALLDIR(DIRECTORY)
+# -------------------------
+# Substitutes the variable noarch_pkgconfigdir as the location where a
+# module should install arch-independent pkg-config .pc files. By
+# default the directory is $datadir/pkgconfig, but the default can be
+# changed by passing DIRECTORY. The user can override through the
+# --with-noarch-pkgconfigdir parameter.
+AC_DEFUN([PKG_NOARCH_INSTALLDIR],
+[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
+m4_pushdef([pkg_description],
+    [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
+AC_ARG_WITH([noarch-pkgconfigdir],
+    [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
+    [with_noarch_pkgconfigdir=]pkg_default)
+AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
+m4_popdef([pkg_default])
+m4_popdef([pkg_description])
+]) dnl PKG_NOARCH_INSTALLDIR
+
+
+# PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
+# [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
+# -------------------------------------------
+# Retrieves the value of the pkg-config variable for the given module.
+AC_DEFUN([PKG_CHECK_VAR],
+[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
+AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
+
+_PKG_CONFIG([$1], [variable="][$3]["], [$2])
+AS_VAR_COPY([$1], [pkg_cv_][$1])
+
+AS_VAR_IF([$1], [""], [$5], [$4])dnl
+])# PKG_CHECK_VAR
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/librsvg-2.40.13/rsvg-cairo-draw.c new/librsvg-2.40.15/rsvg-cairo-draw.c
--- old/librsvg-2.40.13/rsvg-cairo-draw.c       2016-01-07 23:12:03.000000000 
+0100
+++ new/librsvg-2.40.15/rsvg-cairo-draw.c       2016-01-30 00:59:21.000000000 
+0100
@@ -819,10 +819,10 @@
         cairo_surface_t *output;
 
         filter = rsvg_acquire_node (ctx, state->filter);
-        if (filter && RSVG_NODE_TYPE (filter) == RSVG_NODE_TYPE_FILTER) {
-            output = render->surfaces_stack->data;
-            render->surfaces_stack = g_list_delete_link 
(render->surfaces_stack, render->surfaces_stack);
+        output = render->surfaces_stack->data;
+        render->surfaces_stack = g_list_delete_link (render->surfaces_stack, 
render->surfaces_stack);
 
+        if (filter && RSVG_NODE_TYPE (filter) == RSVG_NODE_TYPE_FILTER) {
             needs_destroy = TRUE;
             surface = rsvg_filter_render ((RsvgFilter *) filter, output, ctx, 
&render->bbox, "2103");
             /* Don't destroy the output surface, it's owned by child_cr */
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/librsvg-2.40.13/rsvg-filter.c new/librsvg-2.40.15/rsvg-filter.c
--- old/librsvg-2.40.13/rsvg-filter.c   2015-10-22 16:45:11.000000000 +0200
+++ new/librsvg-2.40.15/rsvg-filter.c   2016-03-31 03:47:45.000000000 +0200
@@ -45,10 +45,6 @@
 struct _RsvgFilterPrimitiveOutput {
     cairo_surface_t *surface;
     RsvgIRect bounds;
-    gboolean Rused;
-    gboolean Gused;
-    gboolean Bused;
-    gboolean Aused;
 };
 
 typedef struct _RsvgFilterContext RsvgFilterContext;
@@ -68,6 +64,34 @@
 
 typedef struct _RsvgFilterPrimitive RsvgFilterPrimitive;
 
+/* We don't have real subclassing here.  If you derive something from
+ * RsvgFilterPrimitive, and don't need any special code to free your
+ * RsvgFilterPrimitiveFoo structure, you can just set
+ *
+ *    foo_filter->super.super.free = rsvg_filter_primitive_free;
+ *
+ * for the destructor.  Otherwise, create a custom destructor like this:
+ *
+ *    foo_filter->super.super.free = &rsvg_filter_primitive_foo_free;
+ *
+ *    ...
+ *
+ *    static void
+ *    rsvg_filter_primitive_foo_free (RsvgNode *self)
+ *    {
+ *        RsvgFilterPrimitiveFoo *foo;
+ *
+ *        foo = (RsvgFilterPrimitiveFoo *) self;
+ *        g_free (foo->my_custom_stuff);
+ *        g_free (foo->more_custom_stuff);
+ *        ... etc ...
+ *
+ *        rsvg_filter_primitive_free (self);
+ *    }
+ *
+ * That last call to rsvg_filter_primitive_free() will free the base 
RsvgFilterPrimitive's own fields,
+ * and your whole structure itself, via _rsvg_node_free().
+ */
 struct _RsvgFilterPrimitive {
     RsvgNode super;
     RsvgLength x, y, width, height;
@@ -81,6 +105,18 @@
 /*************************************************************/
 
 static void
+rsvg_filter_primitive_free (RsvgNode *self)
+{
+    RsvgFilterPrimitive *primitive;
+
+    primitive = (RsvgFilterPrimitive *) self;
+    g_string_free (primitive->in, TRUE);
+    g_string_free (primitive->result, TRUE);
+
+    _rsvg_node_free (self);
+}
+
+static void
 rsvg_filter_primitive_render (RsvgFilterPrimitive * self, RsvgFilterContext * 
ctx)
 {
     self->render (self, ctx);
@@ -502,10 +538,6 @@
     rsvg_filter_fix_coordinate_system (ctx, rsvg_current_state (context), 
bounds);
 
     ctx->lastresult.surface = cairo_surface_reference (source);
-    ctx->lastresult.Rused = 1;
-    ctx->lastresult.Gused = 1;
-    ctx->lastresult.Bused = 1;
-    ctx->lastresult.Aused = 1;
     ctx->lastresult.bounds = rsvg_filter_primitive_get_bounds (NULL, ctx);
 
     for (i = 0; i < 4; i++)
@@ -560,10 +592,6 @@
                           RsvgFilterContext * ctx)
 {
     RsvgFilterPrimitiveOutput output;
-    output.Rused = 1;
-    output.Gused = 1;
-    output.Bused = 1;
-    output.Aused = 1;
     output.bounds.x0 = 0;
     output.bounds.y0 = 0;
     output.bounds.x1 = ctx->width;
@@ -668,26 +696,20 @@
 
     if (!strcmp (name->str, "SourceGraphic")) {
         output.surface = cairo_surface_reference (ctx->source_surface);
-        output.Rused = output.Gused = output.Bused = output.Aused = 1;
         return output;
     } else if (!strcmp (name->str, "BackgroundImage")) {
         output.surface = rsvg_filter_get_bg (ctx);
         if (output.surface)
             cairo_surface_reference (output.surface);
-        output.Rused = output.Gused = output.Bused = output.Aused = 1;
         return output;
     } else if (!strcmp (name->str, "") || !strcmp (name->str, "none")) {
         output = ctx->lastresult;
         cairo_surface_reference (output.surface);
         return output;
     } else if (!strcmp (name->str, "SourceAlpha")) {
-        output.Rused = output.Gused = output.Bused = 0;
-        output.Aused = 1;
         output.surface = surface_get_alpha (ctx->source_surface, ctx);
         return output;
     } else if (!strcmp (name->str, "BackgroundAlpha")) {
-        output.Rused = output.Gused = output.Bused = 0;
-        output.Aused = 1;
         output.surface = surface_get_alpha (rsvg_filter_get_bg (ctx), ctx);
         return output;
     }
@@ -954,12 +976,11 @@
 static void
 rsvg_filter_primitive_blend_free (RsvgNode * self)
 {
-    RsvgFilterPrimitiveBlend *upself;
-    upself = (RsvgFilterPrimitiveBlend *) self;
-    g_string_free (upself->super.result, TRUE);
-    g_string_free (upself->super.in, TRUE);
-    g_string_free (upself->in2, TRUE);
-    _rsvg_node_free (self);
+    RsvgFilterPrimitiveBlend *blend;
+    blend = (RsvgFilterPrimitiveBlend *) self;
+    g_string_free (blend->in2, TRUE);
+
+    rsvg_filter_primitive_free (self);
 }
 
 static void
@@ -1014,8 +1035,8 @@
     filter->super.result = g_string_new ("none");
     filter->super.x.factor = filter->super.y.factor = 
filter->super.width.factor =
         filter->super.height.factor = 'n';
-    filter->super.render = &rsvg_filter_primitive_blend_render;
-    filter->super.super.free = &rsvg_filter_primitive_blend_free;
+    filter->super.render = rsvg_filter_primitive_blend_render;
+    filter->super.super.free = rsvg_filter_primitive_blend_free;
     filter->super.super.set_atts = rsvg_filter_primitive_blend_set_atts;
     return (RsvgNode *) filter;
 }
@@ -1167,13 +1188,12 @@
 static void
 rsvg_filter_primitive_convolve_matrix_free (RsvgNode * self)
 {
-    RsvgFilterPrimitiveConvolveMatrix *upself;
+    RsvgFilterPrimitiveConvolveMatrix *convolve;
 
-    upself = (RsvgFilterPrimitiveConvolveMatrix *) self;
-    g_string_free (upself->super.result, TRUE);
-    g_string_free (upself->super.in, TRUE);
-    g_free (upself->KernelMatrix);
-    _rsvg_node_free (self);
+    convolve = (RsvgFilterPrimitiveConvolveMatrix *) self;
+    g_free (convolve->KernelMatrix);
+
+    rsvg_filter_primitive_free (self);
 }
 
 static void
@@ -1282,8 +1302,8 @@
     filter->dy = 0;
     filter->preservealpha = FALSE;
     filter->edgemode = 0;
-    filter->super.render = &rsvg_filter_primitive_convolve_matrix_render;
-    filter->super.super.free = &rsvg_filter_primitive_convolve_matrix_free;
+    filter->super.render = rsvg_filter_primitive_convolve_matrix_render;
+    filter->super.super.free = rsvg_filter_primitive_convolve_matrix_free;
     filter->super.super.set_atts = 
rsvg_filter_primitive_convolve_matrix_set_atts;
     return (RsvgNode *) filter;
 }
@@ -1894,17 +1914,6 @@
 }
 
 static void
-rsvg_filter_primitive_gaussian_blur_free (RsvgNode * self)
-{
-    RsvgFilterPrimitiveGaussianBlur *upself;
-
-    upself = (RsvgFilterPrimitiveGaussianBlur *) self;
-    g_string_free (upself->super.result, TRUE);
-    g_string_free (upself->super.in, TRUE);
-    _rsvg_node_free (self);
-}
-
-static void
 rsvg_filter_primitive_gaussian_blur_set_atts (RsvgNode * self,
                                               RsvgHandle * ctx, 
RsvgPropertyBag * atts)
 {
@@ -1945,8 +1954,8 @@
         filter->super.height.factor = 'n';
     filter->sdx = 0;
     filter->sdy = 0;
-    filter->super.render = &rsvg_filter_primitive_gaussian_blur_render;
-    filter->super.super.free = &rsvg_filter_primitive_gaussian_blur_free;
+    filter->super.render = rsvg_filter_primitive_gaussian_blur_render;
+    filter->super.super.free = rsvg_filter_primitive_free;
     filter->super.super.set_atts = 
rsvg_filter_primitive_gaussian_blur_set_atts;
     return (RsvgNode *) filter;
 }
@@ -2026,10 +2035,6 @@
     cairo_surface_mark_dirty (output);
 
     out.surface = output;
-    out.Rused = 1;
-    out.Gused = 1;
-    out.Bused = 1;
-    out.Aused = 1;
     out.bounds = boundarys;
 
     rsvg_filter_store_output (self->result, out, ctx);
@@ -2039,17 +2044,6 @@
 }
 
 static void
-rsvg_filter_primitive_offset_free (RsvgNode * self)
-{
-    RsvgFilterPrimitiveOffset *upself;
-
-    upself = (RsvgFilterPrimitiveOffset *) self;
-    g_string_free (upself->super.result, TRUE);
-    g_string_free (upself->super.in, TRUE);
-    _rsvg_node_free (self);
-}
-
-static void
 rsvg_filter_primitive_offset_set_atts (RsvgNode * self, RsvgHandle * ctx, 
RsvgPropertyBag * atts)
 {
     const char *value;
@@ -2091,8 +2085,8 @@
         filter->super.height.factor = 'n';
     filter->dy = _rsvg_css_parse_length ("0");
     filter->dx = _rsvg_css_parse_length ("0");
-    filter->super.render = &rsvg_filter_primitive_offset_render;
-    filter->super.super.free = &rsvg_filter_primitive_offset_free;
+    filter->super.render = rsvg_filter_primitive_offset_render;
+    filter->super.super.free = rsvg_filter_primitive_free;
     filter->super.super.set_atts = rsvg_filter_primitive_offset_set_atts;
     return (RsvgNode *) filter;
 }
@@ -2146,10 +2140,10 @@
 static void
 rsvg_filter_primitive_merge_free (RsvgNode * self)
 {
-    RsvgFilterPrimitiveMerge *upself;
+    RsvgFilterPrimitiveMerge *merge;
 
-    upself = (RsvgFilterPrimitiveMerge *) self;
-    g_string_free (upself->super.result, TRUE);
+    merge = (RsvgFilterPrimitiveMerge *) self;
+    g_string_free (merge->super.result, TRUE);
 
     _rsvg_node_free (self);
 }
@@ -2187,8 +2181,8 @@
     filter->super.result = g_string_new ("none");
     filter->super.x.factor = filter->super.y.factor = 
filter->super.width.factor =
         filter->super.height.factor = 'n';
-    filter->super.render = &rsvg_filter_primitive_merge_render;
-    filter->super.super.free = &rsvg_filter_primitive_merge_free;
+    filter->super.render = rsvg_filter_primitive_merge_render;
+    filter->super.super.free = rsvg_filter_primitive_merge_free;
 
     filter->super.super.set_atts = rsvg_filter_primitive_merge_set_atts;
     return (RsvgNode *) filter;
@@ -2209,9 +2203,11 @@
 static void
 rsvg_filter_primitive_merge_node_free (RsvgNode * self)
 {
-    RsvgFilterPrimitive *upself;
-    upself = (RsvgFilterPrimitive *) self;
-    g_string_free (upself->in, TRUE);
+    RsvgFilterPrimitive *merge_node;
+
+    merge_node = (RsvgFilterPrimitive *) self;
+    g_string_free (merge_node->in, TRUE);
+
     _rsvg_node_free (self);
 }
 
@@ -2229,7 +2225,7 @@
     _rsvg_node_init (&filter->super, 
RSVG_NODE_TYPE_FILTER_PRIMITIVE_MERGE_NODE);
     filter->in = g_string_new ("none");
     filter->super.free = rsvg_filter_primitive_merge_node_free;
-    filter->render = &rsvg_filter_primitive_merge_node_render;
+    filter->render = rsvg_filter_primitive_merge_node_render;
     filter->super.set_atts = rsvg_filter_primitive_merge_node_set_atts;
     return (RsvgNode *) filter;
 }
@@ -2343,14 +2339,12 @@
 static void
 rsvg_filter_primitive_colour_matrix_free (RsvgNode * self)
 {
-    RsvgFilterPrimitiveColourMatrix *upself;
+    RsvgFilterPrimitiveColourMatrix *matrix;
 
-    upself = (RsvgFilterPrimitiveColourMatrix *) self;
-    g_string_free (upself->super.result, TRUE);
-    g_string_free (upself->super.in, TRUE);
-    if (upself->KernelMatrix)
-        g_free (upself->KernelMatrix);
-    _rsvg_node_free (self);
+    matrix = (RsvgFilterPrimitiveColourMatrix *) self;
+    g_free (matrix->KernelMatrix);
+    
+    rsvg_filter_primitive_free (self);
 }
 
 static void
@@ -2477,8 +2471,8 @@
     filter->super.x.factor = filter->super.y.factor = 
filter->super.width.factor =
         filter->super.height.factor = 'n';
     filter->KernelMatrix = NULL;
-    filter->super.render = &rsvg_filter_primitive_colour_matrix_render;
-    filter->super.super.free = &rsvg_filter_primitive_colour_matrix_free;
+    filter->super.render = rsvg_filter_primitive_colour_matrix_render;
+    filter->super.super.free = rsvg_filter_primitive_colour_matrix_free;
 
     filter->super.super.set_atts = 
rsvg_filter_primitive_colour_matrix_set_atts;
     return (RsvgNode *) filter;
@@ -2711,10 +2705,9 @@
     filter->super.in = g_string_new ("none");
     filter->super.x.factor = filter->super.y.factor = 
filter->super.width.factor =
         filter->super.height.factor = 'n';
-    filter->super.render = &rsvg_filter_primitive_component_transfer_render;
-
+    filter->super.render = rsvg_filter_primitive_component_transfer_render;
+    filter->super.super.free = rsvg_filter_primitive_free;
     filter->super.super.set_atts = 
rsvg_filter_primitive_component_transfer_set_atts;
-
     return (RsvgNode *) filter;
 }
 
@@ -2884,17 +2877,6 @@
 }
 
 static void
-rsvg_filter_primitive_erode_free (RsvgNode * self)
-{
-    RsvgFilterPrimitiveErode *upself;
-
-    upself = (RsvgFilterPrimitiveErode *) self;
-    g_string_free (upself->super.result, TRUE);
-    g_string_free (upself->super.in, TRUE);
-    _rsvg_node_free (self);
-}
-
-static void
 rsvg_filter_primitive_erode_set_atts (RsvgNode * self, RsvgHandle * ctx, 
RsvgPropertyBag * atts)
 {
     const char *value;
@@ -2942,8 +2924,8 @@
     filter->rx = 0;
     filter->ry = 0;
     filter->mode = 0;
-    filter->super.render = &rsvg_filter_primitive_erode_render;
-    filter->super.super.free = &rsvg_filter_primitive_erode_free;
+    filter->super.render = rsvg_filter_primitive_erode_render;
+    filter->super.super.free = rsvg_filter_primitive_free;
     filter->super.super.set_atts = rsvg_filter_primitive_erode_set_atts;
     return (RsvgNode *) filter;
 }
@@ -3113,13 +3095,12 @@
 static void
 rsvg_filter_primitive_composite_free (RsvgNode * self)
 {
-    RsvgFilterPrimitiveComposite *upself;
+    RsvgFilterPrimitiveComposite *composite;
 
-    upself = (RsvgFilterPrimitiveComposite *) self;
-    g_string_free (upself->super.result, TRUE);
-    g_string_free (upself->super.in, TRUE);
-    g_string_free (upself->in2, TRUE);
-    _rsvg_node_free (self);
+    composite = (RsvgFilterPrimitiveComposite *) self;
+    g_string_free (composite->in2, TRUE);
+
+    rsvg_filter_primitive_free (self);
 }
 
 static void
@@ -3188,8 +3169,8 @@
     filter->k2 = 0;
     filter->k3 = 0;
     filter->k4 = 0;
-    filter->super.render = &rsvg_filter_primitive_composite_render;
-    filter->super.super.free = &rsvg_filter_primitive_composite_free;
+    filter->super.render = rsvg_filter_primitive_composite_render;
+    filter->super.super.free = rsvg_filter_primitive_composite_free;
     filter->super.super.set_atts = rsvg_filter_primitive_composite_set_atts;
     return (RsvgNode *) filter;
 }
@@ -3237,10 +3218,6 @@
     cairo_surface_mark_dirty (output);
 
     out.surface = output;
-    out.Rused = 1;
-    out.Gused = 1;
-    out.Bused = 1;
-    out.Aused = 1;
     out.bounds = boundarys;
 
     rsvg_filter_store_output (self->result, out, ctx);
@@ -3249,17 +3226,6 @@
 }
 
 static void
-rsvg_filter_primitive_flood_free (RsvgNode * self)
-{
-    RsvgFilterPrimitive *upself;
-
-    upself = (RsvgFilterPrimitive *) self;
-    g_string_free (upself->result, TRUE);
-    g_string_free (upself->in, TRUE);
-    _rsvg_node_free (self);
-}
-
-static void
 rsvg_filter_primitive_flood_set_atts (RsvgNode * self, RsvgHandle * ctx, 
RsvgPropertyBag * atts)
 {
     const char *value, *id = NULL;
@@ -3291,8 +3257,8 @@
     filter->in = g_string_new ("none");
     filter->result = g_string_new ("none");
     filter->x.factor = filter->y.factor = filter->width.factor = 
filter->height.factor = 'n';
-    filter->render = &rsvg_filter_primitive_flood_render;
-    filter->super.free = &rsvg_filter_primitive_flood_free;
+    filter->render = rsvg_filter_primitive_flood_render;
+    filter->super.free = rsvg_filter_primitive_free;
     filter->super.set_atts = rsvg_filter_primitive_flood_set_atts;
     return (RsvgNode *) filter;
 }
@@ -3432,13 +3398,12 @@
 static void
 rsvg_filter_primitive_displacement_map_free (RsvgNode * self)
 {
-    RsvgFilterPrimitiveDisplacementMap *upself;
+    RsvgFilterPrimitiveDisplacementMap *dmap;
 
-    upself = (RsvgFilterPrimitiveDisplacementMap *) self;
-    g_string_free (upself->super.result, TRUE);
-    g_string_free (upself->super.in, TRUE);
-    g_string_free (upself->in2, TRUE);
-    _rsvg_node_free (self);
+    dmap = (RsvgFilterPrimitiveDisplacementMap *) self;
+    g_string_free (dmap->in2, TRUE);
+
+    rsvg_filter_primitive_free (self);
 }
 
 static void
@@ -3490,8 +3455,8 @@
     filter->xChannelSelector = ' ';
     filter->yChannelSelector = ' ';
     filter->scale = 0;
-    filter->super.render = &rsvg_filter_primitive_displacement_map_render;
-    filter->super.super.free = &rsvg_filter_primitive_displacement_map_free;
+    filter->super.render = rsvg_filter_primitive_displacement_map_render;
+    filter->super.super.free = rsvg_filter_primitive_displacement_map_free;
     filter->super.super.set_atts = 
rsvg_filter_primitive_displacement_map_set_atts;
     return (RsvgNode *) filter;
 }
@@ -3813,17 +3778,6 @@
 }
 
 static void
-rsvg_filter_primitive_turbulence_free (RsvgNode * self)
-{
-    RsvgFilterPrimitiveTurbulence *upself;
-
-    upself = (RsvgFilterPrimitiveTurbulence *) self;
-    g_string_free (upself->super.result, TRUE);
-    g_string_free (upself->super.in, TRUE);
-    _rsvg_node_free (self);
-}
-
-static void
 rsvg_filter_primitive_turbulence_set_atts (RsvgNode * self, RsvgHandle * ctx,
                                            RsvgPropertyBag * atts)
 {
@@ -3877,8 +3831,8 @@
     filter->bDoStitching = 0;
     filter->bFractalSum = 0;
     feTurbulence_init (filter);
-    filter->super.render = &rsvg_filter_primitive_turbulence_render;
-    filter->super.super.free = &rsvg_filter_primitive_turbulence_free;
+    filter->super.render = rsvg_filter_primitive_turbulence_render;
+    filter->super.super.free = rsvg_filter_primitive_free;
     filter->super.super.set_atts = rsvg_filter_primitive_turbulence_set_atts;
     return (RsvgNode *) filter;
 }
@@ -4039,10 +3993,6 @@
 
     op.surface = output;
     op.bounds = boundarys;
-    op.Rused = 1;
-    op.Gused = 1;
-    op.Bused = 1;
-    op.Aused = 1;
 
     rsvg_filter_store_output (self->result, op, ctx);
 
@@ -4052,16 +4002,14 @@
 static void
 rsvg_filter_primitive_image_free (RsvgNode * self)
 {
-    RsvgFilterPrimitiveImage *upself;
+    RsvgFilterPrimitiveImage *image;
 
-    upself = (RsvgFilterPrimitiveImage *) self;
-    g_string_free (upself->super.result, TRUE);
-    g_string_free (upself->super.in, TRUE);
+    image = (RsvgFilterPrimitiveImage *) self;
 
-    if (upself->href)
-        g_string_free (upself->href, TRUE);
+    if (image->href)
+        g_string_free (image->href, TRUE);
 
-    _rsvg_node_free (self);
+    rsvg_filter_primitive_free (self);
 }
 
 static void
@@ -4105,8 +4053,8 @@
     filter->super.result = g_string_new ("none");
     filter->super.x.factor = filter->super.y.factor = 
filter->super.width.factor =
         filter->super.height.factor = 'n';
-    filter->super.render = &rsvg_filter_primitive_image_render;
-    filter->super.super.free = &rsvg_filter_primitive_image_free;
+    filter->super.render = rsvg_filter_primitive_image_render;
+    filter->super.super.free = rsvg_filter_primitive_image_free;
     filter->super.super.set_atts = rsvg_filter_primitive_image_set_atts;
     filter->href = NULL;
     return (RsvgNode *) filter;
@@ -4634,17 +4582,6 @@
 }
 
 static void
-rsvg_filter_primitive_diffuse_lighting_free (RsvgNode * self)
-{
-    RsvgFilterPrimitiveDiffuseLighting *upself;
-
-    upself = (RsvgFilterPrimitiveDiffuseLighting *) self;
-    g_string_free (upself->super.result, TRUE);
-    g_string_free (upself->super.in, TRUE);
-    _rsvg_node_free (self);
-}
-
-static void
 rsvg_filter_primitive_diffuse_lighting_set_atts (RsvgNode * self, RsvgHandle * 
ctx,
                                                  RsvgPropertyBag * atts)
 {
@@ -4695,8 +4632,8 @@
     filter->dx = 1;
     filter->dy = 1;
     filter->lightingcolour = 0xFFFFFFFF;
-    filter->super.render = &rsvg_filter_primitive_diffuse_lighting_render;
-    filter->super.super.free = &rsvg_filter_primitive_diffuse_lighting_free;
+    filter->super.render = rsvg_filter_primitive_diffuse_lighting_render;
+    filter->super.super.free = rsvg_filter_primitive_free;
     filter->super.super.set_atts = 
rsvg_filter_primitive_diffuse_lighting_set_atts;
     return (RsvgNode *) filter;
 }
@@ -4825,17 +4762,6 @@
 }
 
 static void
-rsvg_filter_primitive_specular_lighting_free (RsvgNode * self)
-{
-    RsvgFilterPrimitiveSpecularLighting *upself;
-
-    upself = (RsvgFilterPrimitiveSpecularLighting *) self;
-    g_string_free (upself->super.result, TRUE);
-    g_string_free (upself->super.in, TRUE);
-    _rsvg_node_free (self);
-}
-
-static void
 rsvg_filter_primitive_specular_lighting_set_atts (RsvgNode * self, RsvgHandle 
* ctx,
                                                   RsvgPropertyBag * atts)
 {
@@ -4885,8 +4811,8 @@
     filter->specularConstant = 1;
     filter->specularExponent = 1;
     filter->lightingcolour = 0xFFFFFFFF;
-    filter->super.render = &rsvg_filter_primitive_specular_lighting_render;
-    filter->super.super.free = &rsvg_filter_primitive_specular_lighting_free;
+    filter->super.render = rsvg_filter_primitive_specular_lighting_render;
+    filter->super.super.free = rsvg_filter_primitive_free;
     filter->super.super.set_atts = 
rsvg_filter_primitive_specular_lighting_set_atts;
     return (RsvgNode *) filter;
 }
@@ -4962,17 +4888,6 @@
 }
 
 static void
-rsvg_filter_primitive_tile_free (RsvgNode * self)
-{
-    RsvgFilterPrimitiveTile *upself;
-
-    upself = (RsvgFilterPrimitiveTile *) self;
-    g_string_free (upself->super.result, TRUE);
-    g_string_free (upself->super.in, TRUE);
-    _rsvg_node_free (self);
-}
-
-static void
 rsvg_filter_primitive_tile_set_atts (RsvgNode * self, RsvgHandle * ctx, 
RsvgPropertyBag * atts)
 {
     const char *value;
@@ -5008,8 +4923,8 @@
     filter->super.result = g_string_new ("none");
     filter->super.x.factor = filter->super.y.factor = 
filter->super.width.factor =
         filter->super.height.factor = 'n';
-    filter->super.render = &rsvg_filter_primitive_tile_render;
-    filter->super.super.free = &rsvg_filter_primitive_tile_free;
+    filter->super.render = rsvg_filter_primitive_tile_render;
+    filter->super.super.free = rsvg_filter_primitive_free;
     filter->super.super.set_atts = rsvg_filter_primitive_tile_set_atts;
     return (RsvgNode *) filter;
 }
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/librsvg-2.40.13/tests/fixtures/crash/bug759084.svg 
new/librsvg-2.40.15/tests/fixtures/crash/bug759084.svg
--- old/librsvg-2.40.13/tests/fixtures/crash/bug759084.svg      1970-01-01 
01:00:00.000000000 +0100
+++ new/librsvg-2.40.15/tests/fixtures/crash/bug759084.svg      2016-01-30 
00:59:21.000000000 +0100
@@ -0,0 +1,9 @@
+<svg xmlns="http://www.w3.org/2000/svg"; viewBox="0 0 10 10">
+  <defs>
+    <filter id="filter">
+    </filter>
+  </defs>
+  <g filter="url(#filter)">
+    <rect fill="red" width="10" height="10" filter="url(#doesnotexist)" />
+  </g>
+</svg>


Reply via email to