Accepting request 49150 from home:vuntz:branches:GNOME:Factory

thanks

OBS-URL: https://build.opensuse.org/request/show/49150
OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/librsvg?expand=0&rev=30
This commit is contained in:
Dominique Leuenberger 2010-09-27 13:24:01 +00:00 committed by Git OBS Bridge
parent 40069a9cf2
commit e50c0ff803
6 changed files with 28 additions and 137 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:320b61ef5e6d65624f3733a83134df012a4156ed7f7ae38a6ed19febe1bfa732
size 514232

3
librsvg-2.32.0.tar.bz2 Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e0f6f936dab583de317cc0c36a48f80bdb9c93775225ee84140c7e5e3f841068
size 516660

View File

@ -1,107 +0,0 @@
From 18bbb79af0c798db6099dbe0dd6fff5b43f030be Mon Sep 17 00:00:00 2001
From: Jasper St. Pierre <jstpierre@mecheye.net>
Date: Thu, 12 Aug 2010 04:44:36 -0400
Subject: [PATCH] Apply Company's changes on the internal librsvg pixbuf engine to remove the gdk calls and move over to cairo.
https://bugzilla.gnome.org/show_bug.cgi?id=626605
---
gtk-engine/svg-render.c | 70 +++++++++++++++++++++--------------------------
1 files changed, 31 insertions(+), 39 deletions(-)
diff --git a/gtk-engine/svg-render.c b/gtk-engine/svg-render.c
index ebe2f22..15440cc 100644
--- a/gtk-engine/svg-render.c
+++ b/gtk-engine/svg-render.c
@@ -418,21 +418,30 @@ pixbuf_render (GdkPixbuf *src,
y_offset = 0;
}
+ cairo_t *cr;
+
if (mask)
{
- gdk_pixbuf_render_threshold_alpha (tmp_pixbuf, mask,
- x_offset, y_offset,
- rect.x, rect.y,
- rect.width, rect.height,
- 128);
+ cr = gdk_cairo_create (mask);
+
+ gdk_cairo_set_source_pixbuf (cr, tmp_pixbuf,
+ -x_offset + rect.x,
+ -y_offset + rect.y);
+ gdk_cairo_rectangle (cr, &rect);
+ cairo_fill (cr);
+
+ cairo_destroy (cr);
}
- gdk_draw_pixbuf (window, NULL, tmp_pixbuf,
- x_offset, y_offset,
- rect.x, rect.y,
- rect.width, rect.height,
- GDK_RGB_DITHER_NORMAL,
- 0, 0);
+ cr = gdk_cairo_create (window);
+ gdk_cairo_set_source_pixbuf (cr,
+ tmp_pixbuf,
+ -x_offset + rect.x,
+ -y_offset + rect.y);
+ gdk_cairo_rectangle (cr, &rect);
+ cairo_fill (cr);
+
+ cairo_destroy (cr);
g_object_unref (tmp_pixbuf);
}
@@ -827,37 +836,20 @@ theme_pixbuf_render (ThemePixbuf *theme_pb,
}
else
{
- GdkPixmap *tmp_pixmap;
- GdkGC *tmp_gc;
- GdkGCValues gc_values;
-
- tmp_pixmap = gdk_pixmap_new (window,
- pixbuf_width,
- pixbuf_height,
- -1);
- tmp_gc = gdk_gc_new (tmp_pixmap);
- gdk_draw_pixbuf (tmp_pixmap, tmp_gc, pixbuf,
- 0, 0,
- 0, 0,
- pixbuf_width, pixbuf_height,
- GDK_RGB_DITHER_NORMAL,
- 0, 0);
- g_object_unref (tmp_gc);
-
- gc_values.fill = GDK_TILED;
- gc_values.tile = tmp_pixmap;
- tmp_gc = gdk_gc_new_with_values (window,
- &gc_values, GDK_GC_FILL | GDK_GC_TILE);
+ cairo_t *cr = gdk_cairo_create (window);
+
+ gdk_cairo_set_source_pixbuf (cr, pixbuf, 0, 0);
+ cairo_pattern_set_extend (cairo_get_source (cr), CAIRO_EXTEND_REPEAT);
+
if (clip_rect)
- gdk_draw_rectangle (window, tmp_gc, TRUE,
- clip_rect->x, clip_rect->y, clip_rect->width, clip_rect->height);
+ gdk_cairo_rectangle (cr, clip_rect);
else
- gdk_draw_rectangle (window, tmp_gc, TRUE, x, y, width, height);
+ cairo_rectangle (cr, x, y, width, height);
- g_object_unref (tmp_gc);
- g_object_unref (tmp_pixmap);
- }
- }
+ cairo_fill (cr);
+ cairo_destroy (cr);
+ }
+ }
g_object_unref(pixbuf);
}
--
1.7.2.1

View File

@ -1,16 +0,0 @@
diff --git a/test-display.c b/test-display.c
index ff12945..9bead01 100644
--- a/test-display.c
+++ b/test-display.c
@@ -29,7 +29,11 @@
#include <gtk/gtk.h>
#include <gdk/gdk.h>
+#if GTK_CHECK_VERSION(2,21,8)
+#include <gdk/gdkkeysyms-compat.h>
+#else
#include <gdk/gdkkeysyms.h>
+#endif
#define DEFAULT_WIDTH 640
#define DEFAULT_HEIGHT 480

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Mon Sep 27 08:16:51 CEST 2010 - vuntz@opensuse.org
- Update to version 2.32.0:
+ Disable gtk3 build since it's currently broken.
- Drop librsvg-gdk-pixbuf-render-gtk3.patch and
librsvg-gdkkeysym-compat.patch: those patches are only needed for
gtk3 support, and the gtk3 support will be enabled upstream when
they will get fixed.
- Add build_gtk3_support define in .spec, to easily add back the
gtk3 support to the package. Right now, this means we lose the
gtk3-engine-svg subpackage.
-------------------------------------------------------------------
Sat Sep 18 17:12:53 CEST 2010 - vuntz@opensuse.org

View File

@ -1,5 +1,5 @@
#
# spec file for package librsvg (Version 2.31.0)
# spec file for package librsvg (Version 2.32.0)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@ -15,12 +15,11 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
%define build_gtk3_support 0
Name: librsvg
Version: 2.31.0
Release: 3
Version: 2.32.0
Release: 1
License: GPLv2+
Summary: A Library for Rendering SVG Data
Url: http://librsvg.sourceforge.net/
@ -30,10 +29,6 @@ Source99: baselibs.conf
# PATCH-FIX-OPENSUSE librsvg-gdk-pixbuf-query-loaders-64.patch vuntz@opensuse.org -- Fix check for gdk-pixbuf-query-loaders on 64bit systems
Patch0: librsvg-gdk-pixbuf-query-loaders-64.patch
Patch1: env-paths.diff
# PATCH-FIX-UPSTREAM librsvg-gdk-pixbuf-render-gtk3.patch bgo#626605 vuntz@opensuse.org -- Fix build with recent gtk+ 3. The patch is technically correct, but suboptimal; see comments in bugzilla. Still, okay for us as we don't use this engine by default.
Patch2: librsvg-gdk-pixbuf-render-gtk3.patch
# PATCH-FIX-UPSTREAM librsvg-gdkkeysym-compat.patch bgo#629881 vuntz@opensuse.org -- Fix build with recent versions of gtk+
Patch3: librsvg-gdkkeysym-compat.patch
BuildRequires: pkgconfig(cairo)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(freetype2)
@ -41,7 +36,9 @@ BuildRequires: pkgconfig(gdk-pixbuf-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(gtk+-2.0)
%if %{build_gtk3_support}
BuildRequires: pkgconfig(gtk+-3.0)
%endif
BuildRequires: pkgconfig(libcroco-0.6)
BuildRequires: pkgconfig(libgsf-1)
BuildRequires: pkgconfig(libxml-2.0)
@ -110,6 +107,7 @@ Group: System/Libraries
%description -n gtk2-engine-svg
This package provides a librsvg-based GTK+ 2 theme engine.
%if %{build_gtk3_support}
%package -n gtk3-engine-svg
License: LGPLv2.1+
Summary: SVG-based GTK+ 3 Theme Engine
@ -117,6 +115,7 @@ Group: System/Libraries
%description -n gtk3-engine-svg
This package provides a librsvg-based GTK+ 3 theme engine.
%endif
%package -n rsvg-view
License: LGPLv2.1+
@ -137,8 +136,6 @@ http://www.w3c.org).
touch aclocal.m4
%endif
%patch1
%patch2 -p1
%patch3 -p1
%build
%configure\
@ -178,18 +175,22 @@ rm -rf $RPM_BUILD_ROOT
%dir %{_datadir}/themes/bubble
%{_datadir}/themes/bubble/gtk-2.0/
%if %{build_gtk3_support}
%files -n gtk3-engine-svg
%defattr(-,root,root)
%{_libdir}/gtk-3.0/*/engines/libsvg-3.so
%dir %{_datadir}/themes/bubble
%{_datadir}/themes/bubble/gtk-3.0/
%endif
%files -n rsvg-view
%defattr(-,root,root)
%{_bindir}/rsvg
%{_bindir}/rsvg-convert
%{_bindir}/rsvg-view
%if %{build_gtk3_support}
%{_bindir}/rsvg-view-3
%endif
%{_datadir}/pixmaps/svg-viewer.svg
%doc %{_mandir}/man?/rsvg.1*