fix a regression in path coordinate handling
This commit is contained in:
parent
dba9aa016e
commit
8d1b881d54
73
cairo-path-coords.patch
Normal file
73
cairo-path-coords.patch
Normal file
@ -0,0 +1,73 @@
|
||||
From f34b87f6d76cbea93acd4a8c73c8c6a6b412a302 Mon Sep 17 00:00:00 2001
|
||||
From: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Mon, 10 Sep 2012 14:09:18 +0000
|
||||
Subject: path: Convert from backend coordinates back into user coordinates
|
||||
|
||||
Fixes regression from commit 83bfd85a1378e61b8bdc3f554f5e07900311f61f
|
||||
Author: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
Date: Fri Apr 23 19:45:26 2010 +0100
|
||||
|
||||
Implement cairo_backend_t
|
||||
|
||||
As there exists no public API to perform the operation we needed, and we
|
||||
failed to create one, the constructed path failed to correctly remove
|
||||
the device offset.
|
||||
|
||||
Fixes copy-path under device translation.
|
||||
|
||||
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54732
|
||||
Reported-by: Benjamin Berg <benjamin@sipsolutions.net>
|
||||
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
|
||||
---
|
||||
diff --git a/src/cairo-path.c b/src/cairo-path.c
|
||||
index 5c48373..43cd175 100644
|
||||
--- a/src/cairo-path.c
|
||||
+++ b/src/cairo-path.c
|
||||
@@ -37,6 +37,7 @@
|
||||
#include "cairoint.h"
|
||||
|
||||
#include "cairo-private.h"
|
||||
+#include "cairo-backend-private.h"
|
||||
#include "cairo-error-private.h"
|
||||
#include "cairo-path-private.h"
|
||||
#include "cairo-path-fixed-private.h"
|
||||
@@ -152,7 +153,7 @@ _cpp_move_to (void *closure,
|
||||
x = _cairo_fixed_to_double (point->x);
|
||||
y = _cairo_fixed_to_double (point->y);
|
||||
|
||||
- cairo_device_to_user (cpp->cr, &x, &y);
|
||||
+ _cairo_backend_to_user (cpp->cr, &x, &y);
|
||||
|
||||
data->header.type = CAIRO_PATH_MOVE_TO;
|
||||
data->header.length = 2;
|
||||
@@ -177,7 +178,7 @@ _cpp_line_to (void *closure,
|
||||
x = _cairo_fixed_to_double (point->x);
|
||||
y = _cairo_fixed_to_double (point->y);
|
||||
|
||||
- cairo_device_to_user (cpp->cr, &x, &y);
|
||||
+ _cairo_backend_to_user (cpp->cr, &x, &y);
|
||||
|
||||
data->header.type = CAIRO_PATH_LINE_TO;
|
||||
data->header.length = 2;
|
||||
@@ -205,15 +206,15 @@ _cpp_curve_to (void *closure,
|
||||
|
||||
x1 = _cairo_fixed_to_double (p1->x);
|
||||
y1 = _cairo_fixed_to_double (p1->y);
|
||||
- cairo_device_to_user (cpp->cr, &x1, &y1);
|
||||
+ _cairo_backend_to_user (cpp->cr, &x1, &y1);
|
||||
|
||||
x2 = _cairo_fixed_to_double (p2->x);
|
||||
y2 = _cairo_fixed_to_double (p2->y);
|
||||
- cairo_device_to_user (cpp->cr, &x2, &y2);
|
||||
+ _cairo_backend_to_user (cpp->cr, &x2, &y2);
|
||||
|
||||
x3 = _cairo_fixed_to_double (p3->x);
|
||||
y3 = _cairo_fixed_to_double (p3->y);
|
||||
- cairo_device_to_user (cpp->cr, &x3, &y3);
|
||||
+ _cairo_backend_to_user (cpp->cr, &x3, &y3);
|
||||
|
||||
data->header.type = CAIRO_PATH_CURVE_TO;
|
||||
data->header.length = 4;
|
||||
--
|
||||
cgit v0.9.0.2-2-gbebe
|
||||
|
@ -5,7 +5,7 @@
|
||||
Summary: A 2D graphics library
|
||||
Name: cairo
|
||||
Version: 1.12.2
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
URL: http://cairographics.org
|
||||
#VCS: git:git://git.freedesktop.org/git/cairo
|
||||
#Source0: http://cairographics.org/snapshots/%{name}-%{version}.tar.xz
|
||||
@ -13,6 +13,9 @@ Source0: http://cairographics.org/releases/%{name}-%{version}.tar.xz
|
||||
License: LGPLv2 or MPLv1.1
|
||||
Group: System Environment/Libraries
|
||||
|
||||
# upstream regression fix
|
||||
Patch0: cairo-path-coords.patch
|
||||
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: libXrender-devel
|
||||
BuildRequires: libX11-devel
|
||||
@ -91,6 +94,7 @@ This package contains tools for working with the cairo graphics library.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
|
||||
%build
|
||||
%configure --disable-static \
|
||||
@ -185,6 +189,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_libdir}/cairo/
|
||||
|
||||
%changelog
|
||||
* Sun Sep 16 2012 Matthias Clasen <mclasen@redhat.com> - 1.12.2-4
|
||||
- Fix a regression in patch coordinate handling
|
||||
|
||||
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.12.2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user