mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-01 10:18:09 +02:00
Merge branch '1.8'
Conflicts: NEWS cairo-version.h
This commit is contained in:
commit
456252a1c2
2 changed files with 99 additions and 21 deletions
55
NEWS
55
NEWS
|
|
@ -1,6 +1,5 @@
|
|||
Release 1.9.2 (2008-11-08?)
|
||||
===========================
|
||||
|
||||
Release 1.9.2 (2008-11-??)
|
||||
==========================
|
||||
API additions:
|
||||
|
||||
cairo_surface_set_mime_data()
|
||||
|
|
@ -38,7 +37,57 @@ EXTEND_PAD.
|
|||
Better handling of large scale-factors on image patterns.
|
||||
Emit /Interpolate for PS,PDF images.
|
||||
|
||||
Release 1.8.4 (2008-11-14 Carl Worth <cworth@cworth.org>)
|
||||
=========================================================
|
||||
The cairo community is pleased to announce the 1.8.4 release of the
|
||||
cairo graphics library. This is the second update to cairo's stable
|
||||
1.8 series and contains a small number of bug fixes, (in particular a
|
||||
few fixes for build failures of cairo 1.8.2 on various systems). This
|
||||
is being released just over two weeks after cairo 1.8.2.
|
||||
|
||||
We recommend that everyone using cairo upgrade to 1.8.4.
|
||||
|
||||
-Carl
|
||||
|
||||
Build fixes
|
||||
-----------
|
||||
Fix build with older XRender that doesn't define RepeatNone:
|
||||
|
||||
Build of xlib backend fails against old XRender (RepeatNone undeclared)
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=18385
|
||||
|
||||
Fix build with bash version <= 3.0:
|
||||
|
||||
doltlibtool broken on linux with bash 3.00.0
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=18363
|
||||
|
||||
Bug fixes
|
||||
---------
|
||||
Avoid triggering a bug in X.org server 6.9 resulting in a hung machine
|
||||
requiring a reboot:
|
||||
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=15628#c2
|
||||
|
||||
Fix display of user fonts as exercised by proposed support for type3
|
||||
fonts in poppler (unsigned promotion fixes):
|
||||
|
||||
Use cairo user-font for Type 3 fonts
|
||||
http://lists.freedesktop.org/archives/poppler/2008-October/004181.html
|
||||
|
||||
Avoid miscomputing size of fallback images required when rendering
|
||||
with CLEAR, IN, or SOURCE operator to vector surfaces, (PS, PDF, SVG,
|
||||
etc.).
|
||||
|
||||
Be more tolerant of broken fonts when subsetting type1 fonts:
|
||||
|
||||
Error handling in cairo_type1_font_subset_get_glyph_names_and_widths
|
||||
http://lists.cairographics.org/archives/cairo/2008-October/015569.html
|
||||
|
||||
Fix cairo_fill_extents, cairo_stroke_extents, cairo_path_extents, to
|
||||
correctly allow NULL parameters as documented.
|
||||
|
||||
Fix potential crash on emitting a type3 glyph after having drawn text
|
||||
paths from the same font, (for example with cairo_text_path).
|
||||
|
||||
Release 1.8.2 (2008-10-29 Carl Worth <cworth@cworth.org>)
|
||||
=========================================================
|
||||
|
|
|
|||
|
|
@ -287,25 +287,54 @@ _cairo_xlib_display_get (Display *dpy,
|
|||
sizeof (display->cached_xrender_formats));
|
||||
|
||||
display->buggy_repeat = FALSE;
|
||||
if (strstr (ServerVendor (dpy), "X.Org") != NULL) {
|
||||
/* When modularized, the X.Org server VendorRelease was
|
||||
* bogusly reset to a very small number, without any change in
|
||||
* the ServerVendor string. We avoid considering the new
|
||||
* servers with the small number as buggy by restricting the
|
||||
* test to known bad releases. But there could be a problem
|
||||
* again in the future if X.Org server versions ever climb
|
||||
* back up to 6.7 or 6.8. */
|
||||
if (VendorRelease (dpy) >= 60700000 && VendorRelease (dpy) <= 60802000)
|
||||
display->buggy_repeat = TRUE;
|
||||
|
||||
/* But even the new modular server has bugs, (bad enough to
|
||||
* crash the X server), that it so happens we can avoid with
|
||||
* the exact same buggy_repeat workaround. We've verified that
|
||||
* this bug exists as least as late as version 1.3.0.0, (which
|
||||
* is in Fedora 8), and is gone again in version 1.4.99.901
|
||||
* (from a Fedora 9 Beta). Versions between those are still
|
||||
* unknown, but until we learn more, we'll assume that any 1.3
|
||||
* version is buggy. */
|
||||
/* This buggy_repeat condition is very complicated because there
|
||||
* are multiple X server code bases (with multiple versioning
|
||||
* schemes within a code base), and multiple bugs.
|
||||
*
|
||||
* The X servers:
|
||||
*
|
||||
* 1. The Vendor=="XFree86" code base with release numbers such
|
||||
* as 4.7.0 (VendorRelease==40700000).
|
||||
*
|
||||
* 2. The Vendor=="X.Org" code base (a descendant of the
|
||||
* XFree86 code base). It originally had things like
|
||||
* VendorRelease==60700000 for release 6.7.0 but then changed
|
||||
* its versioning scheme so that, for example,
|
||||
* VendorRelease==10400000 for the 1.4.0 X server within the
|
||||
* X.Org 7.3 release.
|
||||
*
|
||||
* The bugs:
|
||||
*
|
||||
* 1. The original bug that led to the buggy_repeat
|
||||
* workaround. This was a bug that Owen Taylor investigated,
|
||||
* understood well, and characterized against carious X
|
||||
* servers. Confirmed X servers with this bug include:
|
||||
*
|
||||
* "XFree86" <= 40500000
|
||||
* "X.Org" <= 60802000 (only with old numbering >= 60700000)
|
||||
*
|
||||
* 2. A separate bug resulting in a crash of the X server when
|
||||
* using cairo's extend-reflect test case, (which, surprisingly
|
||||
* enough was not passing RepeatReflect to the X server, but
|
||||
* instead using RepeatNormal in a workaround). Nobody to date
|
||||
* has understood the bug well, but it appears to be gone as of
|
||||
* the X.Org 1.4.0 server. This bug is coincidentally avoided
|
||||
* by using the same buggy_repeat workaround. Confirmed X
|
||||
* servers with this bug include:
|
||||
*
|
||||
* "X.org" == 60900000 (old versioning scheme)
|
||||
* "X.org" < 10400000 (new numbering scheme)
|
||||
*
|
||||
* For the old-versioning-scheme X servers we don't know
|
||||
* exactly when second the bug started, but since bug 1 is
|
||||
* present through 6.8.2 and bug 2 is present in 6.9.0 it seems
|
||||
* safest to just blacklist all old-versioning-scheme X servers,
|
||||
* (just using VendorRelase < 70000000), as buggy_repeat=TRUE.
|
||||
*/
|
||||
if (strstr (ServerVendor (dpy), "X.Org") != NULL) {
|
||||
if (VendorRelease (dpy) >= 60700000 && VendorRelease (dpy) < 70000000)
|
||||
display->buggy_repeat = TRUE;
|
||||
if (VendorRelease (dpy) < 10400000)
|
||||
display->buggy_repeat = TRUE;
|
||||
} else if (strstr (ServerVendor (dpy), "XFree86") != NULL) {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue