Mailinglist Archive: opensuse-commit (1059 mails)
| < Previous | Next > |
commit librsvg
- From: root@xxxxxxxxxxxxxxx (h_root)
- Date: Wed, 30 Jan 2008 02:40:19 +0100
- Message-id: <20080130014020.25240678337@xxxxxxxxxxxxxxx>
Hello community,
here is the log from the commit of package librsvg
checked in at Wed Jan 30 02:40:19 CET 2008.
--------
--- GNOME/librsvg/librsvg.changes 2007-09-10 18:01:46.000000000 +0200
+++ /mounts/work_src_done/STABLE/librsvg/librsvg.changes 2008-01-29
19:43:11.852323000 +0100
@@ -1,0 +2,11 @@
+Tue Jan 29 19:44:48 CET 2008 - maw@xxxxxxx
+
+- Remove libtool archives.
+
+-------------------------------------------------------------------
+Tue Jan 29 16:23:48 CET 2008 - rodrigo@xxxxxxx
+
+- Update to version 2.20.0:
+ * Fixed memory leaks and segfaults
+
+-------------------------------------------------------------------
Old:
----
librsvg-2.18.2.tar.bz2
New:
----
librsvg-2.20.0.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ librsvg.spec ++++++
--- /var/tmp/diff_new_pack.Dx5068/_old 2008-01-30 02:37:48.000000000 +0100
+++ /var/tmp/diff_new_pack.Dx5068/_new 2008-01-30 02:37:48.000000000 +0100
@@ -1,7 +1,7 @@
#
-# spec file for package librsvg (Version 2.18.2)
+# spec file for package librsvg (Version 2.20.0)
#
-# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -13,9 +13,9 @@
Name: librsvg
%define xulrunner_version 181
BuildRequires: docbook-toys gtk-doc gtk2-devel libcroco-devel
libgnomeprintui-devel libgsf-devel update-desktop-files xmlcharent
-License: LGPL v2 or later
+License: LGPL v2.1 or later
Group: System/Libraries
-Autoreqprov: on
+AutoReqProv: on
Provides: librsvg2
Obsoletes: librsvg2
%if %suse_version > 1010 || 0%{?opensuse_bs}
@@ -24,12 +24,12 @@
BuildRequires: gecko-sdk
%endif
PreReq: coreutils
-Version: 2.18.2
+Version: 2.20.0
Release: 1
Summary: A Library for Rendering SVG Data
Source:
ftp://ftp.gnome.org/pub/GNOME/sources/librsvg/2.18/%{name}-%{version}.tar.bz2
Patch1: env-paths.diff
-URL: http://librsvg.sourceforge.net/
+Url: http://librsvg.sourceforge.net/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
@@ -95,7 +95,7 @@
cp AUTHORS COPYING ChangeLog NEWS README $RPM_BUILD_ROOT%{_docdir}/%{name}
mv $RPM_BUILD_ROOT%{_libdir}/mozilla/plugins
$RPM_BUILD_ROOT%{_libdir}/browser-plugins
rmdir $RPM_BUILD_ROOT%{_libdir}/mozilla
-rm $RPM_BUILD_ROOT%{_libdir}/*/*.*a $RPM_BUILD_ROOT%{_libdir}/*/*/*/*.*a
+rm $RPM_BUILD_ROOT/%{_libdir}/*.*a $RPM_BUILD_ROOT/%{_libdir}/*/*.*a
$RPM_BUILD_ROOT/%{_libdir}/*/*/*/*.*a
%clean
rm -rf $RPM_BUILD_ROOT
@@ -130,7 +130,6 @@
%{_bindir}/rsvg
%{_includedir}/librsvg-2
%{_libdir}/*.so
-%{_libdir}/*.*a
%{_libdir}/pkgconfig/*.pc
%files plugin
@@ -138,49 +137,54 @@
%{_libdir}/browser-plugins/*.so
%changelog
-* Mon Sep 10 2007 - maw@xxxxxxx
+* Tue Jan 29 2008 maw@xxxxxxx
+- Remove libtool archives.
+* Tue Jan 29 2008 rodrigo@xxxxxxx
+- Update to version 2.20.0:
+ * Fixed memory leaks and segfaults
+* Mon Sep 10 2007 maw@xxxxxxx
- Update to version 2.18.2
- librsvg-64bit-warning.patch was necessary due to a typo in
2.18.1; that typo was removed in 2.18.2, and therefore the patch
has been too.
-* Thu Aug 30 2007 - maw@xxxxxxx
+* Fri Aug 31 2007 maw@xxxxxxx
- Update to version 2.18.1:
+ Basic support for SVG 1.1's text-rendering and shape-rendering
properties (bugzilla.gnome.org #464599)
- M-x replace-string RET %%run_ldconfig RET /sbin/ldconfig RET
- Add librsvg-64bit-warning.patch.
-* Thu Aug 02 2007 - mauro@xxxxxxx
+* Thu Aug 02 2007 mauro@xxxxxxx
- Updated to 2.18.0
- Bugfixes for #412682, #418823, #401115, #444462, #452823, #448327,
[#444462], #444443, #435129, #409030, #375649, #421697, #421710,
[#427031], #407230, #402246, #402107, #393297, #388545.
-* Mon Jul 16 2007 - dmueller@xxxxxxx
+* Mon Jul 16 2007 dmueller@xxxxxxx
- move deprecated rsvg command into -devel subpackage.
scripts that break should use rsvg-convert instead
-* Sat Mar 17 2007 - aj@xxxxxxx
+* Sat Mar 17 2007 aj@xxxxxxx
- Require python for rsvg command (#242072).
-* Mon Feb 19 2007 - maw@xxxxxxx
+* Mon Feb 19 2007 maw@xxxxxxx
- Update to version 2.16.1
- Remove librsvg-xulrunner.patch which is now upstream.
-* Sun Feb 18 2007 - aj@xxxxxxx
+* Sun Feb 18 2007 aj@xxxxxxx
- Cleanup BuildRequires.
-* Tue Feb 13 2007 - sbrabec@xxxxxxx
+* Tue Feb 13 2007 sbrabec@xxxxxxx
- Do not build unusable static libraries (#238552#c17).
-* Tue Jan 09 2007 - sbrabec@xxxxxxx
+* Tue Jan 09 2007 sbrabec@xxxxxxx
- Patched to build plugin with xulrunner.
-* Tue Jan 09 2007 - maw@xxxxxxx
+* Tue Jan 09 2007 maw@xxxxxxx
- Fix a typo
- (Temporarily) remove the plugin subpackage.
-* Tue Jan 09 2007 - sbrabec@xxxxxxx
+* Tue Jan 09 2007 sbrabec@xxxxxxx
- Prefix changed to /usr.
- Spec file cleanup.
-* Thu Dec 28 2006 - jhargadon@xxxxxxx
+* Thu Dec 28 2006 jhargadon@xxxxxxx
- removed unused libtool archives (#223654)
-* Fri Oct 13 2006 - danw@xxxxxxx
+* Fri Oct 13 2006 danw@xxxxxxx
- Remove dead patch
-* Fri Sep 15 2006 - sbrabec@xxxxxxx
+* Fri Sep 15 2006 sbrabec@xxxxxxx
- Removed mDNSResponder-lib from Requires - should be implicit.
-* Thu Sep 14 2006 - jhargadon@xxxxxxx
+* Thu Sep 14 2006 jhargadon@xxxxxxx
- update to version 2.16.0
- librsvg.def: Make export symbols work on OSX
- rsvg-private.h: Some preparation work for color normalization
@@ -190,92 +194,92 @@
for us. This fixes a bug where style definitions don't get properly
expanded, but causes a (2.15.x-only feature) regression when importing
external ENTITIES.
-* Wed Aug 23 2006 - jhargadon@xxxxxxx
+* Wed Aug 23 2006 jhargadon@xxxxxxx
- update to version 2.15.90
- Bug 348329 make gnome-print dependency optional
- Don't leak PangoFt2 fonts (bug 344235)
- Document _render_sub better (bug 346964)
-* Tue Aug 15 2006 - ro@xxxxxxx
+* Tue Aug 15 2006 ro@xxxxxxx
- use wildcard in filelist for gtk2 version
-* Fri Jul 28 2006 - ro@xxxxxxx
+* Fri Jul 28 2006 ro@xxxxxxx
- include rsvg.devhelp2 in filelist
-* Wed Jan 25 2006 - mls@xxxxxxx
+* Wed Jan 25 2006 mls@xxxxxxx
- converted neededforbuild to BuildRequires
-* Thu Oct 13 2005 - gekker@xxxxxxx
+* Thu Oct 13 2005 gekker@xxxxxxx
- Update to version 2.12.7
- Fix use of uninitialized variables
-* Fri Sep 16 2005 - rodrigo@xxxxxxx
+* Fri Sep 16 2005 rodrigo@xxxxxxx
- Update to version 2.12.0
-* Mon Sep 05 2005 - gekker@xxxxxxx
+* Mon Sep 05 2005 gekker@xxxxxxx
- Update to version 2.11.1 (GNOME 2.12)
-* Fri Aug 12 2005 - sbrabec@xxxxxxx
+* Fri Aug 12 2005 sbrabec@xxxxxxx
- Fixed devel requirements (#104295).
-* Wed Jun 01 2005 - sbrabec@xxxxxxx
+* Wed Jun 01 2005 sbrabec@xxxxxxx
- Fixed devel requirements.
-* Sun Feb 06 2005 - gekker@xxxxxxx
+* Sun Feb 06 2005 gekker@xxxxxxx
- Update to version 2.9.5
-* Wed Jan 19 2005 - ro@xxxxxxx
+* Wed Jan 19 2005 ro@xxxxxxx
- fixed filelist
-* Wed Dec 22 2004 - gekker@xxxxxxx
+* Wed Dec 22 2004 gekker@xxxxxxx
- Update to version 2.8.1
- Make *.svg and *.devhelp install
-* Tue May 04 2004 - sbrabec@xxxxxxx
+* Tue May 04 2004 sbrabec@xxxxxxx
- Updated to version 2.6.5 (GNOME 2.6).
-* Mon Mar 15 2004 - sbrabec@xxxxxxx
+* Mon Mar 15 2004 sbrabec@xxxxxxx
- FHS 2.3 fix (mandir, infodir, #35821).
-* Wed Mar 10 2004 - sbrabec@xxxxxxx
+* Wed Mar 10 2004 sbrabec@xxxxxxx
- Fixed %%postun.
- Fixed doc build.
-* Sat Jan 10 2004 - adrian@xxxxxxx
+* Sat Jan 10 2004 adrian@xxxxxxx
- add %%defattr and %%run_ldconfig
-* Mon Oct 20 2003 - sbrabec@xxxxxxx
+* Mon Oct 20 2003 sbrabec@xxxxxxx
- Do not build SVG plug-in (moved to gimp2 package).
-* Wed Oct 08 2003 - sbrabec@xxxxxxx
+* Wed Oct 08 2003 sbrabec@xxxxxxx
- Updated to version 2.4.0 (GNOME 2.4).
-* Tue Aug 26 2003 - sbrabec@xxxxxxx
+* Tue Aug 26 2003 sbrabec@xxxxxxx
- Added Provides/Obsoletes for old name.
-* Tue Aug 19 2003 - sbrabec@xxxxxxx
+* Tue Aug 19 2003 sbrabec@xxxxxxx
- Package renamed (librsvg2 -> librsvg).
-* Sun Jul 27 2003 - hhetter@xxxxxxx
+* Mon Jul 28 2003 hhetter@xxxxxxx
- fix build
-* Mon Jul 14 2003 - sbrabec@xxxxxxx
+* Mon Jul 14 2003 sbrabec@xxxxxxx
- GNOME prefix change to /opt/gnome.
-* Wed Jul 09 2003 - sbrabec@xxxxxxx
+* Wed Jul 09 2003 sbrabec@xxxxxxx
- Branched gimp2-svg (to simplify dependences).
-* Wed Jun 25 2003 - sbrabec@xxxxxxx
+* Wed Jun 25 2003 sbrabec@xxxxxxx
- Updated to version 2.2.5.
- Updated neededforbuild.
- Turned on GIMP plugin, libgsf and SVGZ support.
-* Wed Feb 12 2003 - hhetter@xxxxxxx
+* Wed Feb 12 2003 hhetter@xxxxxxx
- install the rsvg loader at the default gdk-pixbuf-loader
module location
- updated to version 2.2.3 to critical bugs with SVG themes
-* Thu Jan 30 2003 - hhetter@xxxxxxx
+* Thu Jan 30 2003 hhetter@xxxxxxx
- force running of SuSEconfig.gtk to register the
librsvg gdk-pixbuf loader
-* Tue Jan 28 2003 - hhetter@xxxxxxx
+* Tue Jan 28 2003 hhetter@xxxxxxx
- updated to version 2.2.1
- update filelist
- include gdk-pixbuf loaders
-* Mon Nov 11 2002 - ro@xxxxxxx
+* Tue Nov 12 2002 ro@xxxxxxx
- changed neededforbuild <xf86 xdevel> to <x-devel-packages>
-* Tue Oct 22 2002 - hhetter@xxxxxxx
+* Tue Oct 22 2002 hhetter@xxxxxxx
- remove wrong docdir
- use correct kde datadir
-* Fri Sep 27 2002 - ro@xxxxxxx
+* Fri Sep 27 2002 ro@xxxxxxx
- Added alsa alsa-devel to neededforbuild (esound)
-* Tue Aug 13 2002 - ro@xxxxxxx
+* Tue Aug 13 2002 ro@xxxxxxx
- removed control-center from neededforbuild
-* Tue Jul 23 2002 - hhetter@xxxxxxx
+* Tue Jul 23 2002 hhetter@xxxxxxx
- updated to version 2.0.1
* trashcan rendering problems fixed
-* Tue Jul 23 2002 - hhetter@xxxxxxx
+* Tue Jul 23 2002 hhetter@xxxxxxx
- updated to version 2.0.0
-* Wed May 15 2002 - ro@xxxxxxx
+* Wed May 15 2002 ro@xxxxxxx
- use libdir
-* Mon Apr 15 2002 - hhetter@xxxxxxx
+* Mon Apr 15 2002 hhetter@xxxxxxx
- update to version 1.1.6 [gnome desktop beta3]
-* Fri Feb 01 2002 - ro@xxxxxxx
+* Fri Feb 01 2002 ro@xxxxxxx
- changed neededforbuild <libpng> to <libpng-devel-packages>
-* Thu Jan 24 2002 - hhetter@xxxxxxx
+* Thu Jan 24 2002 hhetter@xxxxxxx
- initial SuSE package for GNOME 2.0 platform
++++++ librsvg-2.18.2.tar.bz2 -> librsvg-2.20.0.tar.bz2 ++++++
++++ 3997 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.18.2/ChangeLog new/librsvg-2.20.0/ChangeLog
--- old/librsvg-2.18.2/ChangeLog 2007-08-29 21:10:51.000000000 +0200
+++ new/librsvg-2.20.0/ChangeLog 2008-01-19 17:47:40.000000000 +0100
@@ -1,3 +1,21 @@
+2008-01-20 Dominic Lachowicz <domlachowicz@xxxxxxxxx>
+
+ * configure.in: Bump version #to 2.20.0
+
+2008-01-19 Bertram Felgenhauer <bertram.felgenhauer@xxxxxxxxxxxxxx>
+
+ * Bug 500787 - translation gets ignored when rendering an svg with
cairo in the context of a cairo_push_group()
+
+2007-11-27 Dom Lachowicz <domlachowicz@xxxxxxxxx>
+
+ * rsvg-base.c: 499386 - rsvg_handle_close leads to segfault
+ * rsvg-private.h: Ditto
+
+2007-09-24 Dom Lachowicz <domlachowicz@xxxxxxxxx>
+
+ * gdk-pixbuf-loader/io-svg.c: svgz support is optional (#473836, Lucas
Rocha)
+ * rsvg-cairo-draw.c: Fix memory leak (#475841, Matthias Clasen)
+
2007-08-29 Dom Lachowicz <domlachowicz@xxxxxxxxx>
* NEWS: update
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.18.2/configure.in new/librsvg-2.20.0/configure.in
--- old/librsvg-2.18.2/configure.in 2007-08-29 21:10:57.000000000 +0200
+++ new/librsvg-2.20.0/configure.in 2008-01-19 17:47:11.000000000 +0100
@@ -19,8 +19,8 @@
dnl ===========================================================================
LIBRSVG_MAJOR_VERSION=2
-LIBRSVG_MINOR_VERSION=18
-LIBRSVG_MICRO_VERSION=2
+LIBRSVG_MINOR_VERSION=20
+LIBRSVG_MICRO_VERSION=0
AC_SUBST(LIBRSVG_MAJOR_VERSION)
AC_SUBST(LIBRSVG_MINOR_VERSION)
AC_SUBST(LIBRSVG_MICRO_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.18.2/gdk-pixbuf-loader/io-svg.c
new/librsvg-2.20.0/gdk-pixbuf-loader/io-svg.c
--- old/librsvg-2.18.2/gdk-pixbuf-loader/io-svg.c 2007-07-01
15:44:24.000000000 +0200
+++ new/librsvg-2.20.0/gdk-pixbuf-loader/io-svg.c 2007-09-24
17:35:11.000000000 +0200
@@ -234,13 +234,17 @@
"image/svg-xml",
"image/vnd.adobe.svg+xml",
"text/xml-svg",
+#ifdef HAVE_SVGZ
"image/svg+xml-compressed",
+#endif
NULL
};
static gchar *extensions[] = {
"svg",
+#ifdef HAVE_SVGZ
"svgz",
"svg.gz",
+#endif
NULL
};
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.18.2/librsvg-features.h new/librsvg-2.20.0/librsvg-features.h
--- old/librsvg-2.18.2/librsvg-features.h 2007-08-29 21:11:28.000000000
+0200
+++ new/librsvg-2.20.0/librsvg-features.h 2008-01-19 17:48:42.000000000
+0100
@@ -2,8 +2,8 @@
#define LIBRSVG_FEATURES_H 1
#define LIBRSVG_MAJOR_VERSION (2)
-#define LIBRSVG_MINOR_VERSION (18)
-#define LIBRSVG_MICRO_VERSION (2)
+#define LIBRSVG_MINOR_VERSION (20)
+#define LIBRSVG_MICRO_VERSION (0)
#define LIBRSVG_VERSION ""
extern const unsigned int librsvg_major_version, librsvg_minor_version,
librsvg_micro_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.18.2/librsvg.spec new/librsvg-2.20.0/librsvg.spec
--- old/librsvg-2.18.2/librsvg.spec 2007-08-29 21:13:16.000000000 +0200
+++ new/librsvg-2.20.0/librsvg.spec 2008-01-19 17:48:45.000000000 +0100
@@ -2,7 +2,7 @@
%define __spec_install_post /usr/lib/rpm/brp-compress
Name: librsvg2
Summary: An SVG library based on cairo.
-Version: 2.18.2
+Version: 2.20.0
Release: 2
License: LGPL
Group: System Environment/Libraries
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.18.2/rsvg-base.c new/librsvg-2.20.0/rsvg-base.c
--- old/librsvg-2.18.2/rsvg-base.c 2007-07-20 18:00:44.000000000 +0200
+++ new/librsvg-2.20.0/rsvg-base.c 2007-11-27 22:50:13.000000000 +0100
@@ -1047,6 +1047,8 @@
{
GError *real_error = NULL;
+ handle->priv->is_closed = TRUE;
+
handle->priv->error = &real_error;
if (handle->priv->ctxt != NULL) {
@@ -1484,6 +1486,7 @@
rsvg_handle_write (RsvgHandle * handle, const guchar * buf, gsize count,
GError ** error)
{
rsvg_return_val_if_fail (handle, FALSE, error);
+ rsvg_return_val_if_fail (!handle->priv->is_closed, FALSE, error);
if (handle->priv->first_write) {
handle->priv->first_write = FALSE;
@@ -1527,6 +1530,9 @@
{
rsvg_return_val_if_fail (handle, FALSE, error);
+ if (handle->priv->is_closed)
+ return TRUE;
+
#if HAVE_SVGZ
if (handle->priv->is_gzipped) {
GsfInput *gzip;
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.18.2/rsvg-cairo-clip.c new/librsvg-2.20.0/rsvg-cairo-clip.c
--- old/librsvg-2.18.2/rsvg-cairo-clip.c 2007-07-20 19:57:48.000000000
+0200
+++ new/librsvg-2.20.0/rsvg-cairo-clip.c 2008-01-19 17:44:52.000000000
+0100
@@ -41,18 +41,21 @@
struct RsvgCairoClipRender {
RsvgRender super;
cairo_t *cr;
+ RsvgCairoRender *parent;
};
static void
-rsvg_cairo_clip_apply_affine (cairo_t *cr, const double affine[6])
+rsvg_cairo_clip_apply_affine (RsvgCairoClipRender *render, const double
affine[6])
{
cairo_matrix_t matrix;
+ gboolean nest = render->cr != render->parent->initial_cr;
cairo_matrix_init (&matrix,
affine[0], affine[1],
affine[2], affine[3],
- affine[4], affine[5]);
- cairo_set_matrix (cr, &matrix);
+ affine[4] + (nest ? 0 :
render->parent->offset_x),
+ affine[5] + (nest ? 0 :
render->parent->offset_y));
+ cairo_set_matrix (render->cr, &matrix);
}
static void
@@ -62,14 +65,11 @@
RsvgState *state = rsvg_state_current (ctx);
cairo_t *cr;
RsvgBpath *bpath;
- cairo_matrix_t save;
int i;
cr = render->cr;
- cairo_get_matrix (cr, &save);
-
- rsvg_cairo_clip_apply_affine (cr, state->affine);
+ rsvg_cairo_clip_apply_affine (render, state->affine);
if (rsvg_state_current (ctx)->clip_rule == FILL_RULE_EVENODD)
cairo_set_fill_rule (((RsvgCairoRender *) ctx->render)->cr,
CAIRO_FILL_RULE_EVEN_ODD);
@@ -96,7 +96,6 @@
break;
}
}
- cairo_set_matrix (cr, &save);
}
static void
@@ -130,7 +129,7 @@
}
static RsvgRender *
-rsvg_cairo_clip_render_new (cairo_t * cr)
+rsvg_cairo_clip_render_new (cairo_t * cr, RsvgCairoRender *parent)
{
RsvgCairoClipRender *cairo_render = g_new0 (RsvgCairoClipRender, 1);
@@ -142,6 +141,7 @@
cairo_render->super.add_clipping_rect = rsvg_cairo_clip_add_clipping_rect;
cairo_render->super.get_image_of_node = NULL;
cairo_render->cr = cr;
+ cairo_render->parent = parent;
return &cairo_render->super;
}
@@ -152,7 +152,7 @@
RsvgCairoRender *save = (RsvgCairoRender *) ctx->render;
double affinesave[6];
int i;
- ctx->render = rsvg_cairo_clip_render_new (save->cr);
+ ctx->render = rsvg_cairo_clip_render_new (save->cr, save);
/* Horribly dirty hack to have the bbox premultiplied to everything */
if (clip->units == objectBoundingBox) {
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.18.2/rsvg-cairo-draw.c new/librsvg-2.20.0/rsvg-cairo-draw.c
--- old/librsvg-2.18.2/rsvg-cairo-draw.c 2007-08-20 20:57:15.000000000
+0200
+++ new/librsvg-2.20.0/rsvg-cairo-draw.c 2008-01-19 17:44:52.000000000
+0100
@@ -417,6 +417,7 @@
_rsvg_pop_view_box (ctx);
}
+/* note: _set_source_rsvg_paint_server does not change cairo's CTM */
static void
_set_source_rsvg_paint_server (RsvgDrawingCtx * ctx,
guint32 current_color_rgb,
@@ -440,14 +441,17 @@
}
static void
-_set_rsvg_affine (cairo_t * cr, const double affine[6])
+_set_rsvg_affine (RsvgCairoRender * render, const double affine[6])
{
+ cairo_t * cr = render->cr;
cairo_matrix_t matrix;
+ gboolean nest = cr != render->initial_cr;
cairo_matrix_init (&matrix,
affine[0], affine[1],
affine[2], affine[3],
- affine[4], affine[5]);
+ affine[4] + (nest ? 0 : render->offset_x),
+ affine[5] + (nest ? 0 : render->offset_y));
cairo_set_matrix (cr, &matrix);
}
@@ -471,11 +475,9 @@
PangoRectangle logical;
RsvgBbox bbox;
- cairo_save (render->cr);
-
_rsvg_cairo_set_text_antialias (render->cr, state->text_rendering_type);
- _set_rsvg_affine (render->cr, state->affine);
+ _set_rsvg_affine (render, state->affine);
cairo_set_line_width (render->cr, _rsvg_css_normalize_length
(&state->stroke_width, ctx, 'h'));
pango_cairo_update_layout (render->cr, layout);
@@ -513,8 +515,6 @@
bbox, rsvg_state_current
(ctx)->current_color);
cairo_stroke (render->cr);
}
-
- cairo_restore (render->cr);
}
void
@@ -540,11 +540,9 @@
cr = render->cr;
- cairo_save (cr);
-
_rsvg_cairo_set_shape_antialias (cr, state->shape_rendering_type);
- _set_rsvg_affine (cr, state->affine);
+ _set_rsvg_affine (render, state->affine);
cairo_set_line_width (cr, _rsvg_css_normalize_length
(&state->stroke_width, ctx, 'h'));
cairo_set_miter_limit (cr, state->miter_limit);
@@ -634,7 +632,6 @@
cairo_stroke (cr);
}
- cairo_restore (cr);
if (need_tmpbuf)
rsvg_cairo_pop_discrete_layer (ctx);
@@ -670,8 +667,7 @@
bbox.h = h;
bbox.virgin = 0;
- cairo_save (render->cr);
- _set_rsvg_affine (render->cr, state->affine);
+ _set_rsvg_affine (render, state->affine);
cairo_scale (render->cr, w / dwidth, h / dheight);
pixbuf_x *= dwidth / w;
pixbuf_y *= dheight / h;
@@ -763,8 +759,6 @@
cairo_surface_destroy (surface);
rsvg_bbox_insert (&render->bbox, &bbox);
-
- cairo_restore (render->cr);
}
static void
@@ -779,6 +773,7 @@
guint32 rowstride = width * 4, row, i;
double affinesave[6];
double sx, sy, sw, sh;
+ gboolean nest = cr != render->initial_cr;
if (self->maskunits == objectBoundingBox)
_rsvg_push_view_box (ctx, 1, 1);
@@ -845,7 +840,10 @@
cairo_destroy (mask_cr);
- cairo_mask_surface (cr, surface, 0, 0);
+ cairo_identity_matrix (cr);
+ cairo_mask_surface (cr, surface,
+ nest ? 0 : render->offset_x,
+ nest ? 0 : render->offset_y);
cairo_surface_destroy (surface);
g_free (pixels);
}
@@ -948,9 +946,11 @@
cairo_surface_destroy (surface);
for (i = g_list_last (render->cr_stack); i != NULL; i = g_list_previous
(i)) {
- cairo_t *draw;
- draw = i->data;
- cairo_set_source_surface (cr, cairo_get_target (draw), 0, 0);
+ cairo_t *draw = i->data;
+ gboolean nest = draw != render->initial_cr;
+ cairo_set_source_surface (cr, cairo_get_target (draw),
+ nest ? 0 : -render->offset_x,
+ nest ? 0 : -render->offset_y);
cairo_paint (cr);
}
@@ -967,6 +967,7 @@
GdkPixbuf *output = NULL;
cairo_surface_t *surface = NULL;
RsvgState *state = rsvg_state_current (ctx);
+ gboolean nest;
if (rsvg_state_current (ctx)->clip_path_ref)
if (((RsvgClipPath *) rsvg_state_current (ctx)->clip_path_ref)->units
== objectBoundingBox)
@@ -981,7 +982,7 @@
GdkPixbuf *pixbuf = render->pixbuf_stack->data;
GdkPixbuf *bg = rsvg_compile_bg (ctx);
- render->pixbuf_stack = g_list_remove_link (render->pixbuf_stack,
render->pixbuf_stack);
+ render->pixbuf_stack = g_list_remove (render->pixbuf_stack, pixbuf);
output = rsvg_filter_render (state->filter, pixbuf, bg, ctx,
&render->bbox, "2103");
@@ -999,7 +1000,11 @@
render->cr = (cairo_t *) render->cr_stack->data;
render->cr_stack = g_list_delete_link (render->cr_stack, render->cr_stack);
- cairo_set_source_surface (render->cr, surface, 0, 0);
+ nest = render->cr != render->initial_cr;
+ cairo_identity_matrix (render->cr);
+ cairo_set_source_surface (render->cr, surface,
+ nest ? 0 : render->offset_x,
+ nest ? 0 : render->offset_y);
if (lateclip)
rsvg_cairo_clip (ctx, rsvg_state_current (ctx)->clip_path_ref,
&render->bbox);
@@ -1040,15 +1045,11 @@
{
RsvgCairoRender *render = (RsvgCairoRender *) ctx->render;
cairo_t *cr = render->cr;
- cairo_matrix_t save;
- cairo_get_matrix (cr, &save);
- _set_rsvg_affine (cr, rsvg_state_current (ctx)->affine);
+ _set_rsvg_affine (render, rsvg_state_current (ctx)->affine);
cairo_rectangle (cr, x, y, w, h);
cairo_clip (cr);
-
- cairo_set_matrix (cr, &save);
}
GdkPixbuf *
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.18.2/rsvg-cairo-render.c new/librsvg-2.20.0/rsvg-cairo-render.c
--- old/librsvg-2.18.2/rsvg-cairo-render.c 2007-07-20 19:57:48.000000000
+0200
+++ new/librsvg-2.20.0/rsvg-cairo-render.c 2008-01-19 17:44:52.000000000
+0100
@@ -65,6 +65,7 @@
cairo_render->height = height;
cairo_render->offset_x = 0;
cairo_render->offset_y = 0;
+ cairo_render->initial_cr = cr;
cairo_render->cr = cr;
cairo_render->cr_stack = NULL;
cairo_render->bb_stack = NULL;
@@ -176,8 +177,8 @@
_rsvg_affine_multiply (state->affine, affine, state->affine);
/* adjust transform so that the corner of the bounding box above is
- * at (0,0) - we compensate for this in rsvg_handle_render_cairo_sub()
- * below */
+ * at (0,0) - we compensate for this in _set_rsvg_affine() in
+ * rsvg-cairo-render.c and a few other places */
state->affine[4] -= render->offset_x;
state->affine[5] -= render->offset_y;
@@ -203,9 +204,6 @@
{
RsvgDrawingCtx *draw;
RsvgNode *drawsub = NULL;
- RsvgCairoRender *render;
- cairo_surface_t *surface = cairo_get_target (cr);
- double save_dx, save_dy;
g_return_if_fail (handle != NULL);
@@ -226,20 +224,9 @@
rsvg_state_push (draw);
cairo_save (cr);
- cairo_identity_matrix (cr);
-
- /* adjust the underlying surface's device offset such that the
- * bounding box from rsvg_cairo_new_drawing_ctx is placed correctly */
- cairo_surface_get_device_offset (surface, &save_dx, &save_dy);
- render = (RsvgCairoRender *) draw->render;
- cairo_surface_set_device_offset (surface,
- save_dx + render->offset_x,
- save_dy + render->offset_y);
rsvg_node_draw ((RsvgNode *) handle->priv->treebase, draw, 0);
- cairo_surface_set_device_offset (surface, save_dx, save_dy);
-
cairo_restore (cr);
rsvg_state_pop (draw);
rsvg_drawing_ctx_free (draw);
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.18.2/rsvg-cairo-render.h new/librsvg-2.20.0/rsvg-cairo-render.h
--- old/librsvg-2.18.2/rsvg-cairo-render.h 2007-07-20 19:57:48.000000000
+0200
+++ new/librsvg-2.20.0/rsvg-cairo-render.h 2008-01-19 17:44:26.000000000
+0100
@@ -37,6 +37,8 @@
cairo_t *cr;
double width;
double height;
+
+ cairo_t *initial_cr;
double offset_x;
double offset_y;
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.18.2/rsvg-private.h new/librsvg-2.20.0/rsvg-private.h
--- old/librsvg-2.18.2/rsvg-private.h 2007-04-24 00:45:56.000000000 +0200
+++ new/librsvg-2.20.0/rsvg-private.h 2007-11-27 22:48:24.000000000 +0100
@@ -125,6 +125,7 @@
struct RsvgHandlePrivate {
gboolean is_disposed;
+ gboolean is_closed;
RsvgSizeFunc size_func;
gpointer user_data;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse-commit+help@xxxxxxxxxxxx
| < Previous | Next > |