apply upstream fix for cairo rendering bug

This commit is contained in:
Tom Callaway 2013-01-20 16:39:07 -05:00
parent 35a99caec1
commit d2a033b2da
2 changed files with 43 additions and 1 deletions

37
R-cairo-fix.patch Normal file
View File

@ -0,0 +1,37 @@
--- a/src/modules/X11/devX11.c (révision 61681)
+++ b/src/modules/X11/devX11.c (révision 61682)
@@ -244,6 +244,7 @@
{
if(inclose || !xd || !xd->buffered || xd->holdlevel > 0) return;
cairo_paint(xd->xcc);
+ cairo_surface_flush(xd->xcs);
if (xd->type == WINDOW) XDefineCursor(display, xd->window, arrow_cursor);
XSync(display, 0);
xd->last = currentTime();
@@ -753,8 +754,10 @@
#ifdef HAVE_WORKING_CAIRO
pX11Desc xd = (pX11Desc) dd->deviceSpecific;
/* We can use the buffered copy where we have it */
- if(xd->buffered == 1) cairo_paint(xd->xcc);
- else if (xd->buffered > 1)
+ if(xd->buffered == 1) {
+ cairo_paint(xd->xcc);
+ cairo_surface_flush(xd->xcs);
+ } else if (xd->buffered > 1)
/* rely on timer to repaint eventually */
xd->last_activity = currentTime();
else
@@ -2691,7 +2694,11 @@
Cairo_update(xd);
return;
}
- if(xd->buffered) cairo_paint(xd->xcc);
+ if(xd->buffered) {
+ cairo_paint(xd->xcc);
+ cairo_surface_flush(xd->xcs);
+ }
+
#endif
if(xd->type==WINDOW) XDefineCursor(display, xd->window, arrow_cursor);
XSync(display, 0);

7
R.spec
View File

@ -6,12 +6,13 @@
Name: R
Version: 2.15.2
Release: 4%{?dist}
Release: 5%{?dist}
Summary: A language for data analysis and graphics
URL: http://www.r-project.org
Source0: ftp://cran.r-project.org/pub/R/src/base/R-2/R-%{version}.tar.gz
Source1: macros.R
Source2: R-make-search-index.sh
Patch0: R-cairo-fix.patch
License: GPLv2+
Group: Applications/Engineering
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -189,6 +190,7 @@ from the R project. This package provides the static libRmath library.
%prep
%setup -q
%patch0 -p1 -b .cairo-fix
# Filter false positive provides.
cat <<EOF > %{name}-prov
@ -1040,6 +1042,9 @@ R CMD javareconf \
%postun -n libRmath -p /sbin/ldconfig
%changelog
* Sun Jan 20 2013 Tom Callaway <spot@fedoraproject.org> - 2.15.2-5
- apply upstream fix for cairo issues (bz 891983)
* Fri Jan 18 2013 Adam Tkac <atkac redhat com> - 2.15.2-4
- rebuild due to "jpeg8-ABI" feature drop