From 8ac5981d30a9f38a5cb33bceee925cae270d3204de5832388abe96f331dd25a2 Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Wed, 7 Jan 2015 16:57:08 +0000 Subject: [PATCH] Accepting request 280164 from home:dimstar:branches:GNOME:Factory Add small patch - manages to fix racket build in Factory OBS-URL: https://build.opensuse.org/request/show/280164 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/cairo?expand=0&rev=87 --- cairo-tor-scan-convertor.patch | 34 ++++++++++++++++++++++++++++++++++ cairo.changes | 6 ++++++ cairo.spec | 5 ++++- 3 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 cairo-tor-scan-convertor.patch diff --git a/cairo-tor-scan-convertor.patch b/cairo-tor-scan-convertor.patch new file mode 100644 index 0000000..ecdf5ef --- /dev/null +++ b/cairo-tor-scan-convertor.patch @@ -0,0 +1,34 @@ +From 2de69581c28bf115852037ca41eba13cb7335976 Mon Sep 17 00:00:00 2001 +From: Massimo Valentini +Date: Sun, 19 Oct 2014 09:19:10 +0200 +Subject: tor-scan-converter: can't do_fullrow when intersection in row + + 0.5subrow + +the active edges list must be left sorted at the next possible use +and since full_row does not deal with intersections it is not usable +when there is an intersection in the top half of the next row first +subrow + +Reported-and-tested-by: Matthew Leach +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=85151 +Reviewed-by: Chris Wilson + +diff --git a/src/cairo-tor-scan-converter.c b/src/cairo-tor-scan-converter.c +index 4adcafb..14922d0 100644 +--- a/src/cairo-tor-scan-converter.c ++++ b/src/cairo-tor-scan-converter.c +@@ -1167,8 +1167,8 @@ can_do_full_row (struct active_list *active) + + if (e->dy) { + struct quorem x = e->x; +- x.quo += e->dxdy_full.quo - e->dxdy.quo/2; +- x.rem += e->dxdy_full.rem - e->dxdy.rem/2; ++ x.quo += e->dxdy_full.quo; ++ x.rem += e->dxdy_full.rem; + if (x.rem < 0) { + x.quo--; + x.rem += e->dy; +-- +cgit v0.10.2 + + diff --git a/cairo.changes b/cairo.changes index ea7ff50..da5b27f 100644 --- a/cairo.changes +++ b/cairo.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Wed Jan 7 13:30:28 UTC 2015 - dimstar@opensuse.org + +- Add cairo-tor-scan-convertor.patch: tor-scan-converter: can't + do_fullrow when intersection in row + 0.5subrow (fdo#85151). + ------------------------------------------------------------------- Wed Oct 15 16:07:26 UTC 2014 - zaitor@opensuse.org diff --git a/cairo.spec b/cairo.spec index 051ef0b..00e5983 100644 --- a/cairo.spec +++ b/cairo.spec @@ -1,7 +1,7 @@ # # spec file for package cairo # -# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -36,6 +36,8 @@ Patch1: cairo-disable-lto.patch Patch2: cairo-render-thin-lines.patch # PATCH-FIX-UPSTREAM cairo-xlib-endianness.patch fdo#63461 bnc#882951 fcrozat@suse.com -- Fix crash when client and server have different endianness Patch3: cairo-xlib-endianness.patch +# PATCH-FIX-UPSTREAM cairo-tor-scan-convertor.patch fdo#85151 dimstar@opensuse.org -- tor-scan-converter: can't do_fullrow when intersection in row + 0.5subrow +Patch4: cairo-tor-scan-convertor.patch # These libraries are needed only for tests. # Do not enable tests in build systems, it causes build loop! #BuildRequires: librsvg-devel poppler-devel @@ -160,6 +162,7 @@ cairo. # fix_for_fdo77298.patch %patch2 -p1 %patch3 -p1 +%patch4 -p1 %build # Needed by patch0 and patch1