Update to 1.12.16
This commit is contained in:
parent
4b0faa4c53
commit
04c8fa36f1
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,3 +5,4 @@ cairo-1.8.10.tar.gz
|
||||
/cairo-1.12.8.tar.xz
|
||||
/cairo-1.12.10.tar.xz
|
||||
/cairo-1.12.14.tar.xz
|
||||
/cairo-1.12.16.tar.xz
|
||||
|
||||
@ -1,37 +0,0 @@
|
||||
From 4b69464dde07f2d5c23664499cb61ac984344e66 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@gmail.com>
|
||||
Date: Tue, 2 Apr 2013 21:00:20 +0200
|
||||
Subject: [PATCH] build-sys: do not try to build util/sphinx on Windows
|
||||
|
||||
glib and dlfcn exist on windows, but sphinx code uses a lot of
|
||||
Unix-only API
|
||||
|
||||
Fixes the following build error on mingw-fedora
|
||||
|
||||
CC cairo-boilerplate-system.lo
|
||||
../../../util/cairo-sphinx/sphinx.c:8:22: fatal error: sys/mman.h: No such file or directory
|
||||
compilation terminated.
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=63043
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=63044
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 928a169..9a9be60 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -797,7 +797,7 @@ CAIRO_ENABLE(symbol_lookup, symbol-lookup, auto, [
|
||||
PKG_CHECK_MODULES(glib, glib-2.0, have_glib=yes, have_glib=no)
|
||||
AC_SUBST(glib_CFLAGS)
|
||||
AC_SUBST(glib_LIBS)
|
||||
-AM_CONDITIONAL(BUILD_SPHINX, test "x$have_glib" = "xyes")
|
||||
+AM_CONDITIONAL(BUILD_SPHINX, test "x$have_glib" = "xyes" -a "x$have_windows" = "xno")
|
||||
|
||||
save_LIBS="$LIBS"
|
||||
AC_CHECK_LIB(rt, shm_open, shm_LIBS="-lrt")
|
||||
--
|
||||
1.8.1.1.439.g50a6b54
|
||||
|
||||
@ -1,31 +0,0 @@
|
||||
From 9fcd092ce1d59a19a74f48cdbdfbe71bd5f18f9e Mon Sep 17 00:00:00 2001
|
||||
From: Michael Henning <drawoc@darkrefraction.com>
|
||||
Date: Sun, 21 Jul 2013 22:55:57 -0400
|
||||
Subject: [PATCH] win32: Fix image surface freeing loop
|
||||
|
||||
Previously, _cairo_win32_display_surface_finish could attempt to destroy
|
||||
its patrent while the parent was in the process of being destroyed.
|
||||
This simply checks to see if the parent's refcount is zero before freeing it.
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=63787
|
||||
---
|
||||
src/win32/cairo-win32-display-surface.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/win32/cairo-win32-display-surface.c b/src/win32/cairo-win32-display-surface.c
|
||||
index 0390625..f4d27bb 100644
|
||||
--- a/src/win32/cairo-win32-display-surface.c
|
||||
+++ b/src/win32/cairo-win32-display-surface.c
|
||||
@@ -415,7 +415,8 @@ _cairo_win32_display_surface_finish (void *abstract_surface)
|
||||
{
|
||||
cairo_win32_display_surface_t *surface = abstract_surface;
|
||||
|
||||
- if (surface->image) {
|
||||
+ if (surface->image &&
|
||||
+ CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&surface->image->ref_count)) {
|
||||
/* Unhook ourselves first to avoid the double-unref from the image */
|
||||
to_image_surface(surface->image)->parent = NULL;
|
||||
cairo_surface_finish (surface->image);
|
||||
--
|
||||
1.8.3.3
|
||||
|
||||
@ -1,41 +0,0 @@
|
||||
From 3fcaddfefa2024e04217e302e72e15dd22014df0 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Fri, 15 Feb 2013 14:04:21 +0000
|
||||
Subject: [PATCH 1/3] win32: Free the fallback upon finish
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Zozó Teki pointed out that we leak the fallback surface upon finish in
|
||||
case it was active at the time as the preceding flush would only clear
|
||||
the damage and not decouple the fallback surface.
|
||||
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
---
|
||||
src/win32/cairo-win32-display-surface.c | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/src/win32/cairo-win32-display-surface.c b/src/win32/cairo-win32-display-surface.c
|
||||
index ccd285d..0390625 100644
|
||||
--- a/src/win32/cairo-win32-display-surface.c
|
||||
+++ b/src/win32/cairo-win32-display-surface.c
|
||||
@@ -429,6 +429,8 @@ _cairo_win32_display_surface_finish (void *abstract_surface)
|
||||
DeleteDC (surface->win32.dc);
|
||||
}
|
||||
|
||||
+ _cairo_win32_display_surface_discard_fallback (surface);
|
||||
+
|
||||
if (surface->initial_clip_rgn)
|
||||
DeleteObject (surface->initial_clip_rgn);
|
||||
|
||||
@@ -758,6 +760,7 @@ _cairo_win32_display_surface_discard_fallback (cairo_win32_display_surface_t *su
|
||||
TRACE ((stderr, "%s (surface=%d)\n",
|
||||
__FUNCTION__, surface->win32.base.unique_id));
|
||||
|
||||
+ cairo_surface_finish (surface->fallback);
|
||||
cairo_surface_destroy (surface->fallback);
|
||||
surface->fallback = NULL;
|
||||
}
|
||||
--
|
||||
1.8.1.1.439.g50a6b54
|
||||
|
||||
@ -1,48 +0,0 @@
|
||||
From 9f65974bdaafe700930c6cd7de85915a5450b431 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= <marcandre.lureau@gmail.com>
|
||||
Date: Tue, 2 Apr 2013 00:32:56 +0200
|
||||
Subject: [PATCH 2/3] win32: fix corrupted drawing
|
||||
|
||||
Fix src bitmap coordinates, which origin is bottom-left. This is
|
||||
apparently a bug in StretchDIBits(), according to some comments on
|
||||
MSDN API documentation.
|
||||
|
||||
The backend used to have this coordinate change in the past:
|
||||
|
||||
if (!StretchDIBits (dst->dc,
|
||||
/* dst x,y,w,h */
|
||||
dst_r.x, dst_r.y + dst_r.height - 1,
|
||||
dst_r.width, - (int) dst_r.height,
|
||||
/* src x,y,w,h */
|
||||
src_r.x, src_extents.height - src_r.y + 1,
|
||||
src_r.width, - (int) src_r.height,
|
||||
src_image->data,
|
||||
&bi,
|
||||
DIB_RGB_COLORS,
|
||||
SRCCOPY))
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=61876
|
||||
---
|
||||
src/win32/cairo-win32-gdi-compositor.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/win32/cairo-win32-gdi-compositor.c b/src/win32/cairo-win32-gdi-compositor.c
|
||||
index c70b0f9..073e889 100644
|
||||
--- a/src/win32/cairo-win32-gdi-compositor.c
|
||||
+++ b/src/win32/cairo-win32-gdi-compositor.c
|
||||
@@ -151,10 +151,11 @@ static cairo_bool_t upload_box (cairo_box_t *box, void *closure)
|
||||
int y = _cairo_fixed_integer_part (box->p1.y);
|
||||
int width = _cairo_fixed_integer_part (box->p2.x - box->p1.x);
|
||||
int height = _cairo_fixed_integer_part (box->p2.y - box->p1.y);
|
||||
+ int src_height = -cb->bi.bmiHeader.biHeight;
|
||||
|
||||
TRACE ((stderr, "%s\n", __FUNCTION__));
|
||||
return StretchDIBits (cb->dst, x, y + height - 1, width, -height,
|
||||
- x + cb->tx, height - (y + cb->ty - 1),
|
||||
+ x + cb->tx, src_height - (y + cb->ty - 1),
|
||||
width, -height,
|
||||
cb->data, &cb->bi,
|
||||
DIB_RGB_COLORS, SRCCOPY);
|
||||
--
|
||||
1.8.1.1.439.g50a6b54
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
%?mingw_package_header
|
||||
|
||||
Name: mingw-cairo
|
||||
Version: 1.12.14
|
||||
Release: 5%{?dist}
|
||||
Version: 1.12.16
|
||||
Release: 1%{?dist}
|
||||
Summary: MinGW Windows Cairo library
|
||||
|
||||
License: LGPLv2 or MPLv1.1
|
||||
@ -40,13 +40,8 @@ BuildRequires: mingw-w64-tools
|
||||
BuildRequires: autoconf automake libtool
|
||||
BuildRequires: pkgconfig
|
||||
|
||||
# cherry-picked from upcoming 1.12.15
|
||||
Patch1: 0001-win32-Free-the-fallback-upon-finish.patch
|
||||
Patch2: 0002-win32-fix-corrupted-drawing.patch
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=63043
|
||||
Patch3: 0003-build-sys-do-not-try-to-build-util-sphinx-on-Windows.patch
|
||||
# https://bugs.freedesktop.org/show_bug.cgi?id=63787
|
||||
Patch4: 0001-win32-Fix-image-surface-freeing-loop.patch
|
||||
|
||||
%description
|
||||
MinGW Windows Cairo library.
|
||||
@ -95,10 +90,7 @@ Static version of the MinGW Windows Cairo library.
|
||||
%prep
|
||||
%setup -q -n cairo-%{version}
|
||||
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
%patch4 -p1
|
||||
|
||||
autoreconf -vfi
|
||||
|
||||
@ -223,6 +215,9 @@ find $RPM_BUILD_ROOT -name "*.la" -delete
|
||||
|
||||
|
||||
%changelog
|
||||
* Sat Sep 7 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.12.16-1
|
||||
- Update to 1.12.16
|
||||
|
||||
* Sun Aug 4 2013 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.12.14-5
|
||||
- Fix assertion failure when using the latest gtk3 (RHBZ #991829, FD BZ #63787)
|
||||
|
||||
@ -280,7 +275,7 @@ find $RPM_BUILD_ROOT -name "*.la" -delete
|
||||
- Fix A1 format win32 surfaces
|
||||
- Reset clip region when writing fallback results
|
||||
|
||||
* Tue Jan 23 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.10.2-6
|
||||
* Tue Jan 24 2012 Erik van Pienbroek <epienbro@fedoraproject.org> - 1.10.2-6
|
||||
- Rebuild against libpng 1.5
|
||||
- Dropped .la files
|
||||
- Dropped unneeded RPM tags
|
||||
|
||||
Loading…
Reference in New Issue
Block a user