[cairo-announce] cairo release 1.4.10 now available

Carl Worth cworth at cworth.org
Wed Jun 27 14:43:25 PDT 2007

A new cairo release 1.4.10 is now available from:


    which can be verified with:

        8371097e30650ec817b24694367110139627403e  cairo-1.4.10.tar.gz

        (signed by Carl Worth)

  Additionally, a git clone of the source tree:

        git clone git://git.cairographics.org/git/cairo

    will include a signed 1.4.10 tag which points to a commit named:

    which can be verified with:
        git verify-tag 1.4.10

    and can be checked out with a command such as:
        git checkout -b build 1.4.10

This is the fifth update in cairo's stable 1.4 series. It comes
roughly three weeks after the 1.4.8 release. The most significant
change in this release is a fix to avoid an X error in certain cases,
(that were causing OpenOffice.org to crash in Fedora). There is also a
semantic change to include child window contents when using an xlib
surface as a source, an optimization when drawing many rectangles, and
several minor fixes.


Significant changes from cairo 1.4.8 to 1.4.10

Eliminate X errors that were killing OO.o (Chris Wilson)
Cairo is fixed to avoid the X errors propagated when cleaning up
Render Pictures after the application had already destroyed the
Drawable they reference. (It would be nice if the X server wouldn't
complain that some cleanup work is already done, but there you have
it.) This fixes the bug causing OpenOffice.org to crash as described

        XError on right click menus in OOo.

Use IncludeInferiors when using xlib surface as a source (Ryan Lortie)
When an xlib surface is used as the source of a draw operation the
contents of child windows are now included in the source data. The
semantics of drawing to xlib surfaces are unchanged (ie: draws are
still clipped by child windows overlapping the destination window).

Optimize drawing of many rectangles (Vladimir Vukicevic)
Avoid O(N*N) loop when filling many axis-aligned rectangles, (either
many rectangles as separate sub-paths or due to dashing).

Miscellaneous fixes
Fix cairo-perf on Solaris by linking to librt. (Behdad Esfahbod)

Fix make check for systems that require executable files to have a
particular extension. (Behdad Esfahbod)

Eliminate some warnings in cairo-quartz. (Brian Ewins)

Fix build-breaking typo for cairo-directfb. (Chris Wilson)

What is cairo
Cairo is a 2D graphics library with support for multiple output
devices. Currently supported output targets include the X Window
System, win32, and image buffers, as well as PDF, PostScript, and SVG
file output. Experimental backends include OpenGL (through glitz),
Quartz, XCB, BeOS, OS/2, and DirectFB.

Cairo is designed to produce consistent output on all output media
while taking advantage of display hardware acceleration when available
(for example, through the X Render Extension).

The cairo API provides operations similar to the drawing operators of
PostScript and PDF. Operations in cairo including stroking and filling
cubic Bézier splines, transforming and compositing translucent images,
and antialiased text rendering. All drawing operations can be
transformed by any affine transformation (scale, rotation, shear,

Cairo has been designed to let you draw anything you want in a modern
2D graphical user interface.  At the same time, the cairo API has been
designed to be as fun and easy to learn as possible. If you're not
having fun while programming with cairo, then we have failed
somewhere---let us know and we'll try to fix it next time around.

Cairo is free software and is available to be redistributed and/or
modified under the terms of either the GNU Lesser General Public
License (LGPL) version 2.1 or the Mozilla Public License (MPL) version

Where to get more information about cairo
The primary source of information about cairo is:


The latest releases of cairo can be found at:


Snapshots of in-development versions of cairo:


The programming manual for using cairo:


Mailing lists for contacting cairo users and developers:


Answers to some frequently asked questions about cairo:


Log of all commits from cairo 1.4.8 to 1.4.10
Behdad Esfahbod (3):
      [perf] Link to librt if available
      [test] Use check_PROGRAMS instead of custom made SUPPORT_PROGS
      [TODO] Add link to Adrian's finer-grain fallback thread

Brian Ewins (5):
      [quartz] pass quartz_stroke_t not CGContextRef
      commit 75be87b4093aaa7f477d587d5a68308cade1b29c
      [quartz] move glyph array declarations
      [quartz] remove unused code
      [atsui] Document ATSUI

Carl Worth (8):
      Update version to 1.4.9 after the 1.4.8 release.
      Fix cairo-perf-diff to compile cairo-perf explicitly
      Merge branch 'ooo-fix' into cairo
      Revert "[cairo-xlib-surface] Check for errors before installing a NOOP error handler."
      Revert "[cairo-xlib-display] Hide XErrors during processing of the work queue."
      Prefer local dpy variable instead of display->display
      Add notes to NEWS for 1.4.10
      Increment cairo version to 1.4.10 (and libtool versioning to 13:5:11)

Chris Wilson (4):
      [cairo-xlib-surface] Check for errors before installing a NOOP error handler.
      [cairo-xlib-display] Hide XErrors during processing of the work queue.
      [cairo-directfb] Correct minor typo.
      Avoid deferring resource cleanup for application drawables

Nis Martensen (1):
      Update INSTALL about status of backends

Ryan Lortie (1):
      [xlib] Create source xrender Picture with IncludeInferiors

Vladimir Vukicevic (2):
      [misc] Blow away last remaining $Id$ directives in sources
      [perf] Add pixman_region_init_rects and use in extract_region

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://cairographics.org/archives/cairo-announce/attachments/20070627/1aa13821/attachment.pgp 

More information about the cairo-announce mailing list