commit d45c003519682e6a3115293da08aa331c8de2cc8
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Jan 14 15:43:33 2008 -0800

    Update cairo version to 1.4.14 and library versioning to 13:7:11

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit a6635fb5f5375b0ce2d5a1287654137f25dcc1bf
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Jan 14 15:41:43 2008 -0800

    NEWS: Mention the mixed-format-glyphs fix and update the date.

 NEWS |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit 549234a27f6b25cd0577874aa2d047515041fae3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jan 14 16:14:02 2008 -0500

    [scaled-font] Upgrade glyph mask as needed in case of mixed-format glyphs
    
    In ecb895803b9d2a3fd142f4a2c694ca08c5581f0e Carl made fallback show_glyphs
    always use a A8 mask in case of mixed-format glyphs.  That's suboptimal if
    there are ARGB32 glyphs.  Using masks smartly we can implement the desired
    behavior.  Done now.
    
    Cherry picked from commit 22d7f311f7733a57ece5d91708b2b5da9b71de86

 src/cairo-image-surface.c |   18 ++++++++++++++
 src/cairo-scaled-font.c   |   55 +++++++++++++++++++++++++-------------------
 src/cairoint.h            |    3 ++
 3 files changed, 52 insertions(+), 24 deletions(-)

commit 35ed062a6269feeebae70c98000b60630a9ec3bd
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jan 11 12:28:49 2008 -0800

    Migrate glyph mask to A8 in case of mixed-format glyphs.
    
    This fixes the remaining image-backend problems with bug 13479:
    
    	Ugly Courier New font with cairo 1.4.12
    	https://bugs.freedesktop.org/show_bug.cgi?id=13479
    
    although the xlib-backend had been fixed previously.
    
    Specifically, if an A1 glyph is first encountered, then subsequent
    glyphs will still be rendered with antialiasing, (previously they
    would be rendered very poorly without antialiasing).
    
    Similarly, if the first glyph encountered has component-alpha
    sub-pixel antialiasing and then an A1 or A8 glyph is encountered
    then all glyphs will rendered in A8 (grayscale antialiasing).
    Previously, the non-subpixel-antialiased glyphs would not appear
    at all.
    
    Cherry picked from commit ecb895803b9d2a3fd142f4a2c694ca08c5581f0e

 src/cairo-scaled-font.c |   51 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 48 insertions(+), 3 deletions(-)

commit 69549125feb24118ad35403a4be647f8bb692e86
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Dec 17 01:14:27 2007 -0500

    [cairo-xlib] Support scale fonts with glyphs of multiple formats (#13479)
    
    We maintain three Xrender glyphsets per scaled font, one for each of A1, A8,
    and ARGB32.  This is required to correctly support fonts with bitmaps for
    some glyphs but not all.
    (cherry picked from commit 805b668260c47e6d3d854361fcc53f12bd2a57e1)

 src/cairo-xlib-surface.c |  179 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 136 insertions(+), 43 deletions(-)

commit 8776061068fba967dbafb43fac3af7df90464cb8
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Dec 17 01:19:53 2007 -0500

    [cairo-ft] Revert "Force non-AA text when using a bitmap strike with only scaling transform." (#13479)
    
    The reasoning for that commit was that fonts with bitmap strikes should be
    rendered with antialiasing off for those (hopefully) few glyphs that don't
    have a bitmap.
    
    However, it turns out, there are fonts that have some, but very few, bitmaps,
    and this changed forces non-AA rendering on them.  We now support multiple
    glyph formats per font in the Xlib backend, so backing this out to let every
    glyph render as is.  Fontconfig rules can be used to force AA off on a per-font
    basis.
    
    This reverts commit 06af5c2891b89da28581c30afcde06c5442884db.
    (cherry picked from commit 83963d2a9ec445e23cfbe692b877177a9d9d135e)

 src/cairo-ft-font.c |   24 ------------------------
 1 files changed, 0 insertions(+), 24 deletions(-)

commit ca1cd4c28e4082e42b843a805e27d7d2b3dfeb04
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Jan 8 16:23:45 2008 -0800

    NEWS: Add notes for 1.4.14

 NEWS |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

commit 0a57aa8ac1839c386ef8329dba4fdbc9d479a5fa
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jan 3 18:37:53 2008 -0800

    Directly check the miter corner to detect wild miters.
    
    The original test for wild miters would only work with a square transform
    (and, in fact, the original code required an identity transform). Instead of
    fixing that, I replaced it with a more obvious test which makes sure the
    miter corner lies between the two faces and not out in space somewhere.
    (cherry picked from commit 7cf9a6e4e39b18f4967afdb7c3c71eca5f4ba8c7)

 src/cairo-path-stroke.c |  139 +++++++++++++++++++----------------------------
 1 files changed, 57 insertions(+), 82 deletions(-)

commit 3fb0eaca42b00808d1c61031e385c95768195e7f
Author: Keith Packard <keithp@keithp.com>
Date:   Thu Jan 3 18:17:24 2008 -0800

    Add new miter-precision test. Checks miter joins at many scales.
    
    This demonstrates an error in cairo where miter joins are replaced with
    bevels at high scale factors due to a test added to eliminate wild miters
    drawn when the line faces are nearly parallel.
    
    Cherry picked from commit 81e029edda8c0404c6f0bd1b618e77fb55777c64

 test/.gitignore              |    1 +
 test/Makefile.am             |    1 +
 test/miter-precision-ref.png |  Bin 0 -> 931 bytes
 test/miter-precision.c       |   80 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 82 insertions(+), 0 deletions(-)

commit 1ea07fdb700c99f68e4131dfe69564b863b545bf
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Dec 12 23:45:07 2007 +1030

    PS: fix compiler warning introduced by previous commit

 src/cairo-ps-surface.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit cd0ea998b6bb0fb2dc93df83ca7ce5fd7517212a
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Dec 12 22:52:10 2007 +1030

    PS: Use the correct bounding box in Type 3 fonts
    
    Previously this was a fixed size.

 src/cairo-ps-surface.c |   43 ++++++++++++++++++++++++++++++++++++-------
 1 files changed, 36 insertions(+), 7 deletions(-)

commit 5c3f22816f8324d2847b885e4c9c3e94837ce2bc
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Dec 2 00:50:28 2007 +1030

    Fix regression in Type1 Fallback
    
    As a result of the changes to improve the status checking,
    _cairo_type2_charstrings_init() was failing due to the failure
    status returned when the font->output stream is destroyed.
    This is because _cairo_type2_charstrings_init() does not
    create an output stream.
    
    Fix this by initializing font->output to NULL and only
    destroy it if not NULL.
    (cherry picked from commit 1441e165f2338bc6a8e2945baca77611ff417b2f)

 src/cairo-type1-fallback.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit a94dc7499bd9bcff0e562bb81eba4e8c74e97163
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Nov 29 23:18:45 2007 +1030

    PS: Use correct glyphs widths for Type 3 fonts
    
    Previously the widths were set to 0.
    (cherry picked from commit f4b93cceb7fb83de558ed058915f92d4f75c1a6a)

 src/cairo-ps-surface.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

commit 42b0552f119b4d2a29d76647eec89eb913021338
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Nov 29 22:54:54 2007 +1030

    PS: Fix the bounding boxes of Type 3 glyphs
    
    When viewing with ghostscript the glyphs were clipped
    (cherry picked from commit 78e8d3d9bd2d4652f636a668a3fa53ef9edfd9ae)

 src/cairo-ps-surface.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 5d591b7649c3379a15e012ae160727853aca4b4d
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Dec 12 22:27:13 2007 +1030

    PS: Fix typecheck error with Type 3 and recent versions of gs
    
    Ghostscipt requires the encoding vector to be filled in.

 src/cairo-ps-surface.c |   40 ++++++++++++++++++++++++----------------
 1 files changed, 24 insertions(+), 16 deletions(-)

commit 9b4d39808875bb642de80ee61ab76ef83829ab3b
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Nov 29 09:20:01 2007 +1030

    PS: Ensure that xyshow operator has a pair of offsets for each glyph
    
    The last entry should have been "0 0" instead of "0".
    (cherry picked from commit 5e8f60531a09f357db38c4b646b1bbd29b97a891)

 src/cairo-ps-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 3551152005e38947cc4233e25744ec99eb4587cc
Author: Bernardo Innocenti <bernie@codewiz.org>
Date:   Wed Dec 5 07:04:09 2007 -0500

    Fix version check for buggy_repeat on modular Xserver 1.x
    
    The versioning of the X server has restarted from 1.0 in the
    modular build.  So we adjust the text to avoid considering
    the new servers buggy.
    
    Cherry picked from commit d4138d1161c6b683fd0ef62a8d49ccf4ec4674bc

 src/cairo-xlib-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 957056368b71ce72599a79fd1ea8f8d72cfaaaf5
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 27 08:05:08 2007 -0800

    Increment cairo version to 1.4.13 after the 1.4.12 release

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 442fa9a106b01f17699397dcc95298071a50fd6d
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Nov 26 22:31:32 2007 -0800

    Increment version to 1.4.12 and 13:6:11

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit b28c7a90fce099cc6e8879ba05358f6389948975
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Nov 26 21:52:41 2007 -0800

    NEWS: Add notes for cairo 1.4.12

 NEWS |   55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 55 insertions(+), 0 deletions(-)

commit 617d3f5738a8e9e6fccbbaa9a314f04383fbfc39
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 20 20:48:47 2007 -0800

    Mark bitmap-font as XFAIL
    
    I don't know where the PDF failure is coming from, (it appears
    to be using a too-small font in the rotate cairo_show_text
    case), but I'm seeing the same behavior in 1.4.10 so this
    is not a regression compared to that for the purpose of the
    1.4.12 release.

 test/Makefile.am   |    1 +
 test/bitmap-font.c |    3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit bc67e2a37b480e038e8215ae9093561f91090c76
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 20 20:45:42 2007 -0800

    Update two PS reference images for mysterious single-pixel change
    
    It seems ft-vertical-layout-type1 and ft-vertical-layout-type3
    change rasterization slightly from time to time, (may be due
    to changes in the system installation of ghostscript).

 ...ft-text-vertical-layout-type1-ps-argb32-ref.png |  Bin 1877 -> 1879 bytes
 ...ft-text-vertical-layout-type3-ps-argb32-ref.png |  Bin 1879 -> 1882 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

commit 476f888f4e38c63b535a06be77c49c2f4bdad010
Author: Richard Hult <richard@imendio.com>
Date:   Mon Nov 5 10:05:07 2007 +0000

    [atsui] Use ascent+descent+leading to get the distance between baselines
    
    The height is currently mapped to the atsui metrics property capHeight, which
    is documented as "The height of a capital letter in the font from the baseline
    to the top of the letter".
    
    That doesn't match what height is in cairo, it should be the disctance between
    baselines. This patch that fixes that (and makes webkit on GTK+ OS X
    layout nicely).
    (cherry picked from commit 4270cd3358fabf0d3e6ac4e866099b172082b592)

 src/cairo-atsui-font.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5c2ad5f69db5c685a3d5d9feeefb911df560bca3
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Mon Nov 5 10:05:04 2007 +0000

    [configure.in] fix atsui experimental warning
    
    The 'experimental' warning for atsui was appearing
    for --enable-quartz not --enable-atsui as it should.
    (cherry picked from commit 3141b21c0c581dabc09a6ec9cdf0a071701b0e42)

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e9de14eb4d841071c15e8aea7bc5d463ceb59622
Author: Keith Packard <keithp@koto.keithp.com>
Date:   Tue Oct 30 22:00:59 2007 -0700

    Force non-AA text when using a bitmap strike with only scaling transform.
    
    When the current font size matches one of the available fixed sizes, and
    the overall transform has only scaling components, FreeType will use the
    fixed size bitmaps by default. For glyphs which do not have bitmaps,
    force them to be rendered in monochrome instead of anti-aliased so
    that they all match nicely.
    (cherry picked from commit 06af5c2891b89da28581c30afcde06c5442884db)

 src/cairo-ft-font.c |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

commit 19e29dfb80ee06b4a4a187ba40e2e0c6ecf0dab2
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Oct 30 17:09:56 2007 -0700

    Fix degenerate-pen test case by removing the triggering assertion
    
    Instead we choose either the first or last pen vertex as
    appropriate.
    
    This makes the degenerate-pen pass stop failing on an
    assertion, and passes for most backends. It's still failing
    for the PDF backend, but that looks like a new, PDF-specific
    bug.
    (cherry picked from commit 448c9314252bba779194d2b01950b8738b26fd13)

 src/cairo-pen.c |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

commit efcaee8f838177c1d1766e48aaa5dbf8cb9cf1d8
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Oct 29 17:55:28 2007 -0700

    Limit miters for small angles
    
    This fixes the current failure get-path-extents, which is a
    demonstration of the following bug:
    
    	cairo_stroke_extents() gives wrong result for arcs in some cases
    	https://bugs.freedesktop.org/show_bug.cgi?id=7245
    
    Many thanks to Michael Urman whose review of early versions of
    this work found a fatal mistake in my algebra.
    (cherry picked from commit 00d701ff7de68609aa8cec7871d93b27a108fd14)

 src/cairo-path-stroke.c |   76 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 75 insertions(+), 1 deletions(-)

commit b7baef143316566fee1478bfeb109141c805e79f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Oct 30 11:13:44 2007 +0000

    [cairo-surface] Fix typo in doc.
    
    s/INVALUE_FORMAT/INVALID_FORMAT/
    (cherry picked from commit 0d42af2427d1de27845cb8a6b3d290a562c28fc6)

 src/cairo-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 7c70113149a25e2b0278a5e7ca9bbc330dc66e8a
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Oct 26 22:58:57 2007 -0700

    Fix typo in _cairo_gstate_fini
    
    Obrigado a Luiz Americo Pereira Camara <luizmed@oi.com.br>
    (cherry picked from commit a69d4731300b430b802222d317698c313c75a31a)

 src/cairo-gstate.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0ec9e1b4fa06ea456fe596f423aad12be5ec5e1a
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sat Oct 20 23:41:46 2007 +0100

    [quartz] return status instead of CGPatternRef
    
    Returning status improves error handling, since
    returning NULL doesn't let us distinguish different
    types of error.
    (cherry picked from commit 8f6abdbc26ee15451b5a386610f7d5a7a9114d63)

 src/cairo-quartz-surface.c |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

commit a83e5462533f54d0c0105300b1e8687d120b8686
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sat Oct 20 23:41:32 2007 +0100

    [quartz] return status instead of cairo_quartz_surface_t
    
    Returning status improves error handling, since
    returning NULL doesn't let us distinguish different
    types of error.
    (cherry picked from commit cfb26fdf0f490b4902106b50d02628cffd53a0eb)

 src/cairo-quartz-surface.c |   26 ++++++++++++++------------
 1 files changed, 14 insertions(+), 12 deletions(-)

commit 0951d2a9ab22f7fe7839629a8a02057536c75c45
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sat Oct 20 22:45:30 2007 +0100

    [quartz] return status instead of CGShadingRef
    
    Returning status improves error handling, since
    returning NULL doesn't let us distinguish different
    types of error. Suggested by Chris Wilson.
    (cherry picked from commit dec3099585eeb184ed51b5c720eb891314d7ea51)

 src/cairo-quartz-surface.c |   30 ++++++++++++++++--------------
 1 files changed, 16 insertions(+), 14 deletions(-)

commit 044de7fa7aa0da19ead348094697b2227e882417
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sun Jun 24 23:53:47 2007 +0100

    fix dash-zero-length test
    
    Quartz was failing the dash-zero-length test for odd numbers
    of dashes; it seems cairo wants 3 dashes to be on-off-on,
    off-on-off, wheras quartz uses on-off-on, on-off-on. Fixed
    by doubling the number of dashes used.
    (cherry picked from commit b9c065df74027b06e15e105fee5e4a4d350e0abf)

 src/cairo-quartz-surface.c |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

commit 5a3aa313d4a96944bd9feaea77b8457d7e4e9499
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sun Jun 24 01:17:58 2007 +0100

    Implement EXTEND_NONE for gradients.
    
    Fixes linear and radial gradients, which were displaying with
    extend_pad when extend_none was requested. Makes the
    radial-gradient test pass.
    (cherry picked from commit f334ee0397963e12c9efcb2690792aac83734661)

 src/cairo-quartz-surface.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 977ba306f90618a20fda16b16229c664bad15112
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sat Jun 23 23:36:32 2007 +0100

    call _cairo_error on failure
    
    Call _cairo_error to enable setting a breakpoint on quartz errors.
    (cherry picked from commit 0eeec372c0e7849d81bde8c8c5bf491919f51a6e)

 src/cairo-quartz-surface.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 4fdc3a69fdb17acf6a394d12351b19cd61e17516
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sat Jun 23 12:34:24 2007 +0100

    do not return a cairo_status_t of UNSUPPORTED
    
    We had a bug which converted cairo_int_status_t to cairo_status_t,
    causing an assertion; reported at http://developer.imendio.com/node/128.
    Return the generic out of memory error instead.
    (cherry picked from commit 8c8ec63903f8ad67a88394eff1359607bb93cf88)

 src/cairo-quartz-surface.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

commit 6e4ff01d0ba40576943c76da638fe0026baab62b
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Mon Jun 18 00:07:33 2007 +0100

    do not ignore errors, return NULL instead (moz#874315)
    
    In the quartz backend there are occasional errors where returning NULL
    can be used to signal that an error has occured.
    
    Mozilla bug #874315.
    (cherry picked from commit 6fec51990e90901ebafbb872a9e618cb70d17911)

 src/cairo-quartz-surface.c |   37 ++++++++++++++++++++++++++++---------
 1 files changed, 28 insertions(+), 9 deletions(-)

commit ca132774c463f75b11b297c5b2b034ee669115ac
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Mon Jun 18 00:07:33 2007 +0100

    do not ignore errors in setup_source
    
    In setup_source we were ignoring a return value, but we can't relay
    it to the caller. This patch treats the error as an unsupported
    operation.
    (cherry picked from commit 07fd091e3e6b925c588b9a16f6f10efcd46615c2)

 src/cairo-quartz-surface.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit f27164c89910430385d21fc8904cedd884f21894
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Tue Jun 19 21:13:39 2007 +0100

    do not ignore errors when creating styles.
    
    This fixes statuses being ignored when calling
    CreateSizedCopyOfStyle. As a side effect, it cleans up
    two other bugs - the font object was sometimes not
    freed, and a the scaled font mutex was aquired recursively,
    causing a hang in the invalid-matrix test.
    (cherry picked from commit b6b9cef7136453f97543173bcb2ade46b1c46b77)

 src/cairo-atsui-font.c |   37 ++++++++++++++++++++++++++-----------
 1 files changed, 26 insertions(+), 11 deletions(-)

commit c00bf48648e27b4bed66edb5054cc6a8545bb2f4
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Mon Jun 18 00:07:33 2007 +0100

    do not ignore ATSUI errors.
    
    This fixes multiple instances where the return value of an ATSUI
    call was ignored and converts them into CAIRO_STATUS_NO_MEMORY.
    As a side effect it fixes a utf8 array not being freed.
    (cherry picked from commit 4885a12c6863321a566e7103bf6dccdd5d13a986)

 src/cairo-atsui-font.c |   83 +++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 76 insertions(+), 7 deletions(-)

commit 23b6c2fe9d8223f6b389dff49f99b5ae86706032
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Mon Jun 18 00:07:33 2007 +0100

    do not ignore errors in glyph paths
    
    When interpreting glyph paths in ATSUI callbacks we were ignoring
    the cairo status. We need to return this to the caller. In order
    to do this we introduce a custom OSStatus code in the range that
    Apple reccommend.
    (cherry picked from commit b498c928be73635614596243d17a922e9d5ff008)

 src/cairo-atsui-font.c |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

commit b7af909c8247642d2ec4dd0b96f20348be6e971a
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Oct 19 22:45:15 2007 +0100

    [cairo-xlib] Check source for XRender support.
    
    Do not rely on the assumption that if the destination has render support
    then the source has it as well - breaks when the boilerplate disables
    render support for a surface.
    
    Similarly do not set the XRender attributes on the source surface
    unless it actually has a xrender_format.
    (cherry picked from commit 3211d810d31a6607c8d78a50f577a8ca8eb705e6)

 src/cairo-xlib-surface.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

commit a81ff21d53caa436732a479c2b91c4f3dfe35c93
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Oct 19 15:02:03 2007 -0400

    [cairo-xlib] Release glyph surfaces if we made them to be generated
    
    The reasoning is that right now, applications render glyphs to images,
    upload it to the X server, and keep a local copy in the cache.  The X
    server works hard to reuse glyph renderings, by hashing glyph images and
    reusing them.  So we are wasting memory in cairo apps that don't use the
    glyph surface after uploading to the server, which is the case if you
    don't use the glyph in an image surface.  The patch does not release the
    glyph surface if it already existed in the cache, so, worst case
    scenario is that we render the glyph twice, if you first use it with
    xlib, then with image surface.  That effect should be negligible.
    (cherry picked from commit 76e3b3cdc3dda986d420637cfc2445aca481a863)

 src/cairo-xlib-surface.c |   83 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 63 insertions(+), 20 deletions(-)

commit c1464e04c4ae41cb8b353c5a0d18bd5e23ceef39
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Oct 18 20:07:12 2007 +0100

    [cairo-xlib-surface] Match content to xrender_format using the channel masks.
    
    _xrender_format_to_content() was using the channel offset to determine
    whether the format supported a content type.
    For example, the XRenderPictFormat for the A8 format looks like:
        direct.alpha = 0; direct.alphaMask = 0xff;
        direct.red   = 0; direct.redMask   = 0x00;
        direct.green = 0; direct.greenMask = 0x00;
        direct.blue  = 0; direct.blueMask  = 0x00;
    which _xrender_format_to_content() matched as CAIRO_CONTENT_COLOR.
    
    Switch to using the channel masks for deducing content type.
    (cherry picked from commit 8ae778273799ee9f6d3c13e9c41730daeda2c743)

 src/cairo-xlib-surface.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 2e76f8b617dfad13e16a8bad70db9ff2f8e43db4
Author: Chris Heath <chris@heathens.co.nz>
Date:   Mon Oct 15 17:31:50 2007 -0400

    [autogen.sh] Tolerate tput failure (#12757)
    (cherry picked from commit 189feaf352f59b0a049202552024578715ef8cc7)

 autogen.sh |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 198dc3573f2a80accd1ba0c188ea5378f5f99bc5
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue Oct 2 10:54:44 2007 -0700

    [win32] return a nil surface, not NULL
    
    Missed an error return
    (cherry picked from commit c99d33b10e84883ade1402c3c1d1efdb4b46f66e)

 src/cairo-win32-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit bf67f28746044b6d5a712921c617ba52d31d33e3
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue Oct 2 10:48:59 2007 -0700

    [win32] report error correctly if CreateCompatibleBitmap fails
    
    These errors were being dropped on the floor, leading to
    rendering errors in out of video memory conditions.
    (cherry picked from commit 4dbf495515d6de933de7f567b935c5fdceed5f6f)

 src/cairo-win32-surface.c |   20 +++++++++++++++++++-
 1 files changed, 19 insertions(+), 1 deletions(-)

commit 0368f0d2081b58feea0489e0d29ad413dca6a007
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Oct 9 15:54:58 2007 -0400

    [ChangeLog.mk] Fix changelog generation rules
    
    Previously it was trying to get logs of 1.2.0..1.4 while I really meant
    was 1.2.0..1.4.0.  It was a simple typo.
    (cherry picked from commit b12ed375cf7ad02a30324616e121a1e9ab8998cb)

 ChangeLog.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 03906e1d81b1adace7e5a4668fb449a487812d70
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Oct 4 16:04:49 2007 +0100

    [cairo-scaled-font] Acquire mutex around _cairo_scaled_font_glyph_path().
    
    All calls that manipulate the scaled_font->cache must hold its mutex.
    (cherry picked from commit 6e93941a7605a3958269de195dc16f255dda7bfd)

 src/cairo-gstate.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 886bd8ee9b594478522ebf315f5bc809d837509f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Oct 4 09:08:46 2007 +0100

    [cairo-path] Check for an empty path in cairo_append_path().
    
    As we now generate empty paths, we must be able to handle empty paths
    in the user facing API. cairo_append_path() has an explicit check, and
    raises an error, for a NULL path->data, so we need to check the
    path->num_data first for empty paths.
    (cherry picked from commit ef5f460eb1f86a73e016c1150723ae1e70b3b037)

 src/cairo.c      |    3 +++
 test/copy-path.c |   15 +++++++++++++++
 2 files changed, 18 insertions(+), 0 deletions(-)

commit 3454ef0984299d19e79ceb705a84c4a706704e29
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Oct 3 23:25:10 2007 +0100

    [malloc] Take advantage of calloc() argument checking.
    
    calloc() will check its arguments for integer overflows so it is safer
    not to pre-multiply them.
    (cherry picked from commit 66664596559c55913fb0b9c8784fe8ab862c217b)

 src/cairo-ft-font.c       |    4 ++--
 src/cairo-glitz-surface.c |    2 +-
 src/cairo-image-surface.c |    2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

commit a5b74da68bcebaecaa4cbb252bc15b6bec32f847
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Oct 3 23:19:10 2007 +0100

    [malloc] Check for integer overflow when realloc'ing.
    
    Perform similar sanity checks to Vlad's _cairo_malloc_ab() but on the
    arguments to realloc instead.
    (cherry picked from commit e49bcde27f88e21d5b8037a0089a226096f6514b)

 src/cairo-array.c          |    4 ++--
 src/cairo-lzw.c            |    6 +++++-
 src/cairo-malloc-private.h |   30 ++++++++++++++++++++++++++----
 src/cairo-path-stroke.c    |    3 ++-
 src/cairo-pattern.c        |    4 +++-
 src/cairo-pen.c            |    3 ++-
 src/cairo-polygon.c        |    3 ++-
 src/cairo-spline.c         |    3 ++-
 src/cairo-traps.c          |    3 ++-
 9 files changed, 46 insertions(+), 13 deletions(-)

commit 96d0c44ac859727315fc31cadeafdf5bb1b770b8
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Oct 1 17:59:57 2007 +0100

    [cairo-path] Don't raise an error when attempting to create an empty path.
    
    Generate a real empty path structure instead of returning
    _cairo_path_nil, if we have been asked to create an empty path.
    
    (Also add a couple of missing _cairo_error()s and an appropriate test
    case.)
    
    Spotted by Fred Kiefer.
    (cherry picked from commit b4f86638cc4b87bfaf10568ae9beb89626e26613)

 src/cairo-path.c |   36 ++++++++++++++++++++++++------------
 test/copy-path.c |   17 +++++++++++++++++
 2 files changed, 41 insertions(+), 12 deletions(-)

commit fb62103c7bff66761780ecae6c501ceab3f64c38
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Sep 29 07:55:48 2007 +0930

    CFF Subetting: Fix for #10849
    
    This fixes the problem Apple Preview has with viewing PDFs with CFF
    font subsets.
    (cherry picked from commit 042c382c094d1ea6f9a5a162d4d1d9ac83413233)

 src/cairo-cff-subset.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 9457131f8bf9ffe2a4a9178c049d02876f719671
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Sep 23 11:37:02 2007 +0930

    Truetype Subsetting: Avoid failing when fonts are missing optional tables
    
    Previously, the TrueType subsetting would fail if any of the "cvt",
    "fpgm", or "prep" tables were missing from the source font. However
    these tables are optional and not required in the subsetted font if
    they do not appear in the source font.
    
    The "name" table has been removed from the subsetted font as the
    Type42 specification does not require this table.
    (cherry picked from commit b20e08999e2f6e7a72ee75a7c3fd865bf0368794)

 src/cairo-truetype-subset.c |  153 +++++++++++++++++++++++++++++++------------
 1 files changed, 110 insertions(+), 43 deletions(-)

commit 4e2a11e0f10702abd5c5144410530e10d1e20a5d
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sun Sep 23 02:52:01 2007 +0100

    [type1-subset] only subset ft fonts
    
    If atsui and ft were both enabled, the code crashed trying to subset
    type-1 fonts; fixed by checking if fonts really are ft before using
    them as ft fonts. This is a temporary fix until we support subsetting
    across all font backends.
    (cherry picked from commit 8132b8b417c75388ce4c4671fffddaa44a5d1be0)

 src/cairo-type1-subset.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit d672c26396f6bde7a771beb5d35b3b786c4574b4
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Fri Sep 21 11:02:42 2007 -0700

    Avoid divide-by-zero when trying to allocate a 0-sized array
    
    Fix up the _cairo_malloc_* wrappers to avoid blindly dividing by zero;
    any attempt to allocate a zero-sized chunk of memory will result in
    NULL.
    (cherry picked from commit 6020f67f1a49cfe3844c4938d4af24c63c8424cc)

 src/cairo-malloc-private.h |   35 +++++++++++++++++++++++++----------
 1 files changed, 25 insertions(+), 10 deletions(-)

commit d5bdb91809bd69e6ed3068d1dc79aac669780e0b
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Wed Aug 29 16:30:49 2007 -0700

    Make NO_MUTEX really mean no mutexes
    (cherry picked from commit e3c16e15e39d98f96e2ce20e397d88214f5a821e)

 src/cairo-mutex-type-private.h |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 1ea1fadf7ec53fcd27b8ed8acd655d913e72e091
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Sep 12 17:45:11 2007 -0400

    [cairo-ft-font] Ignore FT_Load_Glyph errors other than out-of-memory
    Same for FT_Render_Glyph.
    
    When the user asks us to render a glyph that is not available in the font,
    it's mostly an unavoidable kind of error for them, as in, they can't
    avoid such a call.  So it's not nice to put cairo_t in an error state and
    refuse any further drawying.
    
    Many PDF files are created using buggy software and cause such glpyh-not-found
    errors for CID 0 for example.
    
    Eventually we should propagate these kind of errors up and return it from
    the function call causing it, but that needs API change to add return value
    to all text functions, so for now we just ignore these errors.
    (cherry picked from commit 79d975f84bcc32e91db517d71a7312e2e1d653d4)

 src/cairo-ft-font.c |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

commit 57bc62a61e6f2dd36c5680d3f486791a968f33ac
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Sep 17 16:41:52 2007 -0400

    =?utf-8?q?[ChangeLog.mk]=20Make=20make=20rule=20depend=20on=20.git/HEAD,=20not=20.git
    
    =20That=20is=20exactly=20what=20we=20want.=20=20Kristian=20H=C3=B8gsberg=20suggested=20it.
    =20(cherry=20picked=20from=20commit=2021ab44f11d3d20eead5d988c7a6cf48eebff08c7)?=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: 8bit

 ChangeLog.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 709292419564ad14025b8b718324d79dd1b7255a
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Sep 5 08:07:41 2007 +0100

    [cairo-ft-font] Early detection of a zero sized bitmap.
    
    Under rare circumstances we may need to extract a surface that
    represents a bitmap with width==0 and rows==0. Detect this case at the
    start and simply return a zero-sized surface.
    
    Fixes https://bugs.freedesktop.org/show_bug.cgi?id=12284.
    (cherry picked from commit d62f8861689d8b9a9a837043fb78813f0407abd4)

 src/cairo-ft-font.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 9b0a093547aa4b51381baeafd7fcc3029fb140d2
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Sep 5 22:53:43 2007 +0930

    Create meta-surface source image with same content type as the
    meta-surface
    (cherry picked from commit 1e21220f0e2540e3befa66e4764f75589d0eef82)

 src/cairo-meta-surface.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit fce1a3fdd412128bad9efa75f3565d73e9355e99
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Sep 5 22:51:13 2007 +0930

    Eliminate unclipped CLEAR from meta-surface playback
    
    The optimization that avoids replaying commands prior to an unclipped
    CLEAR operation now starts playback from the first command after the
    CLEAR. This avoids the need to handle the unclipped CLEAR in the PDF
    surface.
    (cherry picked from commit 875e32178e5d990a09f3c41262d890888035f04f)

 src/cairo-meta-surface.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 11d83334ceb063d4b771f6ea47002985d844e244
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Sep 5 00:26:56 2007 -0400

    [configure.in] Fix non-pkgconfig Xrender detection path (#4724)
    (cherry picked from commit b85032584b32af968dc8d8a0fcfc9f3e1d2770a0)

 configure.in |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit c92dae41445303a4f109dc8a1f69e54b6ca958b7
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Aug 28 23:40:18 2007 +0930

    Fix PDF gradients bug
    
    The PDF surface was adding extra stops at the 0.0 and 1.0 offset when
    there was not already stops at these offsets. This has been replaced
    with code to move the coordinates of the linear gradient line in to
    the position of the first and last offset.
    (cherry picked from commit 3216275fd9a9cd8d51b1c3a8671393912d50d899)

 src/cairo-pdf-surface.c |   63 ++++++++++++++++++++++++++++++----------------
 1 files changed, 41 insertions(+), 22 deletions(-)

commit 66add99fb643b1d23642f3115e410c7570702dbb
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Wed Aug 29 12:52:00 2007 -0700

    [win32] call scaled_font_fini in create before returning NULL
    (cherry picked from commit bdc70d1fc2a31aa829571244c54f98210e97a2cf)

 src/cairo-win32-font.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

commit 003dc9edabcf181884c3c2cf00c8f81ea9996f4b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Aug 29 12:18:16 2007 -0400

    [configure.in] Make PS backend require zlib too (#12210)
    
    The PS backend uses zlib these days.  Make it depend on zlib being available
    like PDF has been doing.
    (cherry picked from commit 114b07881e8b09f97394dd4fe8f2900ee9f4c348)

 configure.in |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit e544c75f6acf64449d63c2e6bbff70556899317d
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue Aug 28 16:47:24 2007 -0700

    Fix previous create_similar fallback patch
    
    We can't use composite, as some backends don't implement it.
    Use paint() instead.
    (cherry picked from commit 93aee43690c329f43be9e7b840851267ceb17956)

 src/cairo-pattern.c          |   32 ------------------------
 src/cairo-surface-fallback.c |   28 ++++++++++++---------
 src/cairo-surface.c          |   55 ++++++++++++++++++++++-------------------
 3 files changed, 45 insertions(+), 70 deletions(-)

commit 23278efcdb8ef9307fadccf876819b747d999958
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue Aug 28 10:47:52 2007 -0700

    [win32] call free() and not scaled_font_destroy() if scaled init fails
    
    If scaled_font_destroy() is called, a deadlock can result; there's no
    reason to call destroy since the initialization failed (and, indeed,
    it might not be valid to do so anyway).
    (cherry picked from commit 6525d4debb6df67126b04609bb04d23d9c9bd7a6)

 src/cairo-win32-font.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1432c9232f5cf6906240fef07968b108bd0a3ef9
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Mon Aug 27 16:30:52 2007 -0700

    Implement fallback for clone_similar
    (cherry picked from commit 69dae7ee4ace8a92226140ce5ccb690e7f62e35c)

 src/cairo-surface-fallback-private.h |   10 ++++++++
 src/cairo-surface-fallback.c         |   41 ++++++++++++++++++++++++++++++++++
 src/cairo-surface.c                  |    6 ++++-
 3 files changed, 56 insertions(+), 1 deletions(-)

commit ce3744f79678f6949af736e40d0d4462da007908
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Mon Aug 27 14:26:19 2007 -0700

    [win32] check correct surface for BitBlt support in get_subimage
    (cherry picked from commit f4a8633fce5262c09b323eef212fd6efe57d8f10)

 src/cairo-win32-surface.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit c8aff910c417e09d774780ca91877e8b9e409b71
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 21 10:03:00 2007 -0700

    Ensure the Render extension is initialized before calling XESetCloseDisplay
    
    This avoids a potential crash from the Render extension being cleaned
    up during XCloseDisplay before the cairo CloseDisplay hook goes on to
    call into XRenderFreePicture.
    (cherry picked from commit 9f4e6436496fe561aa124bb2b89e1c6711684d98)

 src/cairo-xlib-display.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

commit 578e38eaa794130de1e57b80b60a9bf2e964e9c5
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Aug 16 12:21:49 2007 +0100

    [cairo-ft-font] Decrement lock count on error.
    
    As noted in http://bugs.freedesktop.org/show_bug.cgi?id=12026 the error
    path of _cairo_ft_unscaled_font_lock_face() failed to reset the
    unscaled->lock_count before releasing the mutex and returning NULL.
    (cherry picked from commit bc635da45a32eb9b7aff6fa5f7f560ebf99092a8)

 src/cairo-ft-font.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 849f402b85a2ee7750b8eb767d6722a2489a8b74
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Aug 10 20:10:29 2007 +0930

    PDF: Fix regression in pdf_surface_set_size()
    (cherry picked from commit 8881265cca73790a49068b3bab5362cb73f8deb6)

 src/cairo-pdf-surface.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit afda1179721b96e7786260e613a66ffea783ab9b
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Aug 6 11:06:47 2007 -0700

    Ensure that a copied pattern gets its own user_data array
    
    This fixes the bug reported here:
    
    	Segfault with cairo_pattern_set_user_data
    	https://bugs.freedesktop.org/show_bug.cgi?id=11855
    (cherry picked from commit 13cae8b5e6d3fc93c4eb1853b91ba356b572b551)

 src/cairo-pattern.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit a76f8653d6877134a1d3acbb0fcb4f68ebfbcb8f
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Aug 2 21:25:46 2007 +0930

    CFF Subsetting: fix integer encoding bug
    
    Bug report at https://bugzilla.mozilla.org/show_bug.cgi?id=368668
    (cherry picked from commit f52aa4c13e91339e575ca2c52c9e3a1f4d95b106)

 src/cairo-cff-subset.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 553d8a9319cdb2f6d9378b5fb304f0e4c2e81f25
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Oct 11 17:54:55 2007 +0100

    [Makefile.am] Add missing headers and reference images.
    
    Andrew Jorgensen spotted that make dist was missing a few headers needed
    for compilation and running make distcheck had spurious failures. Add
    the missing files to the distribution and a silly one-liner to check for
    missing reference images.
    (cherry picked from commit e5b01e67975578797b4f7875a9ba02121ff935b5)
    
    [With some edits after cherry-picking to elide files that don't exist
    in the 1.4 branch.]

 src/Makefile.am  |    1 +
 test/Makefile.am |    9 ++++++++-
 2 files changed, 9 insertions(+), 1 deletions(-)

commit 33b1e9ad8bd560e8a0119b2fc0b38bc4d9b03f8f
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 21 10:43:21 2007 -0800

    Add missing definition of INT32_MAX
    
    Some win32 builds were broken without this.

 pixman/src/pixman.h |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

commit 1786c05f6e4fb86ccf0360b6c5ed54ec0e2c1baa
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue Jun 19 13:15:21 2007 -0700

    [fix] Avoid int overflow when allocating large buffers
    
    This patch introduces three macros: _cairo_malloc_ab,
    _cairo_malloc_abc, _cairo_malloc_ab_plus_c and replaces various calls
    to malloc(a*b), malloc(a*b*c), and malloc(a*b+c) with them.  The macros
    return NULL if int overflow would occur during the allocation.  See
    CODING_STYLE for more information.
    (cherry picked from commit 5c7d2d14d78e4dfb1ef6d2c40f0910f177e07360)

 CODING_STYLE                    |   25 +++++++++
 pixman/src/fbcompose.c          |    4 +-
 pixman/src/icimage.c            |    8 ++--
 pixman/src/pixman.h             |    7 +++
 pixman/src/pixmanint.h          |   17 ++++++
 pixman/src/pixregion.c          |   59 ++++++++++++++++++----
 pixman/src/pixregionint.h       |    1 -
 src/cairo-atsui-font.c          |    2 +-
 src/cairo-bentley-ottmann.c     |    6 +-
 src/cairo-beos-surface.cpp      |    4 +-
 src/cairo-clip.c                |   10 +++-
 src/cairo-directfb-surface.c    |    2 +-
 src/cairo-ft-font.c             |    4 +-
 src/cairo-glitz-surface.c       |   34 +++++++++++--
 src/cairo-gstate.c              |    6 +-
 src/cairo-hull.c                |    2 +-
 src/cairo-malloc-private.h      |  104 +++++++++++++++++++++++++++++++++++++++
 src/cairo-meta-surface.c        |    4 +-
 src/cairo-os2-surface.c         |    9 ++--
 src/cairo-path.c                |    2 +-
 src/cairo-pattern.c             |    6 +-
 src/cairo-pdf-surface.c         |    6 +-
 src/cairo-pen.c                 |    4 +-
 src/cairo-png.c                 |    6 +-
 src/cairo-polygon.c             |    2 +-
 src/cairo-ps-surface.c          |    4 +-
 src/cairo-quartz-surface.c      |    8 ++--
 src/cairo-scaled-font-subsets.c |    4 +-
 src/cairo-scaled-font.c         |    2 +-
 src/cairo-spline.c              |    2 +-
 src/cairo-stroke-style.c        |    2 +-
 src/cairo-surface-fallback.c    |    4 +-
 src/cairo-surface.c             |    2 +-
 src/cairo-svg-surface.c         |    2 +-
 src/cairo-traps.c               |    2 +-
 src/cairo-unicode.c             |    4 +-
 src/cairo-win32-font.c          |    6 +-
 src/cairo-win32-surface.c       |    6 +-
 src/cairo-xcb-surface.c         |    8 ++--
 src/cairo-xlib-surface.c        |    6 +-
 src/cairoint.h                  |    1 +
 41 files changed, 308 insertions(+), 89 deletions(-)

commit cf0e1b8e8917224a5d546109685efacb9529e5b8
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 20 19:41:31 2007 -0800

    Update version to 1.4.11 after the 1.4.10 release

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 107a74885a25e585b467c7841c6929a12aa62565
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Jun 27 14:05:56 2007 -0700

    Increment cairo version to 1.4.10 (and libtool versioning to 13:5:11)

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit f595ad2348dbd97b57d22471fdec7664f8ca7bf6
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Jun 27 14:04:27 2007 -0700

    Add notes to NEWS for 1.4.10

 NEWS |   45 +++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 45 insertions(+), 0 deletions(-)

commit 2bf3e31da99f34328973a0866346af40748097f6
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Jun 27 11:11:36 2007 -0700

    Prefer local dpy variable instead of display->display
    
    This was a tiny piece of cleanup that had been erroneously included
    with some earlier functional changes, (so it went through a cycle
    of being applied and reverted). It's back now in its own commit.

 src/cairo-xlib-display.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit eebb0df512da50f883a417bb5e8e368dc81e35a9
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Jun 27 11:08:53 2007 -0700

    Revert "[cairo-xlib-display] Hide XErrors during processing of the work queue."
    
    This reverts commit 285b702ef6f73e7eb4ca0da235a287ad1e1f412f.
    
    The recent commit of 0791f342b93225849d9171aac8b738014b18bdf5 fixes
    the same bug that 285b702e was fixing, but without introducing any
    performance-killing calls to XSync. So we can drop those now.

 src/cairo-xlib-display.c |   17 +++--------------
 1 files changed, 3 insertions(+), 14 deletions(-)

commit b019cb8a7a910879c7af304edbd06fd105c9d89e
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Jun 27 11:07:07 2007 -0700

    Revert "[cairo-xlib-surface] Check for errors before installing a NOOP error handler."
    
    This reverts commit 7016614dd90798247524f0c118f462aa2e7ef673.
    
    We want to avoid any negative performance impacts due to extra calls
    to XSync. The fact that X errors can be missed with this appraoch is
    undesirable of course---a proper fix will likely involve moving to
    XCB which will hopefully allow us to do the error-checking the way
    we want without any performance penalty.

 src/cairo-xlib-surface.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit 6d021eb4b6e319dd2bb3e5e126de07c6844d5c07
Merge: 9109946... 0791f34...
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Jun 27 11:01:00 2007 -0700

    Merge branch 'ooo-fix' into cairo

commit 0791f342b93225849d9171aac8b738014b18bdf5
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Jun 27 10:53:29 2007 -0700

    Avoid deferring resource cleanup for application drawables
    
    This eliminates X errors propagated from cairo due to 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 fix has been verified to fix the bug causing OpenOffice.org to
    crash as described here:
    
    	XError on right click menus in OOo.
    	https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=243811
    
    And unlike other proposed fixes for this bug, this fix does not
    introduce any new calls to XSync, (and thereby avoids performance
    concerns from those).

 src/cairo-xlib-surface.c |   47 +++++++++++++++++++++++++--------------------
 1 files changed, 26 insertions(+), 21 deletions(-)

commit 9109946a1a7f9341e60da7358da6535c5fac52db
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Jun 21 15:40:23 2007 +0100

    [cairo-directfb] Correct minor typo.
    
    Correct the reference to _cairo_directfb_surface_is_similar.

 src/cairo-directfb-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1e76aa66b23aa7b3fd7b9f7de2b563b4db814517
Author: Nis Martensen <nis.martensen@web.de>
Date:   Tue Jun 19 17:04:48 2007 +0200

    Update INSTALL about status of backends

 INSTALL |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 02f753c23ad0db7d677ae41f8d69dc566c8aaa0b
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Jun 18 18:23:06 2007 -0700

    Fix cairo-perf-diff to compile cairo-perf explicitly

 perf/cairo-perf-diff |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2477e57de532fb3ebd1f6113cf51619b84b303d9
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Mon Jun 18 13:58:15 2007 -0700

    [perf] Add pixman_region_init_rects and use in extract_region
    
    Avoid O(N*N) loop in traps_extract_region by letting us hand pixman
    an array of rects all at once.

 perf/Makefile.am          |    3 +-
 perf/cairo-perf.c         |    1 +
 perf/cairo-perf.h         |    1 +
 perf/long-dashed-lines.c  |   67 +++++++++++++++++++++++++++++++++++++++++++++
 pixman/src/pixman-remap.h |    1 +
 pixman/src/pixman.h       |    2 +
 pixman/src/pixregion.c    |   29 +++++++++++++++++++
 src/cairo-traps.c         |   58 +++++++++++++++++++++++++++-----------
 8 files changed, 144 insertions(+), 18 deletions(-)

commit 285b702ef6f73e7eb4ca0da235a287ad1e1f412f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Jun 15 20:38:01 2007 +0100

    [cairo-xlib-display] Hide XErrors during processing of the work queue.
    
    It is possible for the resources that we defer freeing to be already
    destroyed and trigger an XError whilst processing the work queue. For
    example, the application renders to a Window and then destroys the
    Drawable before proceeding with more rendering. This will trigger an
    invalid Picture from RenderFreePicture whilst attempting to free the
    resources.
    
    By ignoring the possibility that the application could allocate a fresh
    resource with the same ID, we can simply hide the XErrors...
    
    Fixes: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=243811

 src/cairo-xlib-display.c |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

commit 7016614dd90798247524f0c118f462aa2e7ef673
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Jun 15 20:45:53 2007 +0100

    [cairo-xlib-surface] Check for errors before installing a NOOP error handler.
    
    Call XSync before ignoring errors from XGetImage to avoid hiding
    unassociated errors. Similarly, call XSync before reinstalling the old
    error handler to ensure no errors creep out of the ignored section.

 src/cairo-xlib-surface.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 0c5d28a4e5ce5e4dd72c0f416ce5e960e92b808b
Author: Ryan Lortie <desrt@desrt.ca>
Date:   Wed Jun 13 18:59:22 2007 -0400

    [xlib] Create source xrender Picture with IncludeInferiors
    
    When an xlib surface is used as the source of a draw operation this
    will cause the contents of child windows to be 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).

 src/cairo-xlib-surface.c |   15 ++++++++++++++-
 1 files changed, 14 insertions(+), 1 deletions(-)

commit 817d4b0c9a354526389290c6d5a7662713d67cd8
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sat Jun 9 19:14:05 2007 +0100

    [atsui] Document ATSUI
    
    Add cairo_atsui_font_face_create_for_atsu_font_id
    and ATSUI to the documentation. Don't enable it yet,
    since this is still unsupported.

 doc/public/tmpl/cairo-atsui.sgml |    2 +-
 src/cairo-atsui-font.c           |   13 +++++++++++++
 2 files changed, 14 insertions(+), 1 deletions(-)

commit fd1edaa5d386f15edacfd5596b550593ed45d627
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Wed Jun 13 01:27:36 2007 +0100

    [quartz] remove unused code
    
    clean up warnings about unused code: removing
    _cairo_quartz_cairo_path_to_quartz_path and the functions
    it calls.

 src/cairo-quartz-surface.c |   47 --------------------------------------------
 1 files changed, 0 insertions(+), 47 deletions(-)

commit d7a0816ec3d750939dd935f34b217980ee27af3f
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Wed Jun 13 01:27:36 2007 +0100

    [quartz] move glyph array declarations
    
    Move declarations causing a warning. A separate patch from
    the other warning cleanups because it moves where the allocation
    happens.

 src/cairo-quartz-surface.c |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

commit bf39b28b77a83160e5aa037031d82f8c0843f387
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Wed Jun 13 01:04:54 2007 +0100

    commit 75be87b4093aaa7f477d587d5a68308cade1b29c
    
        [quartz] move glyph array declarations
    
        Move declarations causing a warning. A separate patch from
        the other warning cleanups because it moves where the allocation
        happens.

 src/cairo-quartz-surface.c |   27 +++++++++++++++------------
 1 files changed, 15 insertions(+), 12 deletions(-)

commit 2034d1dbd5888c393c57f0feeb707b0411fa4480
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Wed Jun 13 01:27:36 2007 +0100

    [quartz] pass quartz_stroke_t not CGContextRef
    
    Fix a typo where an incompatible pointer was being passed.

 src/cairo-quartz-surface.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 54bbe44b08b37041c8982634837dbc79b19e6c18
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jun 11 17:51:37 2007 -0400

    [TODO] Add link to Adrian's finer-grain fallback thread

 TODO |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit ef3c64fd13d66648f4e00affb304e8b404249f92
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Mon Jun 11 09:27:11 2007 -0700

    [misc] Blow away last remaining $Id$ directives in sources

 pixman/src/fbtrap.c                  |    2 --
 src/cairo-analysis-surface-private.h |    3 +--
 test/rel-path.c                      |    2 --
 3 files changed, 1 insertions(+), 6 deletions(-)

commit 853f23e18c28548bce4647d4e54a5cfb317ac3dc
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jun 11 02:42:04 2007 -0400

    [test] Use check_PROGRAMS instead of custom made SUPPORT_PROGS
    
    It better handles $(EXEEXT) and is exactly made for this purpose.

 test/Makefile.am |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

commit 1d86c7fa888918c32eb13adb084de78883e17c84
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Jun 9 13:48:13 2007 -0400

    [perf] Link to librt if available
    
    This is needed on Solaris, but also works on Linux.

 configure.in     |    4 ++++
 perf/Makefile.am |    3 ++-
 2 files changed, 6 insertions(+), 1 deletions(-)

commit 85d045f2675cf191ea1d1af66ad4cd9e57d58e67
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jun 8 16:08:44 2007 -0700

    Update version to 1.4.9 after the 1.4.8 release.

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit fea4f344c46cf5f85c6af3102333008768c55063
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jun 8 15:49:12 2007 -0700

    Update version to 1.4.8 (and libtool info to 13:4:11)

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 0b19ff1d3f493067fa5484151e71dfcedcd14fd1
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jun 8 15:34:35 2007 -0700

    Add include of X11/Xlib.h to cairo-xlib-xrender.h
    
    This makes this header file self-sufficient. Thanks to
    Sam Sirlin <samuel.w.sirlin@jpl.nasa.gov> for pointing
    this out.

 src/cairo-xlib-xrender.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 8223c976d54319b58906de03fcb8fb1967105e53
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Fri Jun 8 01:56:10 2007 +0100

    [NEWS] add note about quartz fixes
    
    We've got 11 less failures in the quartz tests this time around,
    worth a mention.

 NEWS |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 00063a65f758265f3ad5c0caa374d9c7d5e89932
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Fri Jun 8 01:17:09 2007 +0100

    [quartz] fix DO_IMAGE
    
    The implementation of DO_IMAGE leaks memory via a referenced surface,
    and wasn't applied for strokes and glyphs. This patch corrects those
    issues.

 src/cairo-quartz-private.h |    5 ++-
 src/cairo-quartz-surface.c |   83 +++++++++++++++++++++++++++-----------------
 2 files changed, 55 insertions(+), 33 deletions(-)

commit 39e6a0090faa4e73a658c1ca0ead3040309b84a2
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Fri Jun 8 01:12:24 2007 +0100

    [quartz] fall back on extended gradients
    
    A temporary fix for mozilla bug 379321, use an image fallback for
    gradients that use EXTEND_REPEAT or EXTEND_REFLECT.

 src/cairo-quartz-surface.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

commit 7c1afdcd597331c14f256f406a3e95743f7fdad6
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Mon Mar 26 00:06:23 2007 +0100

    [quartz] fixes the offsets in the font-matrix test
    
    Apply the font matrix offset to text on the quartz surface, if necessary.

 src/cairo-quartz-surface.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit 55f1dbd0fbcbc587823ef8fa291a0af08441c775
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sun Apr 1 00:04:24 2007 +0100

    [quartz] ensure that line widths are scaled.
    
    cairo-gstate applies the ctm to the coordinates used in paths,
    but not to the line width. In quartz this ends up drawing unscaled
    lines. This is a minimal fix - it undoes the scaling applied to the
    points and then draws the path scaled correctly.

 src/cairo-quartz-surface.c |   72 ++++++++++++++++++++++++++++++++++---------
 1 files changed, 57 insertions(+), 15 deletions(-)

commit 5a9de1b5c9f6cc445f9f6230937c2254ee49e7cb
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Thu Jun 7 23:22:30 2007 +0100

    [atsui] remove unused code
    
    Remove CGAffineTransformMakeWithCairoFontScale.

 src/cairo-atsui-font.c |    8 --------
 1 files changed, 0 insertions(+), 8 deletions(-)

commit 807c5ab613e7df60be452d6683c4f9f045ef62a0
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Thu Jun 7 23:22:29 2007 +0100

    [atsui] clean up warnings
    
    Refactor code to get rid of compiler warnings.

 src/cairo-atsui-font.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

commit b210b09e2de2f048debad6e8881f0226b6b17060
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Thu Jun 7 23:22:27 2007 +0100

    [quartz] implement CAIRO_EXTEND_REFLECT
    
    Implement extend-reflect by tiling a larger 2x2 grid of reflected
    images.

 src/cairo-quartz-surface.c |   64 ++++++++++++++++++++-----------------------
 1 files changed, 30 insertions(+), 34 deletions(-)

commit fa5dd548b0dd2dfe523501bd40cafe7916240be1
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Tue May 29 23:11:49 2007 +0100

    [quartz] implement CAIRO_EXTEND_NONE
    
    Implement extend-none for surface patterns, by using a single
    DrawImage where possible. There is some code duplication in this
    patch, to make it easier to edit this patch series without conflicts.
    A patch to remove duplicate code will be required later..

 src/cairo-quartz-surface.c |   61 ++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 2 deletions(-)

commit 147288864c8c512f3ae17c8117d3c36dbbc6d5f8
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Thu Jun 7 23:22:05 2007 +0100

    [quartz] Refactor code to create a CGImageRef from a pattern
    
    In order to implement CAIRO_EXTEND_NONE we will need to create
    a CGImageRef without also creating a CGPattern. Separate the two
    pieces of code.

 src/cairo-quartz-surface.c |   40 +++++++++++++++++++++-------------------
 1 files changed, 21 insertions(+), 19 deletions(-)

commit a5ee983e1cb97aff63b0c9c3a57125b37d0e3f74
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Jun 7 15:03:43 2007 -0700

    Update release notes for 1.4.8

 NEWS |   75 ++++++++++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 48 insertions(+), 27 deletions(-)

commit e19c49269d0b236de91a5a9b5230bed7d76282ed
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Jun 7 12:19:46 2007 -0700

    Remove stale reference to cairo-xlib-test.h

 src/Makefile.am |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 5ded4479d6ddbbe16c631144ef987c4c02e706a6
Author: Carl Worth <cworth@cworth.org>
Date:   Thu May 31 15:35:14 2007 -0700

    Fix return value of cairo_surface_write_to_png for unsupported formats
    
    For some reason this was returning CAIRO_STATUS_NULL_POINTER.
    Now fixed to return CAIRO_STATUS_INVALID_FORMAT.

 src/cairo-png.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ec63a7839457e2d14c7b1a5b64d1a79daf044222
Author: Carl Worth <cworth@cworth.org>
Date:   Thu May 31 14:28:50 2007 -0700

    Add CAIRO_INTERNAL_FORMAT_RGB16_565 and prefer it over deprecated CAIRO_FORMAT_RGB16_565
    
    Also clarify the documentation for cairo_internal_format_t

 src/cairo-image-surface.c |    6 ++--
 src/cairoint.h            |   52 ++++++++++++++++++++++++++------------------
 2 files changed, 34 insertions(+), 24 deletions(-)

commit b6ee6c531c41adb57512fe0eaf21558e5d03f04b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jun 7 12:22:20 2007 -0400

    [NEWS] Add par about Chris 'ickle' Wilson's error-handling improvements work

 NEWS |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

commit 2399f923d504fba6b3dcbd0a185cd3d4b29b4dcf
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Jun 4 19:55:23 2007 +0100

    [cairo-bentley-ottmann] Malloc reduction.
    
    Attempt to allocate the edges during tessellate_polygon() from the stack,
    if the polygon size is sufficiently small and amalgamate the separate
    allocations for the list of events and their sorted index into a single
    block.

 src/cairo-bentley-ottmann.c |   28 +++++++++++++++-------------
 1 files changed, 15 insertions(+), 13 deletions(-)

commit ecf6f7f5147195276b3b479879cbd3db402df688
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Jun 4 16:35:15 2007 +0100

    [cairo-scaled-font] Skip the mask composition onto the surface on error.
    
    If we fail to composite the glyph onto the mask, skip compositing the
    mask onto the surface.

 src/cairo-scaled-font.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2e60029392bca904f7035a8f403de0593193b6b9
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Jun 5 09:08:51 2007 +0100

    [cairo-ft-font] Markup error paths with _cairo_error().
    
    Behdad Esfahbod noted that in ff5af0f540ec4 I had introduce new error
    paths without the appropriate _cairo_error(). So review cairo-ft-font
    to ensure that _cairo_error() is called at the start of every error path,
    as close to the originating error as possible.

 src/cairo-ft-font.c |   58 ++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 41 insertions(+), 17 deletions(-)

commit a5e12cd9f212b12a32230263188be38c175dc0a1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu May 31 19:21:30 2007 -0400

    [ROADMAP] Add link for a8mask patch

 ROADMAP |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit ff5af0f540ec407beb3d2a105b22f041cd770ce4
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed May 30 15:44:59 2007 +0100

    [cairo-ft-font] Propagate error rather than asserting.
    
    FT_Set_Char_Size can fail due to an out-of-memory condition, so
    propagate the error status instead of asserting that it never fails.

 src/cairo-ft-font.c |   41 ++++++++++++++++++++++++++++++-----------
 1 files changed, 30 insertions(+), 11 deletions(-)

commit de4dd4263cb5183b128a8fc80576ed7ddb239319
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri May 11 15:15:11 2007 +0100

    [cairo] Propagate surface->status on cairo_t creation.
    
    Set the cairo_t status to be the surface->status when the context is
    created, and special case the NO_MEMORY status in order to avoid a
    redundant allocation.

 src/cairo-gstate.c |    2 +-
 src/cairo.c        |   12 +++++-------
 2 files changed, 6 insertions(+), 8 deletions(-)

commit 9f4efa8a3ae6cbc194d89012286990582a6c8f5d
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri May 11 09:48:47 2007 +0100

    [cairo-ps-surface] Check status of glyph_lookup.
    
    Check for failure of _cairo_scaled_glyph_lookup() before preceeding to
    access the glyph and propagate the failure up the callstack as far as
    possible.

 src/cairo-ps-surface.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

commit 8010d46de4056e6c15b6891a06ef3d784c641b82
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun May 27 11:40:47 2007 +0100

    [cairo-gstate] Check scaled font status.
    
    After using the public API to access the scaled font, which only sets
    the status field in the font, check the scaled font status. This will
    then correctly propagate errors during glyph loading to the context.

 src/cairo-gstate.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit faf986bb25eab34eee16415f4dab6f7d5d3460d3
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 29 12:39:16 2007 +0100

    [cairo-gstate] Check status on existing fonts.
    
    Add an initial guard in _cairo_gstate_ensure_scaled_font() and
    _cairo_gstate_ensure_font_face() to check that there is no prior
    error status on the objects.

 src/cairo-gstate.c |   41 +++++++++++++++++++++++------------------
 1 files changed, 23 insertions(+), 18 deletions(-)

commit ac4b20082dd6b2e2b280d3615eebf5387da87e2f
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue May 29 20:50:02 2007 -0700

    [misc] make _cairo_image_surface_nil_invalid static const

 src/cairo-image-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0b34e958f18f0bcfb8bc9b054fb3bbb2343d2c32
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue May 29 17:14:41 2007 -0700

    [test] add XFAIL test surface-pattern-big-scale down
    
    Add test for image downscaling with large images severely limiting
    the destination coordinate space.  See the test for more information.

 test/Makefile.am                      |    2 +
 test/surface-pattern-big-scale-down.c |  121 +++++++++++++++++++++++++++++++++
 2 files changed, 123 insertions(+), 0 deletions(-)

commit 0898411d0abdfa6a02c2fb959b3a668e728fd87c
Author: Kouhei Sutou <kou@cozmixng.org>
Date:   Mon May 28 17:05:40 2007 -0400

    [doc] Minor documentation fixes

 src/cairo-matrix.c      |    2 +-
 src/cairo-pattern.c     |    2 +-
 src/cairo-scaled-font.c |    2 +-
 src/cairo.c             |   22 +++++++++++++++-------
 src/cairo.h             |    2 +-
 5 files changed, 19 insertions(+), 11 deletions(-)

commit 4da50dfa02d7c03c32ee20c15f8304eafa0844e0
Author: Luo jinghua <sunmoon1997@gmail.com>
Date:   Sun May 27 17:09:49 2007 +0800

    [cairo-xlib-surface]: flush work queue before sending glyphs to X server.
    
      After introducing a work queue for deferred destruction of X resource
    my firefox crashes over and over again because XRenderFreeGlyphs is trying
    to free a non-exist glyph (already freed). The problematic call sequence is
    something like below:
      XRenderAddGlyphs (20990204, 20069)
      XRenderAddGlyphs (20990204, 20069)
      XRenderFreeGlyphs (20990204, 20069)
      XRenderFreeGlyphs (20990204, 20069)
    You can see the two add/free glyphs is interlaced. And obviously, we'll crash
    at the last one. To fix this bug, we must be ensure here's no pending work
    to free the glyph that we want to sent.

 src/cairo-xlib-surface.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 69bf823db1b256f19487d2f002e7b0811859e58e
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Fri May 25 01:35:37 2007 +0100

    [atsui] use ATSGlyphGetScreenMetrics to measure glyphs.
    
    I don't know how I managed to get glyph measurement so badly wrong
    before, but tracing paths was not necessary, and 6x slower. The fix
    switches to using ATSGlyphGetScreenMetrics for all metrics, and remove
    the  old measuring code.

 src/cairo-atsui-font.c |   88 +++--------------------------------------------
 1 files changed, 6 insertions(+), 82 deletions(-)

commit 5b2b008048d2bcbb0b558a6c02aee1093311db39
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri May 11 10:14:57 2007 +0100

    [cairo-scaled-font-subsets] Shortcut empty subset.
    
    If the font_subset if empty, avoid allocating zero bytes and iterating
    over the empty hash table.

 src/cairo-scaled-font-subsets.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit c175cf7b833b03c38c8ddea183333ce84c6fdfec
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu May 17 17:04:14 2007 +0100

    [cairo-ft-font] Remove erroneous cached font faces.
    
    Only return a font face from the cache if it is not in an error condition.
    Otherwise unlink the bad font face from the cache and construct a new one.

 src/cairo-ft-font.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

commit f382c3e110f8078e83cbb9d73cfbb43b1506a11b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri May 11 15:31:33 2007 +0100

    [cairo-pattern] Fully initialise the error pattern.
    
    _cairo_pattern_fini depends on the pattern being correctly initialised,
    for example when calling _cairo_user_data_array_fini(), so we need to
    initialize the whole pattern and not just set the type to SOLID when
    creating a pattern for a surface in error.

 src/cairo-pattern.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit fcdfda83655faf0eecbb2b5af09a05340fe422e6
Author: Boris Zbarsky <bzbarsky@MIT.EDU>
Date:   Mon May 14 23:46:14 2007 -0500

    [quartz] implementing release_source_image (#11059)
    
    The image surface that _cairo_quartz_surface_acquire_source_image creates never
    seems to be released, probably because there is no release_source_image callback
    in the quartz code.
    
    The attached patch fixes that problem, at least insofar as the image surface
    itself is no longer leaking.  I'm not sure whether any other cleanup needs to
    happen here.
    
    -Boris

 src/cairo-quartz-surface.c |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

commit 2c8598aafb4a8779ce94940ce91033a8c5a62ea4
Author: Carl Worth <cworth@cworth.org>
Date:   Fri May 18 13:23:04 2007 -0700

    Fix typo in comment.

 src/cairo-pattern.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 3cb67435f805a8ea39f38194379f216ea4a69ed6
Author: Carl Worth <cworth@cworth.org>
Date:   Fri May 18 13:22:36 2007 -0700

    Document behavior of color stops added with identical offsets.

 src/cairo-pattern.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

commit 1cf4ed989473e2468ea2d64bb7759084c9f6a1e4
Author: Carl Worth <cworth@cworth.org>
Date:   Fri May 18 13:16:23 2007 -0700

    ROADMAP: Add bugs for 565 and 655 Visuals to the list

 ROADMAP |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

commit 7260ee23ecb08e72a938a194e70dfb5e7a48c599
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri May 18 11:55:37 2007 -0400

    [Type1] #include <ctype.h> (#10989)

 src/cairo-type1-subset.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 6a42ddf0f9e9e4b8dc5fa6a98ef4448f1c149789
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu May 17 12:45:22 2007 +0930

    TrueType Subsetting: Remove post table
    
    The post table is not used now that TrueType fonts are embedded
    in PDF as CID fonts.

 src/cairo-truetype-subset.c |   34 +---------------------------------
 1 files changed, 1 insertions(+), 33 deletions(-)

commit 67e752f75fdc561aca419f798a1650feb22e59a4
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu May 17 11:48:25 2007 +0930

    CFF Subsetting: Filter out Unique ID from subset
    
    The subsetted font is not the same as the original font so it should not
    have the same XUID and UniqueID.

 src/cairo-cff-subset.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

commit 99a6983017e1cd27f8a598487f8a72cfa6d411f1
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu May 17 10:17:09 2007 +0930

    Ensure surface backend finish() is never called more than once.
    
    Previously if the backend finish() function returned an error status,
    surface->finished was not set true. This would result in the backend
    finish() function being called twice which in the case of the PostScript
    backend caused a seg fault.

 src/cairo-surface.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

commit c5ae0f1232e8cef860bc1fc0b449ddf9d9063d22
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri May 11 16:11:02 2007 +0100

    [cairo-truetype-subset] Avoid a potential 0 byte allocation.
    
    During _cairo_truetype_subset_init skip copying the string_offsets if
    the vector is empty.

 src/cairo-truetype-subset.c |   21 +++++++++++++--------
 1 files changed, 13 insertions(+), 8 deletions(-)

commit e37bee3f52282a042251f2dfc8e051943fd8f1d7
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed May 16 14:47:33 2007 +0100

    [cairo-pdf-surface] emit_pattern_stops() array overrun.
    
    _cairo_pdf_surface_emit_pattern_stops() tried to set the last element
    to have an offset of exactly 1.0, but missed and set the next element
    after the end of the array.

 src/cairo-pdf-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 27de1869f5a837b79812cd4b04e17621ec0f848c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed May 16 13:10:58 2007 +0100

    [cairo-pdf-surface] Free allstops on error.
    
    Ensure the locally allocated resources are freed on the error paths.

 src/cairo-pdf-surface.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

commit 79e6c0207cb65b6bc1f38537f42632d623a1bc9a
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 12 18:27:58 2007 +0100

    [cairo-pattern] Check for the nil surface.
    
    cairo_surface_create_similar() does not return NULL as was being checked
    for, but the nil surface on error. Also ensure that the returned surface
    is destroyed if we encounter an error whilst compositing.

 src/cairo-pattern.c |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

commit 32c0ef9f145cec8b997c011b13208362eaf03004
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 12 16:20:00 2007 +0100

    [cairo-gstate] Remove a redundant conditional.
    
    Simplify _cairo_gstate_text_to_glyphs() with a tail call.

 src/cairo-gstate.c |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)

commit 37d8c18b3fc489d6336131bae6ec219cafc35718
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 12 15:42:59 2007 +0100

    [cairo-scaled-font-subsets] Destroy the glyph if we fail to cache it.
    
    If we fail to insert the glyph into the sub_font glyph cache then we
    must destroy it before propagating the error.

 src/cairo-scaled-font-subsets.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 76e758df5b99fd4dee64481b9039b0d44dd01587
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 12 15:40:39 2007 +0100

    [cairo-truetype-subset] Destroy the arrays on error.
    
    Growing the arrays may successfully allocate the indirect pointer, but
    fail whilst allocating the actual array - so always call
    _cairo_array_fini after _cairo_array_grow_by().

 src/cairo-truetype-subset.c |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)

commit b63b32958e690409448ddc14e19b1856b9ef555a
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 12 15:32:34 2007 +0100

    [cairo-scaled-font-subsets] Destroy the parent and subfont on error.
    
    If we fail to create the sub font destroy the local reference to the
    parent font and if we fail to insert the sub font into the hash table,
    destroy the newly create sub font.

 src/cairo-scaled-font-subsets.c |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

commit fcd1076bcffa20b7770a1b447a46232760972e2f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 12 14:36:11 2007 +0100

    [cairo-ft-font] Destroy the path on error.
    
    During _decompose_glyph_outline() destroy the fixed path if we
    encounter an error.

 src/cairo-ft-font.c |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 deletions(-)

commit abb19e61cf076c62c7626094c70de0530bd9fd00
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 12 14:32:52 2007 +0100

    [cairo-ft-font] Destroy the unscaled reference on error.
    
    Release the reference to the unscaled font if we encounter an error
    whilst initialising the cairo_ft_scaled_font_t.

 src/cairo-ft-font.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit e4055f02a1f5a3d7942c7c2bb4f460ce0a8b5481
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 12 14:29:28 2007 +0100

    [cairo-ft-font] Race between unscaled removal from hash table and creation
    
    Small window of opportunity for the unscaled font to be destroyed and
    removed from the hash table before
    _cairo_ft_unscaled_font_create_for_pattern() takes a reference on behalf
    of its cairo. Close the window by taking the reference with the font
    map lock held.

 src/cairo-ft-font.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit f239308ef1014174d554ccaeab1fe7c2d84e26dc
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 12 13:27:09 2007 +0100

    [cairo-deflate-stream] Free the stream on error.
    
    Before returning the nil output stream, free the locally allocated
    stream when encountering an error during _cairo_deflate_stream_Create().

 src/cairo-deflate-stream.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 35a2ed03352a1abc42e441ce5f52f2704de9be85
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 12 12:36:47 2007 +0100

    [cairo-ft-font] Destroy surface if glyph transformation fails.
    
    As we allocated the surface we need to destroy it if we encounter an
    error.

 src/cairo-ft-font.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 6a43c027238d2302f9e01ee7a780370d330def6c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 12 09:43:30 2007 +0100

    [cairo-xlib-screen] Increase number of GC depths.
    
    Add support for depths 12 and 30, and a separate unknown.

 src/cairo-xlib-private.h |    2 +-
 src/cairo-xlib-screen.c  |   14 ++++++++------
 2 files changed, 9 insertions(+), 7 deletions(-)

commit 70611846ded98ffa0f085f5a704979384b37e84c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 12 09:40:13 2007 +0100

    [cairo-xlib-surface] Always nullify GC after pushing to screen.
    
    The status return from _cairo_xlib_screen_put_gc() indicates the failure
    to queue a job to free an old GC - the current GC is always transferred
    away from the caller, so always nullify it in the surface.

 src/cairo-xlib-surface.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

commit 58c35e6d7b2e153dc9cd6ff89fa91497c507afaf
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 12 00:10:26 2007 +0100

    [cairo-paginated-surface] Check surface status during finish.
    
    Propagate children status during finish.

 src/cairo-paginated-surface.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

commit 9ffd8154e2ec2ccbeeefd3e4a34b2aa16844c1ce
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri May 11 23:43:53 2007 +0100

    [cairo-scaled-font-subsets] Correctly destroy the hash table.
    
    After an allocation failure in
    _cairo_scaled_font_subsets_create_internal() call
    _cairo_hash_table_destroy() instead of a mere free().

 src/cairo-scaled-font-subsets.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit bcfc5f0bdbd4c1eedc22bde5eed464a8bd18211e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri May 11 20:57:12 2007 +0100

    [pixman] Propagate allocation failure.
    
    pixman_op() failed to propagate the failure from
    pixman_region_appendNonO() and the generic op.

 pixman/src/pixregion.c |   24 +++++++++++++++++-------
 1 files changed, 17 insertions(+), 7 deletions(-)

commit 9e99f0611c834f80903e3554663f71682ef59ef3
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri May 11 20:38:24 2007 +0100

    [cairo-traps] Initialize traps to use embedded buffer.
    
    Set the traps to use the embedded buffer during initialization which will
    save one redundant _cairo_traps_grow()

 src/cairo-traps.c |   26 ++++++--------------------
 1 files changed, 6 insertions(+), 20 deletions(-)

commit 35eb65b7772459266e2f954fb370bfdca12b5b64
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri May 11 18:25:13 2007 +0100

    [cairo-path] Check for errors during the count.
    
    Return the nil object if we encounter any error whilst trying to
    generate the path.
    
    Also special case the NO_MEMORY error object to return the nil object.

 src/cairo-path.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

commit a60afb0e78ab42498158ef852fcea35c8f71e8ec
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri May 11 16:01:26 2007 +0100

    [cairo-scaled-font] Return status of _cairo_scaled_font_glyph_path()
    
    The status return of _cairo_path_fixed_interpret() was being ignored,
    propagate it.

 src/cairo-scaled-font.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit d46f6872a5fe601862e2f63455c97a15c4667cf2
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun May 13 21:52:52 2007 -0400

    [docs] Update to latest source changes and kill warnings

 doc/public/Headers.mk     |    1 +
 doc/public/Makefile.am    |    2 --
 doc/public/cairo-docs.xml |    6 +++---
 3 files changed, 4 insertions(+), 5 deletions(-)

commit 40558cb15e5f7276a29847b00c9dae08b9d9380e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 12 10:10:49 2007 +0100

    [cairo-xlib-screen] Clear the gc_needs_clip_reset after use.
    
    After consuming the GC we need to unset the clip reset flag, so that
    if we try and get a new GC without first putting a fresh one we do not
    try to call XSetClipMask on a NULL GC.
    
    (Fixes http://bugs.freedesktop.org/show_bug.cgi?id=10921)

 src/cairo-xlib-screen.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit abba3f2375c58401b7722837b3be37c3de9beca4
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu May 10 23:05:46 2007 +0100

    [valgrind-suppressions] Update to cover XrmGetStringDatabase
    
    By dropping the top frame from suppression, the XrmGetFileDatabase
    suppressions will also match XrmGetStringDatabase leaks which are
    starting to occur.

 test/.valgrind-suppressions |   42 ++++++++++++++----------------------------
 1 files changed, 14 insertions(+), 28 deletions(-)

commit c4abc3a0e3ebb27bc0aa178651e496c514eb1fae
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu May 10 21:28:48 2007 +0100

    [cairo-truetype-subset] Set CAIRO_STATUS_NO_MEMORY on malloc failure.
    
    _cairo_truetype_font_create() failed to update the status before
    returning after detecting an allocation failure, leaving its callers
    none the wishing - and eventually triggering a segmentation fault when
    the font was used in anger.

 src/cairo-truetype-subset.c |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

commit ebababc0cf83f828d48200b8e316f57912fb0128
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu May 10 19:24:54 2007 +0100

    [cairo-pattern] Return the nil cairo_pattern_t for CAIRO_STATUS_NO_MEMORY.
    
    If we asked to create a pattern after encountering an allocation failure,
    we can avoid another allocation by returning the nil pattern object.

 src/cairo-pattern.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit e8e5f93ffec8321c029c0b95abcb3cd8cadcff31
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu May 10 20:50:58 2007 +0100

    [cairo-meta-surface] Add a surface->status guard to meta_surface_replay()
    
    Before attempting to access the cairo_meta_surface_t specific members,
    we need to ensure that _cairo_meta_surface_replay() has received a true
    meta surface rather than an error surface (e.g. _cairo_surface_nil).

 src/cairo-meta-surface.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 195112697fac77e70ef36e00a2d557eda1e0e145
Author: elaine <elaine.xiong@sun.com>
Date:   Thu May 10 13:58:44 2007 -0400

    [xlib] The buggy_repeat path should be removed for Xsun now
    
    Sun never released a version of Solaris with Xorg with the buggy repeat
    problem.  This patch was only needed for development versions of Solaris
    Nevada (roughly builds 25-30).  The latest S10U release and Nevada releases
    have a fixed Xorg.  So no users should ever encounter this bug.
    
    We need to remove this test because Xsun has the same VendorString and a lower
    VendorRelease number so it falsely triggers buggy_repeat to be turned on.
    They just added Xrender support recently to Xsun, so this wasn't an issue
    before recently.

 src/cairo-xlib-surface.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit ab6a767cf476c98b466c62dd410d0f61f8dd6bbb
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu May 10 17:17:30 2007 +0100

    [cairo-scaled-font] Check for allocation failure.
    
    cairo_scaled_font_create() returns a nil object on failure whereas a few
    callers were checking for NULL.
    
    Secondly review the public entry points for cairo_scaled_font_*() to
    ensure that all check that they will not attempt to overwrite the
    read-only nil object.

 src/cairo-gstate.c              |    7 +++----
 src/cairo-scaled-font-subsets.c |    2 ++
 src/cairo-scaled-font.c         |   10 ++++++++--
 src/cairo-type1-fallback.c      |    2 +-
 4 files changed, 14 insertions(+), 7 deletions(-)

commit aec92188f1cf4ca34e890b0a4266425532f669d4
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu May 10 09:29:24 2007 +0100

    [cairo-clip] Correctly report allocation failure
    
    Distinguish between the unrepresentable clip and the failure to allocate
    the clip extents.

 src/cairo-clip.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

commit 1a719d1189243a76120b98371f84e074c8cd611e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu May 10 09:28:20 2007 +0100

    [cairo] Use _cairo_clip_nil for CAIRO_STATUS_NO_MEMORY
    
    When creating a error clip list for CAIRO_STATUS_NO_MEMORY, simply
    reuse the nil object rather than allocate a fresh list.

 src/cairo.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 3fbc4bb5ae27809f417ec2627fa515375e63a0e7
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed May 9 21:41:17 2007 +0100

    [cairo-clip] Add missing error status for _cairo__clip_intersect_region()
    
    An out-of-memory error path missed setting CAIRO_STATUS_NO_MEMORY.

 src/cairo-clip.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit b5d25068796d572b4b0c6e33eecc5f0736fb8f78
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed May 9 16:27:42 2007 +0100

    [cairo] cairo_pop_group() returns a NULL pattern
    
    cairo_pop_group() checks for a NULL return from
    cairo_pattern_create_for_surface() instead of the nil cairo_pattern_t,
    and then returns a NULL pattern instead of the nil object.

 src/cairo.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 6f09e93ad7ac4c941ba6c72b21ea4536d248f8d5
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed May 9 13:39:08 2007 +0100

    [ciro-surface-fallback] Propagate status for _clip_and_composite_trapezoids
    
    The result of _clip_and_composite_trapezoids() was ignored by 2/3 of
    its callers - simply propagate the status.

 src/cairo-surface-fallback.c |   28 ++++++++++++++--------------
 1 files changed, 14 insertions(+), 14 deletions(-)

commit ae5d4a1c17a46c0a6ea2e4c825ecce7a5cbbe28b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed May 9 13:19:54 2007 +0100

    [cairo] Return after detecting the invalid font-options.
    
    Do not continue to copy the contents of the nil cairo_font_options_t,
    but set the error on the context and return.

 src/cairo.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit dfd4d41ac99dbe5d8ea16aa4ce4809b66308c803
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed May 9 12:30:40 2007 +0100

    [cairo-xlib-surface] Free the allocation if we fail to queue the work.
    
    Avoid the leak of the allocated argument if we fail to queue the work to
    free the glyph.

 src/cairo-xlib-surface.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 8ddfc1b2e4aeefb704e05e64661b5c9985788e99
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 8 16:13:08 2007 +0100

    [cairo-pattern] Return status from _cairo_pattern_init_copy()
    
    During the copy, allocation of the gradient may fail and so the callers
    need to check for a pattern that returned in an error state. No callers
    did so and in order to force all callers to check the error status,
    the status return was added to _cairo_pattern_init_copy().  The early
    error checking may appear redundant for an object with an embedded
    structure, however it does fix an error where an uninitialised pattern
    was being used:
    
    ==1922== Process terminating with default action of signal 11 (SIGSEGV)
    ==1922==  Access not within mapped region at address 0x55555555
    ==1922==    at 0x402CF6F: _cairo_array_index (cairo-array.c:208)
    ==1922==    by 0x402D4F3: _cairo_user_data_array_fini (cairo-array.c:370)
    ==1922==    by 0x4046464: _cairo_pattern_fini (cairo-pattern.c:188)
    ==1922==    by 0x404992A: _cairo_meta_surface_paint (cairo-meta-surface.c:266)
    ==1922==    by 0x403FCE0: _cairo_surface_paint (cairo-surface.c:1331)
    ==1922==    by 0x405CB5E: _test_meta_surface_paint (test-meta-surface.c:195)
    ==1922==    by 0x403FCE0: _cairo_surface_paint (cairo-surface.c:1331)
    ==1922==    by 0x4032A60: _cairo_gstate_paint (cairo-gstate.c:822)
    ==1922==    by 0x402B2D1: cairo_paint (cairo.c:1879)
    ==1922==    by 0x804A4F7: draw (radial-gradient.c:73)
    ==1922==    by 0x804AFA4: cairo_test_expecting (cairo-test.c:326)
    ==1922==    by 0x804A57C: main (radial-gradient.c:109)
    ==1922== Injected fault at:
    ==1922==    at 0x4020EA5: malloc (vg_replace_malloc.c:207)
    ==1922==    by 0x404475C: _cairo_pattern_init_copy (cairo-pattern.c:136)
    ==1922==    by 0x403F779: _cairo_surface_copy_pattern_for_destination (cairo-surface.c:2153)
    ==1922==    by 0x403FCC1: _cairo_surface_paint (cairo-surface.c:1328)
    ==1922==    by 0x405CB5E: _test_meta_surface_paint (test-meta-surface.c:195)
    ==1922==    by 0x403FCE0: _cairo_surface_paint (cairo-surface.c:1331)
    ==1922==    by 0x4032A60: _cairo_gstate_paint (cairo-gstate.c:822)
    ==1922==    by 0x402B2D1: cairo_paint (cairo.c:1879)
    ==1922==    by 0x804A4F7: draw (radial-gradient.c:73)
    ==1922==    by 0x804AFA4: cairo_test_expecting (cairo-test.c:326)
    ==1922==    by 0x804A57C: main (radial-gradient.c:109)

 src/cairo-glitz-surface.c  |   12 +++++++--
 src/cairo-gstate.c         |   55 ++++++++++++++++++++++++++++++-------------
 src/cairo-meta-surface.c   |    6 ++++-
 src/cairo-pattern.c        |   30 +++++++++++++++++------
 src/cairo-quartz-surface.c |    6 ++++-
 src/cairo-surface.c        |   47 ++++++++++++++++++++++++++-----------
 src/cairoint.h             |    2 +-
 7 files changed, 113 insertions(+), 45 deletions(-)

commit dbdaf0690e1121d0f810dfb035e7a9f0dae17248
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed May 9 09:22:31 2007 +0100

    [cairo-scaled-font] Check _cairo_scaled_glyph_loop() status
    
    In _cairo_scaled_font_glyph_path() we forgot to check the status return
    of _cairo_scaled_glyph_loop() - propagate any failures.

 src/cairo-scaled-font.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit b744c2705184c24845423d661258b39bbb17749b
Author: James Cloos <cloos@jhcloos.com>
Date:   Wed May 9 02:50:59 2007 -0400

    [cairo-directfb-surface] Fix typo from commit a8c8e17d
    Fix typo in name of _cairo_directfb_surface_is_similar().

 src/cairo-directfb-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit cbc9218cd3f664682bcb5095c602adf9615535d0
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed May 9 09:03:04 2007 +0100

    [cairo-xcb-surface] Fix compilation
    
    As spotted by James Cloos <cloos@jbcloos.com>, I broke the compilation...
    This is a minimal fix with no claims of completeness.

 src/cairo-xcb-surface.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 069514a10ff2ca9ac86cc3dc1703aa19caa538e2
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 8 18:19:56 2007 +0100

    [test/in-fill-empty-trapezoid] Cleanup after test failure.
    
    Ensure that the failure path also calls cairo_test_fini().

 test/in-fill-empty-trapezoid.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

commit 43645eb486da1af91b3264af6c84ac18a1eddcaa
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 8 20:25:21 2007 +0100

    [test/fallback-resolution] Cleanup after test failure
    
    Be valgrind clean even for test failures.

 test/fallback-resolution.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 21c6643b09c771454f913b444b6b040aaaacd3a8
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 8 21:28:48 2007 +0100

    [cairo-surface] Check for errors when generating the scaled font.
    
    cairo_surface_show_glyphs() attempts to generate a device specific
    scaled font and so needs to check for failure before attempting to use
    it.

 src/cairo-surface.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit ede76a97ea5b68c3bd042dc6a93ecb1aa7c9761c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 8 17:26:22 2007 +0100

    [cairo-font-options] Check for the nil-object.
    
    The design is for the user to create a cairo_font_options_t object with
    cairo_font_options_create() and then is free to use it with any Cairo
    operation. This requires us to check when we may be about to overwrite
    the read-only nil object.

 src/cairo-font-face.c    |    5 +++++
 src/cairo-font-options.c |    7 ++++++-
 src/cairo-gstate.c       |    4 +---
 src/cairo-scaled-font.c  |   10 ++++++++++
 src/cairo-surface.c      |    3 +++
 src/cairo.c              |   12 ++++++++----
 src/cairoint.h           |    3 ++-
 7 files changed, 35 insertions(+), 9 deletions(-)

commit c441938569ed78123a57662a70ef5a74dcf73851
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 8 21:40:26 2007 +0100

    [cairo-pattern] Cleanly handle an invalid pattern in cairo_pattern_transform()
    
    Simply return without writing to potentially read-only members of an
    invalid pattern rather than assert. This is cleaner than tracking down
    all the error paths that may call into cairo_pattern_transform()...

 src/cairo-pattern.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 409f9734297be250de5e462e2d52e653bd893125
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue May 8 14:18:42 2007 -0400

    [test] If a test target fails, end the test
    otherwise cairo is left in a dirty state and further tests are
    unreliable.

 test/cairo-test.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit aad66d05fd0f310564e80c9ff59526028871751c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 8 16:40:24 2007 +0100

    [test/nil-surface] Destroy the auxiliary context on failure paths.
    
    Just to be tidy, and aim to be valgrind-clean.

 test/nil-surface.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit e3acacc096d7db947e7c8f2167a6d97f04c403b1
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 8 16:35:14 2007 +0100

    [cairo-boilerplate-ps] Destroy the target on creation failure
    
    Remember to destroy the ptc->target as well as the ordinary surface, if
    we need to.

 boilerplate/cairo-boilerplate-ps.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit efd212bfa25cb44b9499b89f93aa7167a9544ccb
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 8 16:23:07 2007 +0100

    [cairo-boilerplate] Protect against the nil cairo_scaled_font_t
    
    Beware the NULL pointer deference when trying to adjust the max glyph
    cache size...

 boilerplate/cairo-boilerplate.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit b85920684f8feaba8d2d5b0262c60b4960c223b8
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 8 14:01:00 2007 +0100

    [cairo-test] Destroy the check image on failure
    
    If drawing the checker pattern should fail, we need to free the
    resources allocated locally.

 test/cairo-test.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 0bf3ffacda5dbfc4fd8a5a0d5fd37d9630f5bcdb
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 8 13:55:04 2007 +0100

    [test-fallback-surface] Destroy the backing image on malloc failure.
    
    Ensure we free all local resource should we encounter an allocation
    failure during _cairo_test_fallback_surface_create().

 src/test-fallback-surface.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit eac18d44c7559fe393abf6706b52e5a8edbfd5e9
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 8 12:46:42 2007 +0100

    [cairo-paginated-surface] Propagate malloc failure
    
    Check for an allocation failure during _cairo_analysis_surface_create()
    and propagate to caller - where we discover that the callers themselves
    missed the status checks...

 src/cairo-paginated-surface.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

commit 0d8a1540ec53ecc309a10e77ea7788fcd16d8345
Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
Date:   Tue May 8 09:11:57 2007 +0200

    SVG: Don't clip SVG element, as clipping region is implicit.
    
    That makes editing of produced SVG easier.

 src/cairo-svg-surface-private.h |    1 +
 src/cairo-svg-surface.c         |   53 +++++++++++++++++++--------------------
 2 files changed, 27 insertions(+), 27 deletions(-)

commit 936c965777c867bd4de7fd2278335837cc24eb22
Author: Jinghua Luo <sunmoon1997@gmail.com>
Date:   Tue May 8 13:24:40 2007 +0800

    glitz: kill some compiler warnings.

 src/cairo-glitz-surface.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

commit 413705872e321288bff1368c62eacad11805c2fc
Author: Jinghua Luo <sunmoon1997@gmail.com>
Date:   Tue May 8 13:19:35 2007 +0800

    glitz: fix a typo preventing build glitz backend from succeeding.

 src/cairo-glitz-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d81907734e18fb9302e78eccb1e25a838223b726
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat May 5 12:33:29 2007 +0100

    [cairo-color] Only compare the shorts for equality.
    
    By only checking the premultiplied shorts inside the cairo_color_t we
    only have to compare at most 8 bytes instead of the full 24 bytes.

 src/cairo-color.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 966a39396eb75d9d4ecc9997bb21d62fba176f78
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri May 4 15:25:18 2007 +0100

    [NEWS] Surface cache for solid patterns
    
    Add an entry describing the surface cache to NEWS.

 NEWS |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

commit 056d149212ce4999f8984db62b880ff2eb998ab3
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed May 2 12:54:49 2007 +0100

    [cairo-pattern] Don't cache fallback surfaces
    
    _cairo_surface_create_similar_solid() may return an image surface,
    should the backend not support the required content or should it
    encounter an error whilst creating the surface. In those circumstances
    we choose not to cache the fallback surface.

 src/cairo-pattern.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

commit a8c8e17d845c7060286dac58b553fb717b270788
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed May 2 10:00:22 2007 +0100

    [cairo-pattern] Cache surface for solid patterns
    
    Original work by Jorn Baayen <jorn@openedhand.com>,
    2715f2098127d04d2f9e304580a26cd0842c0e64
    
    We use a small cache of size 16 for surfaces created for solid patterns.
    This mainly helps with the X backends where we don't have to create a
    pattern for every operation, so we save a lot on X traffic.  Xft uses a
    similar cache, so cairo's text rendering traffic with the xlib backend
    now completely matches that of Xft.
    
    The cache uses an static index variable, which itself acts like a cache of
    size 1, remembering the most recently used solid pattern.  So repeated
    lookups for the same pattern hit immediately.  If that fails, the cache is
    searched linearly, and if that fails too, a new surface is created and a
    random member of the cache is evicted.
    
    A cached surface can only be reused if it is similar to the destination.
    In order to check for similar surfaces a new test is introduced for the
    backends to determine that the cached surface is as would be returned by
    a _create_similar() call for the destination and content.
    
    As surfaces are in general complex encapsulation of graphics state we
    only return unshared cached surfaces and reset them (to clear any error
    conditions and graphics state). In practice this makes little difference
    to the efficacy of the cache during various benchmarks. However, in order
    to transparently share solid surfaces it would be possible to implement a
    COW scheme.
    
    Cache hit rates:    (hit same index + hit in cache) / lookups
    cairo-perf:         (42346 + 28480) / 159600 = 44.38%
    gtk-theme-torturer: (3023  + 3502)  / 6528   = 99.95%
    gtk-perf:           (8270  + 3190)  / 21504  = 53.29%
    
    This translates into a reduction of about 25% of the XRENDER traffic during
    cairo-perf.

 src/cairo-directfb-surface.c   |   15 ++++-
 src/cairo-glitz-surface.c      |   40 ++++++++++++-
 src/cairo-image-surface.c      |   29 ++++++++-
 src/cairo-mutex-list-private.h |    3 +-
 src/cairo-pattern.c            |  135 +++++++++++++++++++++++++++++++++++-----
 src/cairo-pdf-surface.c        |    3 +
 src/cairo-surface.c            |   57 +++++++++++++++++
 src/cairo-win32-surface.c      |   29 ++++++++-
 src/cairo-xcb-surface.c        |   39 +++++++++++-
 src/cairo-xlib-surface.c       |   45 +++++++++++++-
 src/cairoint.h                 |   16 +++++
 11 files changed, 388 insertions(+), 23 deletions(-)

commit 52472b740e821dee444ede1fff041a99d344daab
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 1 18:34:47 2007 +0100

    [cairo-xlib-surface] Defer application of clip mask until required.
    
    By deferring the issuing of the X requests to set the clip mask we can
    theoretically avoid some redundant requests, but primarily we remove
    another path where X requests are emitted.

 src/cairo-xlib-surface-private.h |    7 ++++
 src/cairo-xlib-surface.c         |   72 ++++++++++++++++++--------------------
 2 files changed, 41 insertions(+), 38 deletions(-)

commit a81823cdf9a147d02bb2365558ba667ab52fb3c9
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Apr 20 17:32:25 2007 +0100

    [cairo-xlib-display] Allocate the close_display hooks from a freelist.
    
    Similar to job allocation, but only useful for toolkits like GTK+ which
    recreate a new xlib surface for each expose.

 src/cairo-xlib-display.c |  105 ++++++++++++++++++++++++---------------------
 src/cairo-xlib-private.h |    1 +
 2 files changed, 57 insertions(+), 49 deletions(-)

commit c29ffc64ca341623d21a7861f1b5f131b420d20f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Apr 20 16:33:56 2007 +0100

    [cairo-xlib-display] Cache the screen_info for the lifetime of the display.
    
    Hold an extra reference to the screen_info and explicitly destroy the
    list of screens on CloseDisplay.

 src/cairo-xlib-display.c |   19 +++++++++++++++++++
 src/cairo-xlib-screen.c  |    3 +--
 2 files changed, 20 insertions(+), 2 deletions(-)

commit 1d6f7b7a0282d1b24bec82d9ad113b0d0a0cde98
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 19 13:01:52 2007 +0100

    [cairo-xlib] Cache freed GCs
    
    Maintain a cache of freed GCs, one for each used depth.

 src/cairo-xlib-display.c |    6 +++-
 src/cairo-xlib-private.h |   10 ++++++
 src/cairo-xlib-screen.c  |   70 ++++++++++++++++++++++++++++++++++++++++++++++
 src/cairo-xlib-surface.c |   22 ++++++++------
 4 files changed, 98 insertions(+), 10 deletions(-)

commit 88c6d25d4e53ddad6f3d465b2f5249c76a421b82
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Apr 17 12:03:07 2007 +0100

    [cairo-xlib-surface] Defer xlib resource cleanup.
    
    Due to caching, destruction of X11 resources may occur outside of a
    usable X11 context. To avoid this, we defer the destruction onto a work
    queue which will be run the next time we try to use the X11 connection
    on behalf of the user (at which point we must have a usable X11 context!)
    or we are closing the Display.

 src/cairo-xlib-surface.c |  180 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 156 insertions(+), 24 deletions(-)

commit 8ad30ccdb0a00701b15003edb2fe0cd4a8a9dfb7
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 19 12:15:04 2007 +0100

    [cairo-xlib] Introduce a workqueue for deferred destruction of X resources.
    
    Due to the nature of the reference counting, an X resource may be
    destroyed later than anticipated and possibly from a different thread
    than the original context. This becomes an issue for applications that
    carefully manage their single X connection from a single thread and do
    not use locking and are then suprised when cairo triggers X traffic when
    performing work for a different part of the application in another thread.

 src/cairo-xlib-display.c |  171 +++++++++++++++++++++++++++++++++++++++++++++-
 src/cairo-xlib-private.h |   18 +++++
 src/cairo-xlib-screen.c  |    1 -
 src/cairo-xlib-surface.c |   21 +++++-
 4 files changed, 205 insertions(+), 6 deletions(-)

commit dd8681b76b088bab45c99510258920f027490f70
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Apr 16 15:04:08 2007 +0100

    [cairo-xlib] Split per-display attributes from per-screen.
    
    Previously, we stored the per-display attributes inside a special
    screen=NULL _cairo_xlib_screen_info_t. Now we keep track of known X
    displays and store the screen information beneath the display structure
    alongside the per-display hooks.

 src/Makefile.am                |    8 +-
 src/cairo-debug.c              |    4 -
 src/cairo-mutex-list-private.h |    2 +-
 src/cairo-xlib-display.c       |  258 +++++++++++++++++++++++++++++++++
 src/cairo-xlib-private.h       |   37 ++++-
 src/cairo-xlib-screen.c        |  309 ++++++++-------------------------------
 src/cairo-xlib-surface.c       |    2 +-
 src/cairoint.h                 |    6 -
 8 files changed, 359 insertions(+), 267 deletions(-)

commit 9919f1ed9ccbec637252e06dd1de5f4665c873b4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu May 3 19:54:31 2007 -0400

    [TODO] Add link to cairo_copy_clip() proposal

 TODO |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit e5d9d51e55eb45704de6d98ac9265743af56711f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu May 3 19:04:21 2007 -0400

    [cairo-mutex] Fix typo.

 src/cairo-mutex.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 5ec27eef9566faa22fb1cbaf1a103a57ba5296c8
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu May 3 13:46:25 2007 +0100

    [pixman] Free the old rects if we fail to allocate new.
    
    During the pixman_op, a complicated dance is performed to handle
    enlarging the rectangle array to accommodate the op. One consequence
    of this is to, under certain circumstances, replace the current
    rectangle array with emptyData and track the old array with oldData.
    Hence if we fail to realloc the enlarged array we need to free oldData.

 pixman/src/pixregion.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

commit ef3070821713c33fab78abb191e27a62e165f6c6
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed May 2 16:22:13 2007 -0400

    [boilerplate] Fix typo

 boilerplate/xmalloc.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c412e42c72c0ff53c678119638357ed95897ed78
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed May 2 21:17:39 2007 +0100

    [cairo-xlib-surface] Check that the acquire surfaces are xlib surfaces
    
    _cairo_pattern_acquire_surfaces() may substitute an image surface for
    either the source or the mask should the backend not support creation
    of similar scratch surfaces or an error occurs during creation. For
    composition we require xlib surfaces and so we must trigger the
    fallback path if this happens.

 src/cairo-xlib-surface.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

commit f3153091b742daffa853f2c31b76aa9689c5165a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue May 1 20:10:39 2007 -0400

    [cairo-mutex] Document the API for adding cairo_mutex_t implementations

 src/cairo-mutex-type-private.h |   83 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 83 insertions(+), 0 deletions(-)

commit 5bfd6553fd028f1429d72c60d04788de4a3c0d58
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue May 1 19:48:33 2007 -0400

    [cairo-mutex] Define a NOOP CAIRO_MUTEX_FINALIZE() for pthread
    as now the mutex layer will define a generic CAIRO_MUTEX_FINALIZE()
    whenever the implementation defines CAIRO_MUTEX_FINI().  In the
    case of pthread however we don't need finalization as we don't
    have any place to call it, and pthread_mutex_destroy() doesn't
    do much anyway.

 src/cairo-mutex-type-private.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit c4e0a059feb9c2e0c32966dcb168861e75a244b7
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue May 1 19:46:51 2007 -0400

    [cairo-mutex] Remove NOOP definition of CAIRO_MUTEX_INITIALIZE
    as now the mutex layer will use a NOOP CAIRO_MUTEX_INITIALIZE
    by default if the implementation does not define CAIRO_MUTEX_INIT.

 src/cairo-mutex-type-private.h |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 06cc74d974a99526829df558606174b41b0ee6e1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue May 1 19:45:29 2007 -0400

    [cairo-mutex] Rewrite defaults for CAIRO_MUTEX macros not defined by the implementation
    to make them better match the design I have in mind, that I will
    document in a minute.  They are a lot more readable and understandable
    now.

 src/cairo-mutex-private.h |   93 ++++++++++++++++++++++++++++++++------------
 src/cairo-mutex.c         |   18 +++++++-
 2 files changed, 82 insertions(+), 29 deletions(-)

commit e87a25dc7c73a44b0cdfc4ef368736e7f77fb522
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue May 1 19:24:26 2007 -0400

    [cairo-mutex] Fix usage of CAIRO_MUTEX_DECLARE()
    
    Previously cairo-mutex.c was abusing cairo-mutex-private.h by
    defining CAIRO_MUTEX_DECLARE before including it, and
    cairo-mutex-private.h was simply not overriding any available
    CAIRO_MUTEX_DECLARE.  This is not the way it should be.
    cairo-mutex.c should instead define CAIRO_MUTEX_DECLARE and
    include cairo-mutex-list-private.h for itself.

 src/cairo-mutex-private.h |    4 +---
 src/cairo-mutex.c         |    9 +++++----
 2 files changed, 6 insertions(+), 7 deletions(-)

commit 1a33e44aa5d73f568c4164c41f9595964e9f1bbb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue May 1 18:13:19 2007 -0400

    [RELEASING] Update GNOME URL to point to 2.19 planning page

 RELEASING |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4764e6222bf4d5223fc2fbb139bb31a24819b2b5
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue May 1 00:50:03 2007 -0400

    [cairo-mutex] Improve error message if no thread implementation found
    
    to put back Carl's "acknowledge and accept" clause (!) before suggesting
    use of CAIRO_NO_MUTEX.

 src/cairo-mutex-type-private.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit b5f015f21f3c800919a85f03a081a3ec1648a794
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue May 1 00:48:33 2007 -0400

    [cairo-mutex] Make sure mutex implementation declares enough macros
    
    We have defaults for the rest.

 src/cairo-mutex-private.h |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

commit b0a0a1779dc5cc16423473b6d80ee5099793a47f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue May 1 00:47:02 2007 -0400

    [cairo-mutex] Make CAIRO_MUTEX_INIT/FINI take mutex object, not pointer to it
    
    This is more consistent with CAIRO_MUTEX_LOCK/UNLOCK.

 src/cairo-ft-font.c            |    4 ++--
 src/cairo-mutex-private.h      |    2 +-
 src/cairo-mutex-type-private.h |   19 +++++++------------
 src/cairo-mutex.c              |    4 ++--
 src/cairo-scaled-font.c        |    4 ++--
 5 files changed, 14 insertions(+), 19 deletions(-)

commit f9154f7eda4272ff99cc8a894082cc5aa1b008ef
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue May 1 00:44:42 2007 -0400

    [cairo-mutex] Make sure CAIRO_MUTEX_FINI() evaluates its argument once

 src/cairo-mutex-private.h      |    2 +-
 src/cairo-mutex-type-private.h |    3 ++-
 2 files changed, 3 insertions(+), 2 deletions(-)

commit a8d47d0c001a36ddd6c9f09247e6eada408edb24
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue May 1 00:43:15 2007 -0400

    [cairo-mutex] Rename macro arguments from "name" to "mutex"

 src/cairo-mutex-private.h      |    6 +++---
 src/cairo-mutex-type-private.h |   20 ++++++++++----------
 src/cairo-mutex.c              |    4 ++--
 3 files changed, 15 insertions(+), 15 deletions(-)

commit f57a536fceec73435bb13c44275717792b9b3a8c
Author: Carl Worth <cworth@cworth.org>
Date:   Tue May 1 13:45:58 2007 -0700

    Increment version to 1.4.7 after the 1.4.6 release

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ddca8fec07ff95caeda6e4ce9efc3239b146bd2d
Author: Carl Worth <cworth@cworth.org>
Date:   Tue May 1 13:37:16 2007 -0700

    perf: Add $(EXTRA_PROGRAMS) to CLEANFILES
    
    Otherwise these programs stick around and break distclean,
    distcheck, and hence release-publish targets.

 perf/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 0390ed4f189365d595b40a45b0cf9eef5aa0c6ba
Author: Carl Worth <cworth@cworth.org>
Date:   Tue May 1 13:24:43 2007 -0700

    Increment version to 1.4.6 (and library versioning to 13:3:11)

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit c9e0bb5c79abfc50ae6a24f603c5493c3ac68e40
Author: Carl Worth <cworth@cworth.org>
Date:   Tue May 1 13:20:56 2007 -0700

    NEWS: Add notes for cairo 1.4.6

 NEWS |  116 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 116 insertions(+), 0 deletions(-)

commit 7f7f4d4f35cd640733b990fcff924a090b43d360
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 1 12:37:38 2007 +0100

    [cairo-xlib-surface.c] Free the Pixmap on surface construction failure.
    
    If we create the Pixmap whilst constructing a similar xlib surface, then
    it our responsibility to free the Pixmap should we fail to allocate the
    surface.

 src/cairo-xlib-surface.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 3e3bd4df7e810a9acd14cd6f3717633f71691b9e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue May 1 11:28:45 2007 +0100

    Minor typo in cairo_surface_destroy() documentation.
    
    The type of @surface is #cairo_surface_t, not #cairo_t.

 src/cairo-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit f7cdbd385a02d023e35357cd27dcc165ada667f2
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue May 1 00:41:07 2007 -0400

    [cairo-mutex-private.h] Move implementation-specific parts to cairo-mutex-type-private.h
    
    This fixes the problem reported by Dave Yeo that boilerplate wasn't building:
    
    In file included from ../src/cairo-scaled-font-private.h:44,
    	     from cairo-boilerplate.c:65:
    ../src/cairo-mutex-private.h:183: error: syntax error before "extern"
    ../src/cairo-mutex-private.h:184: error: syntax error before "void"
    ../src/cairo-mutex-private.h:185: error: syntax error before "void"
    make[3]: *** [cairo-boilerplate.lo] Error 1

 src/Makefile.am                 |    1 +
 src/cairo-mutex-private.h       |   81 +-----------------------
 src/cairo-mutex-type-private.h  |  131 +++++++++++++++++++++++++++++++++++++++
 src/cairo-scaled-font-private.h |    2 +-
 4 files changed, 135 insertions(+), 80 deletions(-)

commit 6de0f2d15775a451ead2cc3e80530b7dc6b321a3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Apr 30 22:38:00 2007 -0400

    [cairo-mutex] Fix CAIRO_MUTEX_FINALIZE definition to take parantheses
    This was breaking build on some systems as reported by Adrian Johnson
    on the list.

 src/cairo-mutex-private.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 3f297a0fccb01f4e10a093ddc44a25a937364447
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Apr 30 22:00:31 2007 -0400

    [TODO] Add various items discussed recently

 TODO |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

commit 51440ad9027bd9ccf7d987c234995470f7699043
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Apr 30 21:57:29 2007 -0400

    [ROADMAP] Mark clipping trapezoids done

 ROADMAP |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 8ea48710dc933cd5dd52fb7d0c29eb8994a5d160
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Apr 30 19:20:56 2007 -0400

    [perf] Check availability before including nonstandard headers

 configure.in                 |    4 ++++
 perf/cairo-perf-diff-files.c |    2 ++
 perf/cairo-perf.c            |    6 +++++-
 3 files changed, 11 insertions(+), 1 deletions(-)

commit fbc8bf05033a652d26c1defa56d12183e4009870
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Apr 30 19:11:31 2007 -0400

    [perf] Don't build cairo-perf in "make all"

 perf/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4be608399f0d196a792f84fe4ddfce9acd2ea943
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Apr 29 19:29:24 2007 +0930

    Fix cygwin compile error
    
    The WINVER macros need to be defined before including <windows.h>.
    As a result of some recent include file rearranging, <windows.h>
    was included indirectly before WINVER was defined.

 src/cairo-mutex-private.h |   12 ------------
 src/cairo-win32-surface.c |   11 ++++++-----
 2 files changed, 6 insertions(+), 17 deletions(-)

commit a5d1fc923fdef354ceed8478c93e8b7cb734158a
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Apr 30 16:05:36 2007 +0100

    Free all memory when cairo-perf exits.
    
    Similar to cairo-test, we free any global memory used by cairo for its
    caches through the debug interfaces. We do this so that valgrind does
    not unnecessary warn about memory leaks for the cached data and any true
    leak is then not lost in the noise.

 perf/cairo-perf.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

commit 7e6ab5461c2eb75c948bcb4725613ebe826c697a
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Apr 28 07:46:56 2007 -0700

    Add missing prototypes for getline and strndup
    
    This is needed to prevent breaking the build for non-GNU systems.

 perf/cairo-perf-diff-files.c |   12 ++++++++++--
 1 files changed, 10 insertions(+), 2 deletions(-)

commit 422798db1d73c1a8ecc5877133b0325023f38e61
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Apr 28 07:46:15 2007 -0700

    cairo-perf-diff-files: Add missing include of libgen.h for basename

 perf/cairo-perf-diff-files.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit d89d8e6b45b7c13b77aa7c2f1c480f58429b08af
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Apr 28 07:45:26 2007 -0700

    pixman.h: Add missing definition of WARN_UNUSED_RESULT
    
    This was breaking the build on systems without support for the
    __warn_unused_result__ attribute.

 pixman/src/pixman.h |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit cb6fcdae92503964448144413e48ac388861d95f
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Apr 28 07:38:56 2007 -0700

    Fix typo in Makefile preventing builds from succeeding
    
    The cairo-ps-surface-private.h file was not getting included in the
    distribution.

 src/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit a392cc85081dd1e0fa3342c313af94a1e0c289b1
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Apr 27 22:46:47 2007 -0700

    Clarify documentation of cairo_in_stroke and cairo_in_fill
    
    Like cairo_stroke_extents and cairo_fill_extents, these functions
    work without regard to the surface dimensions or the current clip
    region.

 src/cairo.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 8286b8741675ae163fc40187cd04e84395954c6e
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Apr 27 17:23:08 2007 -0700

    Clip trapezoids that are partially (or wholly) outside the clip region.
    
    It's quite simple to add a new _cairo_traps_limit call which installs
    a box into the cairo_traps_t structure. Then at the time of
    _cairo_traps_add we can discard any trapezoid that is wholly outside
    the box and also clip any trapezoid that is partially outside the box.
    
    We take advantage of this for both cairo_stroke and cairo_fill, (when
    cairo is computing the trapezoids in cairo-surface-fallback.c). Note
    that we explicitly do not do any clipping for cairo_stroke_extents,
    cairo_fill_extents, cairo_in_stroke, or cairo_in_fill which are
    defined to ignore clipping.
    
    As seen by the long-lines perf case, this fix successfully works
    around the bug in the X server where it creates overly large masks for
    partially-outside-the-destination-surface trapezoids:
    
     xlib-rgba   long-lines-uncropped-100  545.84 -> 5.83: 93.09x speedup
    ██████████████████████████████████████████████
     xlib-rgb    long-lines-uncropped-100  554.74 -> 8.10: 69.04x speedup
    ██████████████████████████████████

 src/cairo-surface-fallback.c |   52 ++++++++++++++++++++++++++++++++
 src/cairo-traps.c            |   68 +++++++++++++++++++++++++++++++++++++++++-
 src/cairoint.h               |    7 ++++
 3 files changed, 126 insertions(+), 1 deletions(-)

commit 2dcfb944b044172640a3784246d6b3129b686b60
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Apr 27 16:41:17 2007 -0700

    Don't test PDF tests known to fail due to poppler limitations
    
    The following four tests are disabled:
    
    	gradient-alpha, linear-gradient, text-pattern, trap-clip
    
    We don't use XFAIL as that would disable all backends, (but
    we can still usefully use these tests on backends other than
    PDF).

 boilerplate/cairo-boilerplate-pdf.c |   15 +++++++++++++++
 test/gradient-alpha.c               |    3 ++-
 test/linear-gradient.c              |    3 ++-
 test/text-pattern.c                 |    3 ++-
 test/trap-clip.c                    |    3 ++-
 5 files changed, 23 insertions(+), 4 deletions(-)

commit 179e3399101b5a0daa907dcfe1f9f11ae8fe691e
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Apr 27 16:01:56 2007 -0700

    PDF: Change CTM to identity
    
    Some PDF viewers forget the CTM when drawing gradient patterns
    with SMasks. This patch works around these bugs by using the default
    identity matrix for the CTM. All paths are transformed from
    cairo to pdf coordinates before writing to the pdf file.

 src/cairo-pdf-surface-private.h |    1 +
 src/cairo-pdf-surface.c         |  135 +++++++++++++++++++--------------------
 2 files changed, 67 insertions(+), 69 deletions(-)

commit 1816d7c590ae4d423f9314a8a7794e2cae854da3
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Apr 27 09:49:45 2007 -0700

    Add support for transparent gradients
    
    This is based on the gradient patch written by Miklós Erdélyi at
    http://lists.freedesktop.org/archives/cairo/2006-August/007648.html
    
    Currently only EXTEND_NONE and EXTEND_PAD are supported. Other extend
    types will go through the image fallback path.

 src/cairo-pdf-surface-private.h |   13 +
 src/cairo-pdf-surface.c         |  950 ++++++++++++++++++++++++++++++---------
 2 files changed, 752 insertions(+), 211 deletions(-)

commit 050dad71734739f1eaf8976ca5bb88e47c76409c
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 26 11:30:27 2007 -0700

    cairo-perf-diff-files: Always print old and new configuration names
    
    Previously, if the change in the first test case was small enough
    to be considered insignificant, then the header lines showing the
    names of the old and new configurations would be omitted. This
    commit fixes that bug.

 perf/cairo-perf-diff-files.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 6035d3b47e635f53b361dc7924e161a214e038b3
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 25 16:28:14 2007 -0700

    cairo-perf-diff: Repair command-line option parsing.
    
    Apparently --force and --html have been broken since the attempt
    to address --help in ef5611df6c6bc8d9c6877af3a59c66fa6fc5c13a .

 perf/cairo-perf-diff |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

commit 0a1d2070e252921e097fec89537537675f8b7161
Author: Jeff Muizelaar <jeff@infidigm.net>
Date:   Wed Apr 25 16:01:29 2007 -0700

    Fix bugs in fbCompositeSrc_8888x8x8888mmx and fbCompositeSrc_x888x8x8888mmx
    
    And re-enable fbCompositeSrc_8888x8x8888mmx now that it should work.
    
    This gives another little boost to the paint-with-alpha perf test:
    
    image-rgba paint-with-alpha_image_rgba_over-512 11.76 -> 5.20: 1.85x speedup
    ▉
    image-rgb  paint-with-alpha_image_rgba_over-512 11.76 -> 5.26: 1.84x speedup
    ▉

 pixman/src/fbmmx.c  |   20 +++++++++-----------
 pixman/src/fbpict.c |    8 +++-----
 2 files changed, 12 insertions(+), 16 deletions(-)

commit 342de46eb4033e1cccfec8b905c0002cc880c9fb
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 25 10:25:57 2007 -0700

    Make the traditional speedup vs. slowdown report style available again
    
    Now, if you pass exactly two performance reports on the command line
    you'll get the traditional report style again, (so the tool remains
    backwards compatible). If you really want the new style with two
    reports you can get it by adding /dev/null as a third argument.

 perf/cairo-perf-diff-files.c |  112 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 103 insertions(+), 9 deletions(-)

commit db2a761ae7055a61d3705a76526cbd0b71fcc95d
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 25 08:53:46 2007 -0700

    Implement support for generating a report from more than two files
    
    This support is intended to compare the identical backends across multiple
    reports from several different configurations, (of one sort or another).
    The configuration names used in the report are taken from the filenames
    of the report files, (which will format most nicely if 8 characters or
    less).
    
    The traditional two-input report mode, (showing one line perdiff with
    all speedups before all slowdowns), is removed with this commit, but
    is intended to return again shortly.

 perf/cairo-perf-diff-files.c |  270 ++++++++++++++++++++++++------------------
 1 files changed, 157 insertions(+), 113 deletions(-)

commit 5030cfce5df507a0338e1070a5dab3851ed9df7c
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 19 16:32:57 2007 -0700

    cairo-perf-diff-files: Use pointers instead of indexing to iterate over reports
    
    We terminate the iteration by adding a final report with a NULL
    name. This will simplify future code that iterates over more than
    two reports simultaneously.

 perf/cairo-perf-diff-files.c |   31 ++++++++++++++++++-------------
 1 files changed, 18 insertions(+), 13 deletions(-)

commit 6121f4fccfe8d98fb09c096402da05d29d10b9e8
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 19 16:21:39 2007 -0700

    cairo-perf-diff-files: Simplify code to grow report->tests

 perf/cairo-perf-diff-files.c |   14 +++++---------
 1 files changed, 5 insertions(+), 9 deletions(-)

commit cc03f0499e7b133a2e5c14e55207259ea000b8c2
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 19 16:09:06 2007 -0700

    cairo-perf-diff-files: Sort and compute stats at the time of loading a report

 perf/cairo-perf-diff-files.c |  150 +++++++++++++++++++++---------------------
 1 files changed, 75 insertions(+), 75 deletions(-)

commit 228c83c9d2d1fdb6fa3af8a650640a47c8e21e36
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 19 14:35:51 2007 -0700

    cairo-perf-diff: Separate command-line options within the args structure
    
    A function like cairo_perf_report_diff wants the options, but really
    doesn't want/need to see the filenames for example,

 perf/cairo-perf-diff-files.c |   44 +++++++++++++++++++++++------------------
 1 files changed, 25 insertions(+), 19 deletions(-)

commit 876786b3f7316b99a51ba8225e34581be13a883d
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 19 13:54:50 2007 -0700

    Move implementation of getline and strndup
    
    These kept getting in my way as I looked for structure declarations
    at the top of the file.

 perf/cairo-perf-diff-files.c |  108 ++++++++++++++++++++---------------------
 1 files changed, 53 insertions(+), 55 deletions(-)

commit 90d532e08f25644c4e621b0b7e592f4531a39d88
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 19 13:52:03 2007 -0700

    Replace old and new reports with reports array
    
    Another baby step toward allowing comparison of more than two reports.

 perf/cairo-perf-diff-files.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

commit c6c17633e40f549ede5761095a0652c08adeee08
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 19 13:31:37 2007 -0700

    Replace old_filename and new_filename with a filenames array
    
    More preparation for comparing more than two perf reports.

 perf/cairo-perf-diff-files.c |   30 +++++++++++++-----------------
 1 files changed, 13 insertions(+), 17 deletions(-)

commit 1849a7a8bededb281fbb07ec0939f8d1f4954771
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 19 12:55:04 2007 -0700

    cairo-perf-diff-files: Add new --min-change option, (replacing third positional argument)
    
    An upcoming change will allow cairo-perf-diff-files to generate
    a report based on more than two files. This prepares for that by
    moving the minimum-change support from the 3rd positional argument
    to a new --min-change option.

 perf/cairo-perf-diff-files.c |   39 +++++++++++++++++++++++----------------
 1 files changed, 23 insertions(+), 16 deletions(-)

commit ef5611df6c6bc8d9c6877af3a59c66fa6fc5c13a
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 19 11:26:47 2007 -0700

    cairo-perf-diff: Fix implementation of --help
    
    Previously only "--" would givethe usage, and not "--help"
    as intended. The new approach has been tested with ash, bash,
    and dash, (hopefully that's good enough).

 perf/cairo-perf-diff |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit a8d4fed67a32c6040c27615e063466d654b55a3a
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 19 10:02:22 2007 -0700

    cairo-perf-diff-files: Remove some overzealous option parsing.
    
    The code was complicated and confusing, and only existed to implement
    undocumented and unneeded command-line options.

 perf/cairo-perf-diff-files.c |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

commit fe9dd719561048af1f2c3c8c43e46f7d97575053
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 18 17:01:36 2007 -0700

    Correct misattribution of Mathias' work to Chris

 NEWS |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 29670d37665d184d78d568070cb409acf98ee797
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 23 10:24:03 2007 -0700

    Add a content value to solid patterns
    
    This allows for the surface acquired from the pattern to have the
    same content. In particular, in a case such as cairo_paint_with_alpha
    we can now acquire an A8 mask surface instead of an ARGB32 mask
    surface which can be rendered much more efficiently. This results
    in a 4x speedup when using the OVER operator with the recently
    added paint-with-alpha test:
    
    Speedups
    ========
    image-rgb  paint-with-alpha_image_rgb_over-256 2.25 -> 0.60: 4.45x speedup
    ███▌
    
    It does slowdown the same test when using the SOURCE operator, but
    I don't think we care. Performing SOURCE with a mask is already a very
    slow operation, (hitting compositeGeneral), so the slowdown here is
    likely from having to convert from A8 back to ARGB32 before the
    generalized compositing. So if someone cares about this slowdown,
    (though SOURCE with cairo_paint_with_alpha doesn't seem extremely
    useful), they will probably be motivated enough to contribute a
    customized compositing function to replace compositeGeneral in which
    case this slowdown should go away:
    
    image-rgba paint-with-alpha_image_rgb_source-256 3.84 -> 8.86%: 1.94x slowdown
    █

 src/cairo-clip.c             |    3 ++-
 src/cairo-glitz-surface.c    |    5 ++++-
 src/cairo-gstate.c           |    3 ++-
 src/cairo-pattern.c          |   41 ++++++++++++++++++++++++++---------------
 src/cairo-surface-fallback.c |   12 ++++++++----
 src/cairo-surface.c          |    2 +-
 src/cairo-xcb-surface.c      |    3 ++-
 src/cairo-xlib-surface.c     |    3 ++-
 src/cairo.c                  |    2 +-
 src/cairoint.h               |    9 ++++++---
 10 files changed, 54 insertions(+), 29 deletions(-)

commit fea5336e2db201be69256ef1bafd418fee98a21e
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 25 10:36:12 2007 -0700

    Allow fbCompositeSrc_x888x8x8888mmx when destination has alpha
    
    Previously the check for this optimized function would only allow
    the function to be called if the source and destination had
    identical formats. But the function doesn't read the destination
    alpha (if any) so can be used when it exists as well.
    
    (Thanks to Jeff Muizelaar for pointing out this problem.)

 pixman/src/fbpict.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

commit 72b812be8c69108c46334841823a2e9103b69516
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 23 09:35:35 2007 -0700

    perf: Add new paint-with-alpha test
    
    MacSlow noticed that cairo_paint_with_alpha is much slower than
    it should be, (and jrmuizel has a nice plan for fixing the
    performance bug).

 perf/Makefile.am        |    1 +
 perf/cairo-perf.c       |    1 +
 perf/cairo-perf.h       |    1 +
 perf/paint-with-alpha.c |   45 +++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 48 insertions(+), 0 deletions(-)

commit 302f1146da5b179e5016e2d523e891437c1a256b
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 23 09:26:32 2007 -0700

    Fix two bugs in documentation code sample of cairo_arc
    
    The sample code for drawing an ellipse had width and height
    reversed in the call to cairo_scale, and also had both
    incorrectly inverted.

 src/cairo.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e37c9edac02ccd9fbcbc4622a2f421f4be0d597e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 24 17:33:37 2007 -0400

    [ROADMAP] Add cairo_xlib_surface_get_xrender_format()

 ROADMAP |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit ac0ef0302e68ba17ec5a59c689579f1854c7386c
Merge: d3cf214... 260dcb3...
Author: Peter Weilbacher <mozilla@weilbacher.org>
Date:   Mon Apr 23 23:18:05 2007 +0200

    Merge branch 'master' of git+ssh://pmw@git.freedesktop.org/git/cairo

commit 260dcb316e14945e7600406954e4876e8827a777
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Apr 23 13:54:37 2007 +0100

    Add a _cairo_error() to png_simple_error_callback()
    
    With the introduction of the error callbacks for PNG, we have the
    opportunity for the user to set a breakpoint (via _cairo_error) at the
    point the error is first rasied.

 src/cairo-png.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 0fce7e85a1c853216866ddf6a40725e7ce57fe93
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Apr 23 13:00:40 2007 +0100

    Do not print out libpng error messages to stderr.
    
    We wish to avoid writing to file descriptors (and streams) that are
    outside cairo's control. In this case, the messages are superfluous as
    the errors are propagated via the cairo_status_t returns.

 src/cairo-png.c |   31 +++++++++++++++++++++++++------
 1 files changed, 25 insertions(+), 6 deletions(-)

commit 59670dd5d3854af1f7cbdef984df7802c338330b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Apr 23 05:19:56 2007 -0400

    [ROADMAP] Add URL to David Turner's patchset

 ROADMAP |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit ce91a176489f4cb8f40c5ec29f23881d1e013a9f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Apr 22 16:13:22 2007 -0400

    [cairo-mutex] Add a poor man's mutex implementation in case of CAIRO_NO_MUTEX
    just for fun.

 src/cairo-mutex-private.h |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

commit 97b50e99bfa785d77b4900d3070f22a22827db22
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Apr 22 16:05:25 2007 -0400

    [BeOS] Remove old-style mutex initialization cruft

 src/cairo-beos-surface.cpp |   34 ----------------------------------
 1 files changed, 0 insertions(+), 34 deletions(-)

commit 0fd13a3db00e7e11915b5a7bbe81bf8f43f1941f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Apr 22 16:04:49 2007 -0400

    [BeOS] Add mutex implementation

 src/cairo-mutex-private.h |   17 ++++++-----------
 1 files changed, 6 insertions(+), 11 deletions(-)

commit fc83784525d3f2bb3e09d931cc9c83261c0b73ae
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Apr 22 15:56:18 2007 -0400

    [cairo-mutex] Properly paranthesize macro arguments

 src/cairo-mutex-private.h |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 406fc63b68203e86c9236d06448e2ffa2c259669
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Apr 22 07:11:47 2007 -0400

    [util] Change make target from "tools" to "util"
    to match targets like "test", "perf", and "doc", that match
    their directory names.

 util/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5bc1f3365d0002f2864bc30638df85c392a495f5
Author: Peter Weilbacher <pmw@avila.aip.de>
Date:   Sun Apr 22 07:11:00 2007 -0400

    [perf] Add OS/2 implementation for timer routines

 perf/Makefile.am      |    4 ++
 perf/cairo-perf-os2.c |   95 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 99 insertions(+), 0 deletions(-)

commit 3b46e105bd781d7a4081068a14668334a7c82986
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 08:21:01 2007 -0400

    [util] Import my malloc wrapper that prints simple statistics
    
    To build, do:
    
    	make malloc-stats.so
    
    inside util/, and to use, run:
    
    	LD_PRELOAD=malloc-stats.so some-program
    
    For binaries managed by libtool, eg, cairo-perf, do:
    
    	../libtool --mode=execute /bin/true ./cairo-perf
    	LD_PRELOAD="../util/malloc-stats.so" .libs/lt-cairo-perf
    
    The code also includes Jeff Muizelaar's libbacktracesymbols that
    is a much better implementation of backtrace_symbols() than what
    is provided by glibc.  That can be built by:
    
    	make backtrace-symbols.so

 util/.gitignore          |   17 +++
 util/Makefile.am         |   22 +++
 util/backtrace-symbols.c |  361 ++++++++++++++++++++++++++++++++++++++++++++++
 util/malloc-stats.c      |  301 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 701 insertions(+), 0 deletions(-)

commit d3cf2144dbd42737d5e2c45908fbca082dd54022
Merge: 6c12961... abdcbf8...
Author: Peter Weilbacher <mozilla@weilbacher.org>
Date:   Sat Apr 21 13:50:30 2007 +0200

    Merge branch 'master' of git+ssh://pmw@git.freedesktop.org/git/cairo

commit 6c129611408ddb5cf0a9a821b30bbb8148af08d9
Author: Peter Weilbacher <mozilla@weilbacher.org>
Date:   Sat Apr 21 13:49:04 2007 +0200

    Use deprecated png symbol only when compiling against old version
    
    png_set_gray_1_2_4_to_8 is deprecated in libpng >= 1.2.9, the identical
    substitute for it is png_set_expand_gray_1_2_4_to_8

 src/cairo-png.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit 515491334cc32d8be856f25b7d2e36e63cb72246
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 07:48:10 2007 -0400

    Add util/ to distribution
    We already reference an script in util/ in PORTING_GUIDE, but was
    not shipping it!

 Makefile.am      |    2 +-
 configure.in     |    1 +
 util/Makefile.am |    4 ++++
 3 files changed, 6 insertions(+), 1 deletions(-)

commit abdcbf896af69677058490d1d08ba58672c429ec
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 07:23:30 2007 -0400

    [boilerplate] Add missing headers.  Oops!
    I blame git for it...

 boilerplate/cairo-boilerplate-pdf.h  |   33 +++++++++++++++++++++++++++++++++
 boilerplate/cairo-boilerplate-xlib.h |   33 +++++++++++++++++++++++++++++++++
 2 files changed, 66 insertions(+), 0 deletions(-)

commit 781f2533a32d84ca43a1bdf646bb69b7adab7a77
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 07:21:38 2007 -0400

    [.gitignore] Add cairo-*.*.*

 .gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit febcd689e7a4b277bbebffd8ebdc0970a04f68eb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 07:19:47 2007 -0400

    Update .gitignore to ignore .perf

 .gitignore |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit de425ada871c71277a53687dcd8a93a607d4faab
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 03:46:18 2007 -0400

    [doc/public/Headers.mk] Update.

 doc/public/Headers.mk |   13 ++++++++-----
 1 files changed, 8 insertions(+), 5 deletions(-)

commit 519b722747d606170741ccc520d6ec7332b2481f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 03:45:51 2007 -0400

    [RELEASING] Remove *-test.h from instructions
    as they are all removed now.

 RELEASING |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0108f9c69f2f5391ff6b1066ae6b58fe3f71255a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 03:44:53 2007 -0400

    [check-def.sh] Do not allow _cairo_.*_test_ symbols anymore
    as all are removed now.

 src/check-def.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 79098c037043f45df0a18265417e96d6214d68e1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 03:43:04 2007 -0400

    [scaled-font] Get rid of _cairo_scaled_font_test_set_max_glyphs_cached_per_font
    in favor of cairo_boilerplate_scaled_font_set_max_glyphs_cached.

 boilerplate/Makefile.am                     |    1 +
 boilerplate/cairo-boilerplate-scaled-font.h |   34 ++++++++++++++++++
 boilerplate/cairo-boilerplate.c             |   11 ++++++
 src/Makefile.am                             |    1 -
 src/cairo-scaled-font-private.h             |    1 +
 src/cairo-scaled-font-test.h                |   49 ---------------------------
 src/cairo-scaled-font.c                     |   14 ++------
 test/glyph-cache-pressure.c                 |    6 ++--
 8 files changed, 53 insertions(+), 64 deletions(-)

commit 44563161de82a5ee7bbf8f100213ea1a3af6d5db
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 03:38:24 2007 -0400

    Move a couple typedefs to cairo-types-private.h

 src/cairo-types-private.h |    2 ++
 src/cairoint.h            |    2 --
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 737d20a5702a18a1480c3b45f876e886b82b065c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 03:35:07 2007 -0400

    Move cairo_hash_entry_t to cairo-types-private.h

 src/cairo-hash-private.h        |   38 --------------------------------------
 src/cairo-scaled-font-private.h |    2 ++
 src/cairo-types-private.h       |   38 ++++++++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+), 38 deletions(-)

commit 51ce92c3db093c8d26c8002ddbc105b11e7607bf
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 03:24:31 2007 -0400

    [scaled-font] Move cairo_scaled_font_t to cairo-scaled-font-private.h

 src/Makefile.am                 |    1 +
 src/cairo-scaled-font-private.h |  109 +++++++++++++++++++++++++++++++++++++++
 src/cairo-scaled-font.c         |    1 +
 src/cairoint.h                  |   66 +-----------------------
 4 files changed, 112 insertions(+), 65 deletions(-)

commit 91f1056caf46d71c99eb044afbc943b92fb5550c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 03:18:30 2007 -0400

    Move cairo_cache_t to cairo-types-private.h

 src/cairo-cache-private.h |    2 +-
 src/cairo-cache.c         |   11 -----------
 src/cairo-hash-private.h  |    4 ++--
 src/cairo-types-private.h |   14 ++++++++++++++
 4 files changed, 17 insertions(+), 14 deletions(-)

commit d2bb5f30079badf1029fa71faab9d6781092a271
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 03:08:26 2007 -0400

    [svg] Get rid of _cairo_svg_test_force_fallbacks
    in favor of cairo_boilerplate_svg_surface_force_fallbacks.

 boilerplate/Makefile.am             |    1 +
 boilerplate/cairo-boilerplate-svg.c |   19 ++++++++++++
 boilerplate/cairo-boilerplate-svg.h |   33 +++++++++++++++++++++
 src/Makefile.am                     |    4 +-
 src/cairo-svg-surface-private.h     |    2 +
 src/cairo-svg-surface.c             |   20 +------------
 src/cairo-svg-test.h                |   54 -----------------------------------
 test/fallback-resolution.c          |    4 +-
 8 files changed, 60 insertions(+), 77 deletions(-)

commit ea1b7c2d8a55d694d575c0bb711e60f70a33ff77
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 03:04:03 2007 -0400

    [paginated] Include cairo-surface-private.h

 src/cairo-paginated-surface-private.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 7e0ae8bd43dfd8b052d021601912b46956b2921e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 02:57:55 2007 -0400

    [svg] Move cairo_svg_surface_t to cairo-svg-surface-private.h

 boilerplate/cairo-boilerplate-ps.c |    6 +++-
 src/Makefile.am                    |    2 +-
 src/cairo-svg-surface-private.h    |   71 ++++++++++++++++++++++++++++++++++++
 src/cairo-svg-surface.c            |   24 +------------
 4 files changed, 78 insertions(+), 25 deletions(-)

commit 3885fff3e6215023e801dd2c72fc39560a4e22fd
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 03:33:58 2007 -0400

    [ps] Get rid of _cairo_ps_test_force_fallbacks
    
    in favor of cairo_boilerplate_ps_surface_force_fallbacks.

 boilerplate/Makefile.am            |    1 +
 boilerplate/cairo-boilerplate-ps.c |   15 ++++++++++
 boilerplate/cairo-boilerplate-ps.h |   33 ++++++++++++++++++++++
 src/Makefile.am                    |    2 +-
 src/cairo-ps-surface-private.h     |    3 +-
 src/cairo-ps-surface.c             |   24 +--------------
 src/cairo-ps-test.h                |   54 ------------------------------------
 test/fallback-resolution.c         |    4 +-
 8 files changed, 56 insertions(+), 80 deletions(-)

commit 57dc972d6e5fe715a83cbcaad9c6cc3d38bf8129
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 03:02:48 2007 -0400

    [ps] Move cairo_ps_surface_t to cairo-ps-surface-private.h

 src/Makefile.am                |    2 +-
 src/cairo-ps-surface-private.h |   79 ++++++++++++++++++++++++++++++++++++++++
 src/cairo-ps-surface.c         |   33 +----------------
 3 files changed, 81 insertions(+), 33 deletions(-)

commit 3e69fbca6233e9f568935dbb69bf14bc34812d77
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 03:00:21 2007 -0400

    [pdf] Fix header file header!

 src/cairo-pdf-surface-private.h |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

commit 29247e5010632f0453367b64a38c865076605681
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 02:57:12 2007 -0400

    [ps/pdf/svg] Fix minor coding style issue

 src/cairo-pdf-surface.c |   12 ++++++------
 src/cairo-ps-surface.c  |    2 +-
 src/cairo-svg-surface.c |   14 +++++++-------
 3 files changed, 14 insertions(+), 14 deletions(-)

commit 20ce190e71f838dea598cbd5267f047b75945cee
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 02:50:53 2007 -0400

    [pdf] Get rid of _cairo_pdf_test_force_fallbacks
    in favor of cairo_boilerplate_pdf_surface_force_fallbacks.

 boilerplate/Makefile.am             |    1 +
 boilerplate/cairo-boilerplate-pdf.c |   19 ++++++++++++
 src/cairo-pdf-surface-private.h     |    2 +
 src/cairo-pdf-surface.c             |   25 ++--------------
 src/cairo-pdf-test.h                |   54 -----------------------------------
 test/fallback-resolution.c          |    4 +-
 6 files changed, 27 insertions(+), 78 deletions(-)

commit 03477064fa639ab1c735467d1889bde7c99313c4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Apr 21 02:25:51 2007 -0400

    [paginated] Move cairo_paginated_surface_t to cairo-paginated-surface-private.h
    The old cairo-paginated-surface-private.h is cairo-paginated-private.h now.

 src/Makefile.am                       |    1 +
 src/cairo-analysis-surface.c          |    2 +-
 src/cairo-paginated-private.h         |  136 +++++++++++++++++++++++++++++++++
 src/cairo-paginated-surface-private.h |  116 ++++++----------------------
 src/cairo-paginated-surface.c         |   32 +-------
 src/cairo-pdf-surface.c               |    2 +-
 src/cairo-ps-surface.c                |    2 +-
 src/cairo-svg-surface.c               |    2 +-
 src/cairo-types-private.h             |    1 +
 src/test-paginated-surface.c          |    2 +-
 10 files changed, 170 insertions(+), 126 deletions(-)

commit 21a7de61c26faaaa1ce96cddab6d777dbb37d0bb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 02:52:53 2007 -0400

    [boilerplate] Add cairo-boilerplate-xlib.h to Makefile.am

 boilerplate/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 68e2158aaeacefcff8e6df11c25bb61ab0e89606
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 02:37:15 2007 -0400

    [pdf] Move cairo_pdf_surface_t to cairo-pdf-surface-private.h

 src/Makefile.am                         |    3 +-
 src/cairo-output-stream-private.h       |    2 +-
 src/cairo-pdf-surface-private.h         |   83 +++++++++++++++++++++++++++++++
 src/cairo-pdf-surface.c                 |   42 +---------------
 src/cairo-scaled-font-subsets-private.h |    2 -
 src/cairo-types-private.h               |    3 +
 6 files changed, 90 insertions(+), 45 deletions(-)

commit 183c6af4f1730861a604a912a0609e315da65ecc
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 02:30:46 2007 -0400

    [paginated] Move cairo_paginated_mode_t to cairo-types-private.h
    
    as it is used in surface structs for PS/PDF/SVG and we will need
    it.

 src/cairo-paginated-surface-private.h |    5 -----
 src/cairo-types-private.h             |    5 +++++
 2 files changed, 5 insertions(+), 5 deletions(-)

commit cd72167ede50b44aa3559ee63b95e12e4b51d80f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 02:27:19 2007 -0400

    [xlib] Get rid of _cairo_xlib_test_disable_render
    
    in favor of cairo_boilerplate_xlib_surface_disable_render.

 boilerplate/cairo-boilerplate-xlib.c |   15 +++++++++
 src/Makefile.am                      |    2 +-
 src/cairo-xlib-surface.c             |   23 +--------------
 src/cairo-xlib-test.h                |   54 ----------------------------------
 test/xlib-surface.c                  |    8 +++--
 5 files changed, 22 insertions(+), 80 deletions(-)

commit 908418cb4d43e387d06698a43626ac9a663d6c2a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 02:25:55 2007 -0400

    [cairo-surface] Move cairo_surface_t struct in cairo-surface-private.h

 src/Makefile.am                  |    2 +
 src/cairo-surface-private.h      |   96 ++++++++++++++++++++++++++++++++++++++
 src/cairo-types-private.h        |   65 +++++++++++++++++++++++++
 src/cairo-xlib-private.h         |    1 -
 src/cairo-xlib-surface-private.h |    2 +
 src/cairoint.h                   |   74 +----------------------------
 6 files changed, 167 insertions(+), 73 deletions(-)

commit 8ae02fa470eace1b449c09b6cd0f86cc09b81ec2
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 01:54:35 2007 -0400

    [boilerplate] Minor indentation fix

 boilerplate/cairo-boilerplate-xlib-private.h |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 1345552ac24099900acdb968f905d6e75cc20593
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 01:46:23 2007 -0400

    [xlib] Move cairo_xlib_surface_t definition into cairo-xlib-surface-private.h

 src/Makefile.am                  |    3 +-
 src/cairo-xlib-surface-private.h |   91 ++++++++++++++++++++++++++++++++++++++
 src/cairo-xlib-surface.c         |   54 +----------------------
 3 files changed, 94 insertions(+), 54 deletions(-)

commit 735be3f09d1d150909305ff3232fda42efcb87bd
Author: Peter Weilbacher <pmw@avila.aip.de>
Date:   Fri Apr 20 20:46:55 2007 +0200

    Fix build break related to mutexes on OS/2
    
    cairo_mutex_t is HTMX which is ULONG on OS/2, so we have to set the
    mutex itself to 0 and not the address...

 src/cairo-mutex-private.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5135bcf414abc91e7777e2c024c9b6e10bf6115c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Apr 20 19:08:07 2007 +0100

    cairo-boilerplate - use xmalloc and friends
    
    Prefer to abort gracefully if we run out of memory (or simply to protect
    them from memfault).

 boilerplate/cairo-boilerplate.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit b6be361d0ef3b81ef5cbc28852f323a671e3d030
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Apr 20 17:49:10 2007 +0100

    Clean up compiler warnings from cairo-png
    
    I introduced some compiler warnings into read_png() with the superfluous
    introduction of a couple of volatile qualifiers. I'm sure at the time,
    the reason was that gcc suggested adding them - however, ATM gcc issues
    no warnings without them.

 src/cairo-png.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit fc455c53ecb0aa496915b1eae68dc0275af78e09
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Apr 21 00:26:25 2007 +0930

    Ensure _cairo_scaled_font_subsets_map_glyph() returns correct values
    
    The CID font subsetting exposed a bug where the subset_glyph->is_scaled
    return argument of _cairo_scaled_font_subsets_map_glyph() is sometimes
    not assigned a value.

 src/cairo-scaled-font-subsets.c |   55 +++++++++++++++------------------------
 1 files changed, 21 insertions(+), 34 deletions(-)

commit 9d8eb42c013d197b3365af88e372d1c2c1617173
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Apr 20 22:45:12 2007 +0930

    Exclude Type1 fonts from CID subsets
    
    Make cairo-scaled-font-subsets.c limit Type1 font subsets to
    256 glyphs. This allows Type1 subsetting to be enabled again
    with type1-fallback as the fallback option for Type1 fonts.

 src/cairo-pdf-surface.c                 |   42 ++++++++++++++----------------
 src/cairo-scaled-font-subsets-private.h |   11 +++++++-
 src/cairo-scaled-font-subsets.c         |   36 +++++++++++++++++---------
 src/cairo-type1-subset.c                |   27 ++++++++++++++++++++
 src/cairoint.h                          |    1 +
 5 files changed, 82 insertions(+), 35 deletions(-)

commit 56ad56263b86a9678387fe8dd994e77c183c6328
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Apr 20 22:44:04 2007 +0930

    Enable embedding of CID fonts in PDF
    
    Update cairo-pdf-surface.c to embed CFF and TrueType fonts
    as CID fonts. Update the ToUnicode CMap to handle CID fonts.

 src/cairo-pdf-surface.c |  285 +++++++++++++++++++++++++++++------------------
 1 files changed, 177 insertions(+), 108 deletions(-)

commit ca3662d6fc630e5390b3a8f8dbaa1d65aebc3fe8
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Apr 20 22:43:37 2007 +0930

    Make cairo-output-stream.c accept variable width printf fields

 src/cairo-output-stream.c |   27 +++++++++++++++++++++++----
 1 files changed, 23 insertions(+), 4 deletions(-)

commit 0c2a653033e0b631a1cb6591263cbd6125ccc00c
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Apr 20 22:30:55 2007 +0930

    Add CFF CID Fallback
    
    Switching to CID font embedding requires a fallback font for
    the case where CFF CID or TrueType CID subsetting fails.
    
    The new function _cairo_type2_charstrings_init() added to
    cairo-type1-fallback.c creates Type2 charstrings from glyph
    paths. _cairo_cff_fallback_init() in cairo-cff-subset.c
    wraps these charstrings in a CFF CID font.

 src/cairo-cff-subset.c                  |  212 +++++++++++++++++++++++++++++++
 src/cairo-scaled-font-subsets-private.h |   68 ++++++++++
 src/cairo-type1-fallback.c              |  211 ++++++++++++++++++++++---------
 3 files changed, 432 insertions(+), 59 deletions(-)

commit c68a2389f51880b0fa9df6750abdd840258666fc
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Apr 20 22:30:05 2007 +0930

    Make CFF Subsetting create CID subsets
    
    OpenType/CFF fonts come in two types: CID and non CID.
    CFF CID font subsetting was previously disabled in cairo
    due 1) to the need to embed CFF CID fonts in PDF as a CID fonts
    and 2) there is no easy way to convert CFF CID to CFF non CID.
    
    With the switch to CID fonts cairo-cff-subset.c has been
    updated to subset CID fonts and to covert non CID fonts to
    CID. A further advantage of converting non CID CFF fonts
    to CID is the reduction in size due to not embedding the
    name of each glyph in the font subset.

 src/cairo-cff-subset.c  |  858 ++++++++++++++++++++++++++++++----------------
 src/cairo-pdf-surface.c |    2 +
 2 files changed, 561 insertions(+), 299 deletions(-)

commit 073fce5a85ab90b1bc6915e41d6a420a47e540e6
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Apr 20 22:29:41 2007 +0930

    Add support for creating CID/composite font subsets
    
    cairo-scaled-font-subsets.c now provides three functions for creating subsets:
    
      _cairo_scaled_font_subsets_create_scaled()
        Create a subset for each scaled font with maximum size INT_MAX.
    
      _cairo_scaled_font_subsets_create_simple()
        Create subsets suitable for embedding as simple fonts in PS/PDF.
    
      _cairo_scaled_font_subsets_create_composite()
        Create subsets suitable for embedding as composite fonts in PS/PDF.
    
    The _create_simple() and _create_composite() functions both merge
    scaled fonts with the same face and an outline path available into
    the same subset. _create_composite() has a maximum subset size of
    65536 for outline fonts. Bitmap fonts have a separate subset for
    each scale with a maximum subset size of 256.
    
    The _create_simple() and _create_composite() functions both reserve
    the first glyph in the subset for the .notdef glyph. CID fonts require
    CID 0 to be .notdef.
    
    Update Type1, TrueType and CFF subsetting to expect glyph 0 of each
    subset to be the .notdef.

 src/cairo-cff-subset.c                  |    9 +--
 src/cairo-pdf-surface.c                 |    5 +-
 src/cairo-ps-surface.c                  |   13 +--
 src/cairo-scaled-font-subsets-private.h |   61 +++++++++++----
 src/cairo-scaled-font-subsets.c         |  127 ++++++++++++++++++++++---------
 src/cairo-svg-surface.c                 |    2 +-
 src/cairo-truetype-subset.c             |   21 ++---
 src/cairo-type1-fallback.c              |    2 +-
 src/cairo-type1-subset.c                |    3 -
 9 files changed, 156 insertions(+), 87 deletions(-)

commit bf957ee0f29ff49970b4791718eccdb92f3d6886
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Mar 23 12:59:38 2007 +0000

    cairo-png - handle short reads
    
    During MT cairo testing we get the error "libpng: Read Error" which is
    emitted should the fread return fewer bytes than asked. However, this is
    not necessarily an error, so double-check the ferror() status before
    raising a png_error().

 src/cairo-png.c |   24 +++++++++++++++++-------
 1 files changed, 17 insertions(+), 7 deletions(-)

commit d00aa44206f474e11c66c585d09bfd55e747cc5b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 01:28:56 2007 -0400

    [Makefile.am] Add a "make snapshot" target
    that creates a tarball named with version, date, and git hash of
    the tree.  Like cairo-1.4.5-20070420-2a0389.tar.gz.

 Makefile.am |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

commit 2a038956635e27f61fb2147527d2262eebf9bb26
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 00:55:03 2007 -0400

    [pixman] Fix typo in Makefile.am

 pixman/src/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit abcd929c57459f95e93504e0ef07b012b497a363
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 00:50:48 2007 -0400

    [boilerplate] Add cairo_boilerplate_format_from_content

 boilerplate/cairo-boilerplate-quartz.c        |    9 +--------
 boilerplate/cairo-boilerplate-test-surfaces.c |   13 +------------
 boilerplate/cairo-boilerplate-win32.c         |    8 ++------
 boilerplate/cairo-boilerplate.c               |   18 ++++++++++++++++++
 boilerplate/cairo-boilerplate.h               |    3 +++
 5 files changed, 25 insertions(+), 26 deletions(-)

commit 97624dc488b41eb83d70b2c44a595daa5d833e7f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 00:45:42 2007 -0400

    [boilerplate] Strip test-surfaces boilerplate into cairo-boilerplate-test-surfaces*

 boilerplate/Makefile.am                            |    5 +
 .../cairo-boilerplate-test-surfaces-private.h      |   63 +++++++
 boilerplate/cairo-boilerplate-test-surfaces.c      |  170 ++++++++++++++++++++
 boilerplate/cairo-boilerplate.c                    |  146 +----------------
 4 files changed, 241 insertions(+), 143 deletions(-)

commit 2e709321d858a048731eeaaca4a13a96de739e3f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 00:34:51 2007 -0400

    [boilerplate] Move xasprintf to xmalloc.c

 boilerplate/cairo-boilerplate.c |   45 -----------------------------------
 boilerplate/cairo-boilerplate.h |   32 +++++++++++-------------
 boilerplate/xmalloc.c           |   50 ++++++++++++++++++++++++++++++++++++--
 boilerplate/xmalloc.h           |    9 ++++++-
 test/cairo-test.h               |    2 +-
 5 files changed, 71 insertions(+), 67 deletions(-)

commit 5331445c12756293a915420a26ab5553fc7db3fc
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 00:26:17 2007 -0400

    [boilerplate] Cleanup includes in cairo-boilerplate-beos.cpp

 boilerplate/cairo-boilerplate-beos.cpp |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

commit 56e916d40cf2a5f061347254657592f7bfc90d02
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 00:25:44 2007 -0400

    [boilerplate] Fix typos in cairo-boilerplate-glitz.c

 boilerplate/cairo-boilerplate-glitz.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 06718b0da642d39b7b4dbfc009f08acb24e5e802
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 00:15:19 2007 -0400

    [boilerplate] Remove leftover call to cairo_test_log

 boilerplate/cairo-boilerplate.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 99737a60cb8cae1643b84782768e8c6d50ac7d0a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 00:13:25 2007 -0400

    [boilerplate] Clean up includes and remove unnecessary ones

 boilerplate/cairo-boilerplate-directfb.c |    9 +++++----
 boilerplate/cairo-boilerplate-pdf.c      |    2 +-
 boilerplate/cairo-boilerplate-svg.c      |    2 +-
 boilerplate/cairo-boilerplate-xcb.c      |    2 +-
 boilerplate/cairo-boilerplate.c          |   30 +++++++++---------------------
 5 files changed, 17 insertions(+), 28 deletions(-)

commit 4b569f13d758015f33ad258a70ad4f472da771ed
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 20 00:08:44 2007 -0400

    [boilerplate] Strip win32 boilerplate into cairo-boilerplate-win32*

 boilerplate/Makefile.am                       |    5 ++
 boilerplate/cairo-boilerplate-win32-private.h |   38 ++++++++++++++++++
 boilerplate/cairo-boilerplate-win32.c         |   51 +++++++++++++++++++++++++
 boilerplate/cairo-boilerplate.c               |   31 ++-------------
 4 files changed, 99 insertions(+), 26 deletions(-)

commit 0a03d66fffe7388d8fb4ffdb7bb5501a214c6342
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 23:58:51 2007 -0400

    [boilerplate] Rename create_win32_surface to _cairo_boilerplate_win32_create_surface

 boilerplate/cairo-boilerplate.c |   22 +++++++++++-----------
 1 files changed, 11 insertions(+), 11 deletions(-)

commit 5ee882d3941a9df61d539e056933564a758a6bbc
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 23:53:34 2007 -0400

    [boilerplate] Remove empty cleanup_win32

 boilerplate/cairo-boilerplate.c |   11 ++---------
 1 files changed, 2 insertions(+), 9 deletions(-)

commit a684fd80e750bea5661262e29a59c4f8c4d9cee3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 23:36:00 2007 -0400

    [directfb] Silence compiler warning

 src/cairo-directfb-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 23e6abc3fc01e3d722adfc48cd1df9c8db73adc1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 22:40:52 2007 -0400

    [boilerplate] Strip glitz boilerplate into cairo-boilerplate-glitz*

 boilerplate/Makefile.am                       |   30 +-
 boilerplate/cairo-boilerplate-glitz-private.h |   73 ++++
 boilerplate/cairo-boilerplate-glitz.c         |  477 ++++++++++++++++++++++++
 boilerplate/cairo-boilerplate.c               |  480 +------------------------
 4 files changed, 582 insertions(+), 478 deletions(-)

commit 7d576a376706aad427915b4872429f5605104886
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 22:25:28 2007 -0400

    [boilerplate] Minor indentation fix

 boilerplate/cairo-boilerplate.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 06b657ccf129f6f154c0db7886e5cca6191f93ca
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 22:20:38 2007 -0400

    [boilerplate] Strip xcb boilerplate into cairo-boilerplate-xcb*

 boilerplate/Makefile.am                     |    5 +
 boilerplate/cairo-boilerplate-xcb-private.h |   44 ++++++++++
 boilerplate/cairo-boilerplate-xcb.c         |  115 +++++++++++++++++++++++++++
 boilerplate/cairo-boilerplate.c             |   90 +--------------------
 4 files changed, 167 insertions(+), 87 deletions(-)

commit 65f636649d54348722354b2400c3a191309da0e1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 22:13:08 2007 -0400

    [boilerplate] Strip svg boilerplate into cairo-boilerplate-svg*

 boilerplate/Makefile.am                     |    5 +
 boilerplate/cairo-boilerplate-svg-private.h |   44 +++++++++
 boilerplate/cairo-boilerplate-svg.c         |  129 +++++++++++++++++++++++++++
 boilerplate/cairo-boilerplate.c             |  106 +---------------------
 4 files changed, 181 insertions(+), 103 deletions(-)

commit 8c9960675b82978acbd5a85ef358c674c3407ee3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 22:10:09 2007 -0400

    [boilerplate] Strip pdf boilerplate into cairo-boilerplate-pdf*

 boilerplate/Makefile.am                     |    5 +
 boilerplate/cairo-boilerplate-pdf-private.h |   44 +++++++++
 boilerplate/cairo-boilerplate-pdf.c         |  134 +++++++++++++++++++++++++++
 boilerplate/cairo-boilerplate.c             |  111 +---------------------
 4 files changed, 186 insertions(+), 108 deletions(-)

commit d9ce7de57514710f425bdee613edc4ea79ac0f0a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 22:08:24 2007 -0400

    [boilerplate] Rename xcairo_surface_set_user_data to cairo_boilerplate_surface_set_user_data
    
    and make it public.

 boilerplate/cairo-boilerplate.c |   48 +++++++++++++++++++++-----------------
 boilerplate/cairo-boilerplate.h |    6 +++++
 2 files changed, 32 insertions(+), 22 deletions(-)

commit df6b8ecc8963518c897648d82aab1aa090b4721a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 21:46:51 2007 -0400

    [boilerplate] Strip ps boilerplate into cairo-boilerplate-ps*

 boilerplate/Makefile.am                    |    5 +
 boilerplate/cairo-boilerplate-ps-private.h |   44 +++++++++
 boilerplate/cairo-boilerplate-ps.c         |  138 ++++++++++++++++++++++++++++
 boilerplate/cairo-boilerplate.c            |  115 +----------------------
 4 files changed, 190 insertions(+), 112 deletions(-)

commit 6461f0d120bf5fabd08b7621233229b223b3de89
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 20:45:10 2007 -0400

    [boilerplate] Remove unused variables

 boilerplate/cairo-boilerplate.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit f2d6275352142df631e00e27456d7e6ceb83804c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 20:41:34 2007 -0400

    [boilerplate] Fix renaming typo

 boilerplate/cairo-boilerplate.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d5535c993b5cde5df29a7a29339aa500992128bf
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 20:36:14 2007 -0400

    [boilerplate/test] Move vector_ignored_tests from boilerplate/ to test/

 boilerplate/cairo-boilerplate.c |   28 -----------------
 test/cairo-test.c               |   62 ++++++++++++++++++++++++++++----------
 2 files changed, 45 insertions(+), 45 deletions(-)

commit d6dc4f978364d287367d239e5594c7ffe50a2571
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 20:28:22 2007 -0400

    [boilerplate] Add a boolean is_vector to boilerplate target type
    
    This is used to move the skip-these-tests-for-vector code into
    cairo-test which it belongs.

 boilerplate/cairo-boilerplate.c |   18 ++++++++++++------
 boilerplate/cairo-boilerplate.h |    1 +
 2 files changed, 13 insertions(+), 6 deletions(-)

commit 0b5e2dbaa84225452a0935f61d2348bce88a3e69
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 20:23:55 2007 -0400

    [boilerplate] Sort backend entries in Makefile.am alphabetically

 boilerplate/Makefile.am |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit be0320c4f8082a9274899959dc82297a04aa7800
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 20:17:26 2007 -0400

    [boilerplate] Properly namespace boilerplate methods
    
    in preparation for ripping them into per-backend files.

 boilerplate/cairo-boilerplate-beos.cpp   |   24 +-
 boilerplate/cairo-boilerplate-directfb.c |   33 ++--
 boilerplate/cairo-boilerplate-quartz.c   |   12 +-
 boilerplate/cairo-boilerplate-xlib.c     |   24 +-
 boilerplate/cairo-boilerplate.c          |  328 +++++++++++++++++-------------
 5 files changed, 236 insertions(+), 185 deletions(-)

commit 9b660a3d54940c68eb48f2afeca7e87e1d2bffa6
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 19:56:05 2007 -0400

    [boilerplate] Strip xlib boilerplate into cairo-boilerplate-xlib*

 boilerplate/Makefile.am                      |    5 +
 boilerplate/cairo-boilerplate-xlib-private.h |   44 ++++++
 boilerplate/cairo-boilerplate-xlib.c         |  196 ++++++++++++++++++++++++++
 boilerplate/cairo-boilerplate.c              |  183 ++-----------------------
 4 files changed, 254 insertions(+), 174 deletions(-)

commit d945f6434643ac35f0e86352cfe3ccf021f568de
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 19:44:57 2007 -0400

    [boilerplate] Move includes around

 boilerplate/cairo-boilerplate.c |   23 ++++++++++-------------
 1 files changed, 10 insertions(+), 13 deletions(-)

commit 0130cca6924f5c0969ca285585c68a458301a882
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 19:39:58 2007 -0400

    [boilerplate] Rename test-directfb to boilerplate-directfb

 boilerplate/Makefile.am                          |    3 +-
 boilerplate/cairo-boilerplate-directfb-private.h |   23 ++++
 boilerplate/cairo-boilerplate-directfb.c         |  143 ++++++++++++++++++++++
 boilerplate/cairo-boilerplate.c                  |    6 +-
 boilerplate/cairo-test-directfb.c                |  143 ----------------------
 boilerplate/cairo-test-directfb.h                |   23 ----
 6 files changed, 171 insertions(+), 170 deletions(-)

commit fb2c0daa09af083278024c3da6f7e9e3f851984f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 19:38:20 2007 -0400

    [boilerplate] Rename test-beos to boilerplate-beos

 boilerplate/Makefile.am                      |    3 +-
 boilerplate/cairo-boilerplate-beos-private.h |   34 ++++
 boilerplate/cairo-boilerplate-beos.cpp       |  258 ++++++++++++++++++++++++++
 boilerplate/cairo-boilerplate.c              |    8 +-
 boilerplate/cairo-test-beos.cpp              |  258 --------------------------
 boilerplate/cairo-test-beos.h                |   34 ----
 6 files changed, 298 insertions(+), 297 deletions(-)

commit 01760286b388870e5bebf3851b4bef1350d89852
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 19:32:52 2007 -0400

    [boilerplate] Rename quartz-boilerplate to boilerplate-quartz

 boilerplate/Makefile.am                        |    4 +-
 boilerplate/cairo-boilerplate-quartz-private.h |   41 ++++++++++++++++
 boilerplate/cairo-boilerplate-quartz.c         |   60 ++++++++++++++++++++++++
 boilerplate/cairo-boilerplate.c                |   10 ++--
 boilerplate/cairo-quartz-boilerplate-private.h |   41 ----------------
 boilerplate/cairo-quartz-boilerplate.c         |   60 ------------------------
 6 files changed, 108 insertions(+), 108 deletions(-)

commit d64ef355217db7a555da0029187d19c80ec12609
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 19 23:12:09 2007 +0100

    Include cairo-perf in make check
    
    Although cairo-perf is not written to perform explicit failure testing of
    cairo, it does generate long sequences of cairo operations which often
    trigger unexpected errors. By including it with make check, it becomes
    even easier for the programmer to check that one has not broken cairo in
    terms of expected behaviour or performance.

 Makefile.am      |    3 ++-
 perf/Makefile.am |   30 +++++++++++++++++++-----------
 2 files changed, 21 insertions(+), 12 deletions(-)

commit 0ffb021e9b0cc2ec9afc3eaa360b4518327afa6c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:52:51 2007 -0400

    [cairo-mutex] If no mutex implementation is found, should #error instead of #warning
    
    otherwise we will cause compile errors before the sanity check macros get
    a chance to err.

 src/cairo-mutex-private.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 813cdd71503ca2d77da011c91368e55cf20ad657
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:49:35 2007 -0400

    [configure.in] Support --disable-pthread
    
    Also allows for --enable-pthread=yes which will make configure abort
    if pthread is not found (as opposed to silently disabling it).

 configure.in |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

commit 6d01e89988ea89ae21f3461825583d89b6eef55e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 19 21:46:00 2007 +0100

    Add callgrind output files to CLEANFILES and .gitignore.

 perf/.gitignore  |    2 ++
 perf/Makefile.am |    1 +
 2 files changed, 3 insertions(+), 0 deletions(-)

commit 2c79f8b75bd5bb0bb3bf054fb2b3cae6de382a7c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 19 21:41:43 2007 +0100

    Fix command line for running cairo-perf under valgrind.
    
    The CAIRO_PERF_ENVIRONMENT slipped into the middle of the command line
    instead of at the start.

 perf/Makefile.am |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 3631c11eb4ab49f2bb3b9ef0478e5516793f221f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:38:23 2007 -0400

    [cairo-mutex] Switch to HAVE_WINDOWS_H to use Win32 mutexes

 src/cairo-mutex-private.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d2a824a191e6b0d10a1f495d970b0406e37e0a39
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:37:36 2007 -0400

    [cairo-commit] Update attribution headers in cairo-mutex-private.h

 src/cairo-mutex-private.h |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 12dfd8bb4bf72483c835e169003fa00b114beb13
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:36:43 2007 -0400

    [cairo-mutex] Warn if no mutex definition found and let sanity macros err
    about undefined CAIRO_MUTEX macros.

 src/cairo-mutex-private.h |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

commit 6aa823841d6c1d59d4d972f0236f0e6a43199970
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:36:10 2007 -0400

    [cairo-mutex] Support non-reentrant compilation if CAIRO_NO_MUTEX defined
    to 1.

 src/cairo-mutex-private.h |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

commit e5980f69ad2d59ee305fe9aae62070a74d2df58b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:31:47 2007 -0400

    [cairo-commit] Just warn for BeOS and let the sanity check macros err
    about undefined CAIRO_MUTEX macros.

 src/cairo-mutex-private.h |   10 +++-------
 1 files changed, 3 insertions(+), 7 deletions(-)

commit 8ebb054ff9d2fe12faa7b1807aef24b2bf916e64
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:28:44 2007 -0400

    [cairo-mutex] Prefer "#if CAIRO_SOMETHING" over "#if defined CAIRO_SOMETHING"

 src/cairo-mutex-private.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 97c197478023ceb5477a203d058eaec2cb18f987
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:26:21 2007 -0400

    [cairo-mutex] Add default implementation for CAIRO_MUTEX_INIT
    that uses CAIRO_MUTEX_NIL_INITIALIZER.  This used to be the
    implementation for pthread because pthread_mutex_init() is
    broken.  See d48bb4fbe876a93199ba48fcf5f32734fbe18ba9.

 src/cairo-mutex-private.h |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

commit 6d2a2dd6d9190c62b209e47c083b7df72e7134fb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:24:16 2007 -0400

    [cairo-mutex] Add default no-op implementation for CAIRO_MUTEX_FINI

 src/cairo-mutex-private.h |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 2067d6fa90dae80aa666fb7328d51e2f92bec5bd
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:23:14 2007 -0400

    [cairo-mutex] Use CAIRO_MUTEX_NOOP when applicable

 src/cairo-mutex-private.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5dda76c90f8886b6017ca8bbdf81be2b97201962
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:22:02 2007 -0400

    [cairo-mutex] Err if at least one of mutex macros are not defined

 src/cairo-mutex-private.h |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

commit f771b9157c26430949f4dd1412c7a7b35367f81a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:21:13 2007 -0400

    [cairo-mutex] Define and use CAIRO_MUTEX_USE_GENERIC_INITIALIZATION
    We use the generic initialization if CAIRO_MUTEX_INITIALIZE is not
    defined.

 src/cairo-mutex-private.h |    9 +++++++++
 src/cairo-mutex.c         |    2 +-
 2 files changed, 10 insertions(+), 1 deletions(-)

commit 4fc52e2d49c1299f8f175e22472ebe08baa41fa4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:19:48 2007 -0400

    [cairo-mutex] Define CAIRO_MUTEX_NOOP

 src/cairo-mutex-private.h |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit f9dd8fd0ef0ad95921723155b951cd113ccb2d0b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 16:19:25 2007 -0400

    [cairo-mutex] Inlucde cairo-features.h and config.h
    Previously we were lucky enough to have them included before us

 src/cairo-mutex-private.h |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 4e754cf3df9855c1d442578e555b7fb17c3dd4a1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 15:31:24 2007 -0400

    [cairo-truetype-subset] Shut gcc warning up

 src/cairo-truetype-subset.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4141e752e2eb0f40f2eb298bad398e6390e00ef8
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 15:04:11 2007 -0400

    [cairo-freelist] Remove redundant struct declarations

 src/cairo-freelist-private.h |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit ea817c560c429f445e4c450b60d499dae27f6024
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 14:50:38 2007 -0400

    [cairo-mutex] Remove unneeded #undef CAIRO_MUTEX_EXTERNAL

 src/cairo-mutex-private.h |    8 --------
 1 files changed, 0 insertions(+), 8 deletions(-)

commit 0b281085b55aae70876c6ef022266b73461800ab
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 14:45:41 2007 -0400

    [cairo-mutex] Err on unintended inclusion of cairo-mutex-list-private.h

 src/cairo-mutex-list-private.h |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 47be7280bfe751c9f635f1e17c158f04b2927ae3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 19 14:42:55 2007 -0400

    [cairo-mutex] Remove multiple-inclusion guards from cairo-mutex-list-private.h
    
    This is a list header file.  We should not prevent it from multiple
    inclusions.

 src/cairo-mutex-list-private.h |    3 ---
 src/cairo-mutex.c              |    2 --
 2 files changed, 0 insertions(+), 5 deletions(-)

commit 55ea0466e25de2c60171a9d6c96536bc2e7fb9e3
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 19 20:24:27 2007 +0100

    Embed simple clip XRectangles in cairo_xlib_surface_t
    
    Toolkits like GTK+ almost always set a simple rectangular clip mask before
    any cairo operation, so avoid the allocation for this simple case by
    embedding a small number of XRectangles into the surface structure.

 src/cairo-xlib-surface.c |   18 +++++++++++-------
 1 files changed, 11 insertions(+), 7 deletions(-)

commit 7906a993403e75aa34b32d2d9338ec179896d765
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Thu Apr 19 14:54:30 2007 +0200

    Define INT32 limits on MSVC as noticed by Hans-Jürgen Schäler

 src/cairo-wideint-private.h |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit cc8841645cd7aa06ae48cbad804b31b3c0c2146b
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Thu Apr 19 13:47:45 2007 +0200

    Properly use CAIRO_MUTEX_{INIT,FINI} and remove CAIRO_MUTEX_LIST_PRIVATE_H sentinal before explicitly including the mutex list.

 src/cairo-mutex.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

commit 39a633a8f3618f3b1adb3eefdf36e2fc6d896054
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Thu Apr 19 13:15:08 2007 +0200

    Reintroduce DllMain as deterministic mutex initialization path

 src/cairo-win32-surface.c |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

commit 9b348929b51fb45f5985914350a10955d6df17ae
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Thu Apr 19 13:13:42 2007 +0200

    Introduce CAIRO_MUTEX_FINALIZE as counter-part for CAIRO_MUTEX_INITIALIZE

 src/cairo-mutex-private.h |    8 +++++++-
 src/cairo-mutex.c         |   12 ++++++++++++
 src/cairo-os2-surface.c   |    6 +++---
 3 files changed, 22 insertions(+), 4 deletions(-)

commit 67767afa09e3622988b9ac67b754114ea9f84105
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Thu Apr 19 12:35:10 2007 +0200

    Update _cairo_mutex_initialized during initialization.

 src/cairo-mutex.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 41c6eebcd1fab94fd3a91d09f1ef6ee0d8c7a044
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 19 11:56:15 2007 +0100

    Optionally provide a pattern to use for creating a similar solid surface.
    
    _cairo_surface_create_similar_solid() creates a fresh pattern to wrap
    color, however sometimes the caller already has that pattern available.
    In those circumstances we can pass the pattern as well as the color and
    avoid the extra allocation.

 src/cairo-clip.c          |    3 ++-
 src/cairo-glitz-surface.c |    3 ++-
 src/cairo-pattern.c       |    3 ++-
 src/cairo-surface.c       |   24 +++++++++++++++---------
 src/cairoint.h            |    6 +++++-
 5 files changed, 26 insertions(+), 13 deletions(-)

commit ef60e7c65144edd1aa14757b269f2c196df732a2
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 18 18:08:45 2007 +0100

    cairo-xlib-surface - track picture properties.
    
    By tracking picture properties we can dramatically reduce the amount of
    X11 traffic by avoiding redundant changes.

 src/cairo-xlib-surface.c |   35 ++++++++++++++++++++++++-----------
 1 files changed, 24 insertions(+), 11 deletions(-)

commit 9cf09556339e64bdf1273e95938b657112df07b6
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 19 09:27:51 2007 +0100

    Create opaque similar solid surfaces when possible.
    
    For opaque surfaces the backends may use simpler code paths - for
    example, the xlib backend may be able to use the Core protocol rather
    than Render. So we only generate a surface with an alpha component if
    the color is not opaque.

 src/cairo-pattern.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

commit f7b6fc474651311356f116b7d8d7a5ef1cbab570
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 19 09:22:08 2007 +0100

    Define a CAIRO_ALPHA_IS_OPAQUE variant that operates on uint16.
    
    Introducing this variant also fixed a bug in _gradient_is_opaque()
    which was using the fractional test on a uint16.

 src/cairo-pattern.c |    6 +++---
 src/cairoint.h      |    3 +++
 2 files changed, 6 insertions(+), 3 deletions(-)

commit 157074c794903f1dbe68c1ba5b129b4176dc7975
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Apr 18 19:46:30 2007 -0400

    [boilerplate] Add cairo_boilerplate_get/free_targets
    This means, test and perf suites now share the same target handling
    code, including parsing CAIRO_TEST_TARGET.

 boilerplate/cairo-boilerplate.c |   73 +++++++++++++++++++++++++++++++++++++--
 boilerplate/cairo-boilerplate.h |    6 +++-
 perf/cairo-perf.c               |   20 +++++-----
 test/cairo-test.c               |   54 ++++-------------------------
 4 files changed, 92 insertions(+), 61 deletions(-)

commit 47c02a6bd67e8b7e50977cc87d5e35358d5c4c2e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Apr 18 19:15:16 2007 -0400

    [boilerplate] s/_cairo_test_content_name/cairo_boilerplate_content_name/g

 boilerplate/cairo-boilerplate.c |    8 ++++----
 boilerplate/cairo-boilerplate.h |    2 +-
 test/cairo-test.c               |   10 +++++-----
 3 files changed, 10 insertions(+), 10 deletions(-)

commit b9026d0b137520247b4a93287bd518fc79774e93
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Apr 18 19:09:53 2007 -0400

    [perf] Make targets more consistent with the test suite
    That is:
    1) no VALGRING vs VG abbreviations
    2) setting TARGETS and ITERS on the make command line works now

 perf/Makefile.am  |   26 +++++++++++++++++---------
 perf/cairo-perf.c |    8 ++++++--
 2 files changed, 23 insertions(+), 11 deletions(-)

commit 9f3e0694e644d2279c7f4835f8035d4ecccb5711
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Apr 18 19:08:54 2007 -0400

    [test] Allow bypassing all test targets by setting CAIRO_TEST_TARGET=" "

 test/cairo-test.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit 52d4e0f3191440e8ebe366b593c2e9c955328258
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Apr 18 18:27:28 2007 -0400

    [doc] Make section title capitalization more consistent

 doc/public/cairo-sections.txt    |    2 +-
 doc/public/language-bindings.xml |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit beadcdf9bd7c1dde48c8c751ba8af75c60b93a5f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Apr 18 18:24:09 2007 -0400

    Rename cairo-font.c to cairo-font-face.c

 src/Makefile.am       |    2 +-
 src/Makefile.win32    |    2 +-
 src/cairo-font-face.c |  514 +++++++++++++++++++++++++++++++++++++++++++++++++
 src/cairo-font.c      |  514 -------------------------------------------------
 src/cairoint.h        |    2 +-
 5 files changed, 517 insertions(+), 517 deletions(-)

commit f56582ef06bbf56edcc6ecc26698abaeba1306b0
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Apr 18 17:50:36 2007 -0400

    Put back __inline definition for MSC compilers, in both cairo and pixman
    Apparently it's too much to expect people compiling on windows to fill
    in sensible values for config.h... /sigh

 pixman/src/pixmanint.h |   10 ++++++++--
 src/cairoint.h         |    2 ++
 2 files changed, 10 insertions(+), 2 deletions(-)

commit a54b6ed0784dd00375424e581bc7349dd8a2a2d9
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Apr 18 17:45:31 2007 -0400

    [pixman] Rename icint.h to pixmanint.h

 pixman/src/Makefile.am             |    4 +-
 pixman/src/check-pixmanint.sh      |   17 +
 pixman/src/fbcompose.c             |    4 +-
 pixman/src/fbedge.c                |    4 +-
 pixman/src/fbmmx.c                 |    4 +-
 pixman/src/fbpict.c                |    4 +-
 pixman/src/fbtrap.c                |    4 +-
 pixman/src/icblt.c                 |    4 +-
 pixman/src/icbltone.c              |    4 +-
 pixman/src/iccolor.c               |    6 +-
 pixman/src/icformat.c              |    6 +-
 pixman/src/icimage.c               |    4 +-
 pixman/src/icpixels.c              |    4 +-
 pixman/src/icrect.c                |    6 +-
 pixman/src/icstipple.c             |    4 +-
 pixman/src/ictransform.c           |    6 +-
 pixman/src/ictrap.c                |    5 +-
 pixman/src/ictri.c                 |    5 +-
 pixman/src/icutil.c                |    4 +-
 pixman/src/pixman-xserver-compat.h |    4 +-
 pixman/src/pixman.h                |    4 -
 pixman/src/pixmanint.h             | 1070 ++++++++++++++++++++++++++++++++++++
 pixman/src/pixregion.c             |    4 +-
 pixman/src/renderedge.c            |    4 +-
 24 files changed, 1110 insertions(+), 75 deletions(-)

commit 48121e97ac4f0114a0d5bc35aec76d2aba23a783
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Apr 18 17:04:07 2007 -0400

    [cairoint.h] Define WARN_UNUSED_RESULT if undefined

 src/cairoint.h |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit a396e0b05731db3acbf1e8d82ab77592b697e417
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 18 14:24:10 2007 +0100

    cairo-perf - add the missing newline.
    
    Oops, missed out the newline for the fprintf in the previous commit.

 perf/cairo-perf.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 383e9d5368706168498a87d1b7f023f2b59c2f92
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 18 14:12:20 2007 +0100

    cairo-perf - Check that the surface is created.
    
    Exit(1) if we fail to create the target surface.

 perf/cairo-perf.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

commit 7131f4e6aea11d94e38375a6be71887825008e48
Author: Dave Yeo <daveryeo@telus.net>
Date:   Tue Apr 17 15:30:20 2007 -0400

    [OS2] Fix #include "cairo-mutex-list-private.h"

 src/cairo-os2-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit f7a2787685d640dd35ef7ef1314c4e754771c512
Merge: 2efaf3a... cab4d41...
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Mon Apr 16 23:05:10 2007 +0200

    Merge branch 'master' of git+ssh://hasselmm@git.freedesktop.org/git/cairo

commit cab4d41cae4463841bca297a7e16c970633c8c21
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Apr 16 16:57:24 2007 +0100

    create-for-stream - free resources after test failure.
    
    create-for-stream often fails whilst running under valgrind due to the
    postscript output containing a CreationDate with seconds resolution,
    hence the visibility of the resource leaks during failure.

 test/create-for-stream.c |   37 ++++++++++++++++++++-----------------
 1 files changed, 20 insertions(+), 17 deletions(-)

commit 9d435d5fbfae0f64053f6596f73410bc352cd2de
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Apr 16 15:42:07 2007 +0100

    Add suppression for leak from XauFileName.
    
    The string is statically allocated by XauFileName() and so ignore the fact
    that is not freed upon termination.

 test/.valgrind-suppressions |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit 3a3fb0031decec26260cd94e60f1b0bf06541a6d
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Apr 16 15:08:54 2007 +0100

    Update .gitignore
    
    Add .*.sw? (vim swapfiles).
    Add *~ (backup files).
    Add *.gcno and *.gcda (gcov intermediates).

 .gitignore             |    1 +
 boilerplate/.gitignore |    4 ++++
 perf/.gitignore        |    4 ++++
 src/.gitignore         |    1 +
 test/.gitignore        |    3 +++
 5 files changed, 13 insertions(+), 0 deletions(-)

commit 7ff95c7230471be3ffa231ebc71e1d63ba4621b0
Author: Kouhei Sutou <kou@cozmixng.org>
Date:   Mon Apr 16 02:48:14 2007 -0400

    Support MinGW DLL compilation

 configure.in              |    1 +
 src/cairo-win32-surface.c |    4 ++++
 2 files changed, 5 insertions(+), 0 deletions(-)

commit ca9df759b4eda8f19a92b2e0b1092fa7b618d25b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sat Apr 14 15:28:29 2007 +0100

    Change of email address.
    
    Update to my new email address and drop my old work one.

 AUTHORS |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 96ee8d5ebe6c6494a140c5424137f26de5fd5d85
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Apr 13 17:47:25 2007 -0700

    Update version to 1.4.5 after the 1.4.4 release

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ebba4a6d1467a8e5db5cc43eb08e8fc98c39b30a
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Apr 13 17:37:14 2007 -0700

    Increment version to 1.4.4 (and library versioning to 13:2:11)

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit e21a58ce4c2f550198de9ed35f7a37df764e7cdf
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Apr 13 17:36:31 2007 -0700

    NEWS: Add notes for cairo 1.4.4

 NEWS |   91 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 91 insertions(+), 0 deletions(-)

commit e1a1f6ff251582b2293098a55953f81a13bb9cc0
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Apr 13 16:37:52 2007 -0700

    AUTHORS: Update descriptions for Mathias Hasselmann and Chris Wilson
    
    Both have contributed a tremendous amount of effort to cairo 1.4.4.
    Well done!

 AUTHORS |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit ef3e13337e513cf470801cff5cd2b8fdcff1b6eb
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Apr 13 13:34:20 2007 -0700

    cairo-perf-diff: Use median not minimum to report differences
    
    Ideally, the minimum value would indicate the best possible performance,
    but I've encountered situations where a bogus minimum value gets lodged
    into the cached results for some reason, (and yet doesn't also get
    discarded as an outlier). The downside of that situation is that running
    more iterations never changes the result, so it's hard to fix the problem,
    (resulting in cairo-perf-diff feeling just plain broken as more runs
    change nothing).
    
    So let's try using the median time instead.

 perf/cairo-perf-diff-files.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 7ead3e64f17fe302398ec60c61eaeaae4e9b18cf
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 13 16:34:31 2007 -0400

    [ROADMAP] Put back bug 10508 into 1.4.4 roadmap and mark it fixed
    
    Yay!

 ROADMAP |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 84c10a79ffd233a953434bd787dcfe57787552f8
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 13 16:33:07 2007 -0400

    [cairo-pattern] Slightly hackish fix for bug #10508
    
    The so-attributed-to-X-server bug was that cairo maps the drawing
    region to the pattern space, rounds the box, and uploads only that
    part of the source surface to the X server.  Well, this only works for
    NEAREST filter as any more sophisticated filter needs to sneak a peek
    at the neighboring pixels around the edges too.
    
    The right fix involves taking into account the filter used, and the
    pattern matrix, but for most cases, a single pixel should be enough.
    Not sure about scaling down...
    
    Anyway, this is just a workaround to get 1.4.4 out of the door.  I'll
    commit a proper fix soon.

 src/cairo-pattern.c |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

commit fcf49a56130ede8c6aa9f84a8c59ecef54714b7b
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Apr 13 12:02:11 2007 -0700

    boilerplate: Cleanup conditional compilation ofcairo-quartz-boilerplate.c
    
    It's much nicer to use automake to conditionally compile a file,
    instead of always compiling it and conditionally having the compiler
    see an empty file.

 boilerplate/Makefile.am                        |    6 +++-
 boilerplate/cairo-boilerplate-private.h        |   45 ------------------------
 boilerplate/cairo-boilerplate.c                |    5 ++-
 boilerplate/cairo-quartz-boilerplate-private.h |   41 +++++++++++++++++++++
 boilerplate/cairo-quartz-boilerplate.c         |    6 +---
 5 files changed, 51 insertions(+), 52 deletions(-)

commit cea107c9800a4414f57a874dd52924efdff725ec
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Apr 13 11:28:21 2007 -0700

    Punt bug #10508 off of 1.4.4
    
    It looks like this is an X server bug, and we don't have an
    imminent fix. Meanwhile, the bug is avoidable by preferring
    to use xlib surface sources for transformed rendering to xlib
    instead of using image surface sources.

 ROADMAP |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 4e3be548615f8ce8a45f0e887f19eb39ba21f8a4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 12 21:34:49 2007 -0400

    [cairo-pattern] Add a TODO item to code

 src/cairo-pattern.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

commit ec639449de9b630cdb4e7bca4ba8487b3a263184
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 12 18:16:52 2007 -0700

    Fix typo in loop control for computation of std. deviation
    
    Thanks to Chris Wilson for pointing out this problem.

 perf/cairo-stats.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 537a795b3b5698d4aa02f2f14e479e9bfd27fe0d
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 12 17:01:41 2007 -0700

    Remove ft-text-vertical-layout-type1
    
    This test can fail if the wrong font is loaded, but that's no
    different than many other text tests---so it doesn't really
    deserve special XFAIL treatment because of that.

 test/Makefile.am |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 04164c996cad242a25c2af596ffcd3b07ba19289
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 12 20:14:23 2007 -0400

    [cairo-surface] Make sure cairo_surface_get_font_options() fully initializes
    the font_options passed in.

 src/cairo-surface.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 7224e1a6e6eb474a3809d07f9540c959b3da10b2
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 12 17:54:32 2007 -0400

    [image] Set hint-metrics on in default font options

 src/cairo-image-surface.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

commit 57434e249aba93f3b478a3c701e260093711d13f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 12 17:45:33 2007 -0400

    [xlib] Turn metrics-hinting on by default

 src/cairo-xlib-screen.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 8a4c108a4be6c4650cefe80e68d4c9974ccc27ba
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 12 22:19:03 2007 +0100

    Add a reference count to cairo_xlib_screen_info_t
    
    Due to the interaction between multiple threads showing glyphs and
    asynchronous CloseDisplays, it is possible for a font to maintain a
    cairo_xlib_screen_info_t beyond the CloseDisplay. The simple solution
    is to add a reference count in order to track the lifetime of the
    cairo_xlib_screen_info_t correctly.

 src/cairo-xlib-private.h |    6 +++
 src/cairo-xlib-screen.c  |   77 +++++++++++++++++++++++++++++++++++----------
 src/cairo-xlib-surface.c |    4 ++
 3 files changed, 70 insertions(+), 17 deletions(-)

commit 50ef5bcf7b5e6cc903f9247256fbd4439887ab5e
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 12 13:44:32 2007 -0700

    Revert cairo_public_warn addition to cairo.h
    
    This new feature isn't appropriate for a minor cairo release,
    (we're between 1.4.2 and 1.4.4 right now), but will make a
    lot of sense during 1.5.
    
    The code being reverted here was originally added with the
    following commit:
    
    	46eab95698e101e41407778eda22089b508a8984
    
    but this change reverts only the public-facing parts of it.

 configure.in |   11 -----------
 src/cairo.h  |   40 ++++++++++++++++++++--------------------
 2 files changed, 20 insertions(+), 31 deletions(-)

commit 35bb2152c06ef2621b14a8b2153cc327be8b43a1
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 12 21:30:39 2007 +0100

    Hold the scaled_font->mutex whilst operating on the shared members.
    
    Obey the locking rules whilst resetting the scaled_font after a
    CloseDisplay.

 src/cairo-xlib-surface.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

commit 97d897a7475f540ad901cb2a2cd6885e885ee02a
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 12 21:17:42 2007 +0100

    cairo_xlib_close_display - drop the mutex whilst calling the hooks
    
    In order to avoid recursive dead-locks where whilst one thread holds the
    scaled font lock and is waiting on the XLockDisplay() another thread catches
    the CloseDisplay and then tries to acquire the scaled font lock, we drop
    the list mutex whilst processing the callbacks.

 src/cairo-xlib-screen.c |   33 ++++++++++++++++++++++++---------
 1 files changed, 24 insertions(+), 9 deletions(-)

commit 13b0aa669fd9ce6abc930730a941782e2baba215
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 12 13:29:56 2007 -0700

    Rebuild doc/public/Headers.mk
    
    Add a sort so that future update changes will be more legible.

 doc/public/Headers.mk  |   47 ++++++++++++++++++++++++-----------------------
 doc/public/Makefile.am |    3 ++-
 2 files changed, 26 insertions(+), 24 deletions(-)

commit ae80d375f829b076a8d1450c54b00b3750428366
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 12 13:02:26 2007 -0700

    Rename cairo-mutex-list.h to cairo-mutex-list-private.h
    
    Also add it (and cairo-mutex-private.h) to Makefile.am
    where they should have been.

 src/Makefile.am                |    2 +
 src/cairo-mutex-list-private.h |   50 ++++++++++++++++++++++++++++++++++++++++
 src/cairo-mutex-list.h         |   50 ----------------------------------------
 src/cairo-mutex-private.h      |    2 +-
 src/cairo-mutex.c              |    2 +-
 5 files changed, 54 insertions(+), 52 deletions(-)

commit 29adf591b7026092a809e9a27878b5b4e35051fb
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 12 12:47:27 2007 -0700

    move show-glyphs-many to the DISABLED_TESTS list
    
    And add a detailed comment explaining the reasons for disabling each
    test in the list.

 test/Makefile.am |   62 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 43 insertions(+), 19 deletions(-)

commit c5b2f9d5c22c2259a11f0cbfbca8128cd3ac5794
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 12 01:22:49 2007 +0100

    cairo_xlib_screen_info_t - always perform an exact match
    
    This ensures that only one cairo_xlib_screen_info_t holds the
    close_display_hooks, an assumption used later.

 src/cairo-xlib-screen.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 8c9f0f607b992c47b555b5eaff3c599a8c1eac57
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 12 01:21:03 2007 +0100

    cairo-xlib-screen - avoid dereferencing a NULL screen.
    
    Do not initialize font options when setting up the
    cairo_xlib_screen_info_t corresponding to the display itself and not
    associated with any screen. This avoids a potential NULL dereferences.
    
    (Fixes https://bugs.freedesktop.org/show_bug.cgi?id=10517)

 src/cairo-xlib-screen.c |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

commit dc1de86680b59def00ce1e9f11997cf554cdfec1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 12 15:06:37 2007 -0400

    [ROADMAP] Add cairo_object_t

 ROADMAP |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 12b962d648d307d7a6b94035b6c4ffdeaadd68e2
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 12 14:56:36 2007 -0400

    [ROADMAP] Mark bug #5777 as fixed

 ROADMAP |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e391d3eaee65d65f267f86d1ef1e1fd8898e6556
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 12 14:42:41 2007 -0400

    [test] Disable text-glyph-range that was crashing
    
    Disabled tests are defined in DISABLED_TESTS.  This has the benefit
    that they will still be buildable and be shipped.  Just not run by
    default.

 test/Makefile.am |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

commit d3c7942fb271fe8d1df7ca3205b41601abdcb5c8
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 12 14:22:02 2007 -0400

    [pixman] Mark some small functions that are called per-pixel inline
    
    These uses were introduced in the previous commit.

 pixman/src/fbcompose.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit e3b3d22999a130f7017e8e20a432a0d8a7f48f3b
Author: David Reveman <davidr@novell.com>
Date:   Thu Apr 12 14:14:12 2007 -0400

    [pixman] Fix fbcompose.c that was broken for some composite operations (#5777)

 pixman/src/fbcompose.c |  244 ++++++++++++++++++++++++++++++------------------
 1 files changed, 151 insertions(+), 93 deletions(-)

commit c8d2d1e8764c7ba754e46a3af68af2b4460d2e04
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Thu Apr 12 10:51:17 2007 -0700

    add licenses to test files

 test/composite-integer-translate-over-repeat.c |   26 ++++++++++++++++++++++++
 test/composite-integer-translate-source.c      |   26 ++++++++++++++++++++++++
 2 files changed, 52 insertions(+), 0 deletions(-)

commit e240048a14333d5c61a0d4ae5c30acd12bcb5805
Merge: 29a1fe1... 977a898...
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Wed Apr 11 21:43:15 2007 -0700

    Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo

commit 29a1fe12cf33a68713a4ddf7f59217fd40f6e967
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Wed Apr 11 21:42:57 2007 -0700

    Fixed compile error from missing directfb.h include

 src/cairo-directfb.h |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 977a8982ab17760af0d69cb2e018ed50f4c7b992
Author: Kristian Høgsberg <krh@redhat.com>
Date:   Wed Apr 11 23:49:01 2007 -0400

    Add missing copyright notice.

 test/pixman-rotate.c |   26 ++++++++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)

commit 9193b29645ef1625a599471e3b0cb5279d2c05cb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Apr 11 23:30:31 2007 -0400

    [ROADMAP] Mark done items

 ROADMAP |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 284edb86484de8ccf3adf35d5cb9ff6ba64759ec
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 12 03:01:31 2007 +0100

    Do not raise an error if we fail to locate 'find' or 'xargs'
    
    Whilst not being able to delete all of the test output is messy it is
    however not fatal, so do not abort configuration simply because we
    cannot find either program.

 configure.in     |    6 ++----
 test/Makefile.am |   15 +++++++++------
 2 files changed, 11 insertions(+), 10 deletions(-)

commit a8974223dc6376a11588c6ecf1e54da5329b9c72
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 12 02:29:33 2007 +0100

    Check for find and xargs during configure
    
    Replace hard-coded find, xargs and rm with the paths determined during
    configure. This also gives us an opportunity to detect missing programs
    and inform the developer.

 configure.in     |    9 +++++++++
 test/Makefile.am |   12 ++++++------
 2 files changed, 15 insertions(+), 6 deletions(-)

commit 632ec8088cef5e9d4c2ff2886cfd550d706433e4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Apr 11 20:18:11 2007 -0400

    [test] Add copyright headers for my tests

 test/extend-pad.c                 |   26 ++++++++++++++++++++++++++
 test/surface-pattern-scale-down.c |   26 ++++++++++++++++++++++++++
 test/surface-pattern-scale-up.c   |   26 ++++++++++++++++++++++++++
 test/surface-pattern.c            |   26 ++++++++++++++++++++++++++
 4 files changed, 104 insertions(+), 0 deletions(-)

commit 82397a631410af343f14cafdb31f48de9373f4a7
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Apr 12 00:55:04 2007 +0100

    Avoid using GNU find extensions.
    
    Replace the complex single find with a series of simple but POSIX correct
    equivalents.

 test/Makefile.am |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

commit 06382092e5e911ad2648f26e8ba5a6f8f7953e1b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Apr 11 19:42:34 2007 -0400

    [pdiff] Ship gpl.txt

 test/pdiff/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit c8645c85de94b83fe2fd60a4d881cb639eb79b46
Merge: be98123... 52435e9...
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 11 16:38:46 2007 -0700

    Merge branch 'master' of git.cairographics.org:/git/cairo into cairo

commit 52435e99f31f06c18273a5a7351a2c21f7c0ecf6
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 11 23:34:24 2007 +0100

    Move pixman_format_t from heap to stack allocations.
    
    pixman_format_t is a simple structure used in short-term allocations and
    suitable for on-stack allocation.
    
    Killing the pixman_format_create()/pixman_format_destroy() pairs avoid
    around 6% of the allocations during cairo-perf (e.g. 426,158 allocs out
    of a total of 7,063,469).

 pixman/src/icformat.c     |  118 +++++++++++++++------------
 pixman/src/icint.h        |   12 +---
 pixman/src/icrect.c       |    2 +-
 pixman/src/ictrap.c       |   36 +++-----
 pixman/src/ictri.c        |  199 +++++++++++++++------------------------------
 pixman/src/pixman.h       |   27 ++++---
 src/cairo-image-surface.c |  103 ++++++++++--------------
 7 files changed, 202 insertions(+), 295 deletions(-)

commit be98123b2c30a3102629afff74b9233c18e0535d
Merge: efedf57... a6506c6...
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 11 16:02:08 2007 -0700

    Merge cached-scaled-font-in-error into cairo
    
    Conflicts:
    
    	src/cairo-scaled-font.c

commit a6506c67f24331c703dd56502a1bc4504b7b2311
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 23:27:52 2007 +0100

    Don't return scaled fonts in the error state from the cache.
    
    It is possible for a scaled_font to be flagged as in error, though only
    through a "true error" e.g. a malloc failure. However, when returning a font
    from the cache it should not be in error. So if we find a error font in the
    cache we remove it and return a new font.

 src/cairo-scaled-font.c |   55 +++++++++++++++++++++++++++-------------------
 1 files changed, 32 insertions(+), 23 deletions(-)

commit efedf57f43540ad79eddcc5ee79dc0d86846891e
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 11 15:25:18 2007 -0700

    cairo-truetype-subset.c: Add missing error checks and propagation
    
    These are all to satisfy new warnings caused by the preceding commit,
    (which added cairo_warn to various function tables). While fixing the
    propoagation, fix functions to declare a return type of cairo_status_t
    instead of int.

 src/cairo-truetype-subset.c |  178 +++++++++++++++++++++++++++++--------------
 1 files changed, 120 insertions(+), 58 deletions(-)

commit e6ca34e718859b40dc8eb75a6c68b056751a6deb
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 22:59:10 2007 +0100

    Mark function tables with attribute(warn_unused_result)

 src/cairo-paginated-surface-private.h |    2 +-
 src/cairoint.h                        |   52 ++++++++++++++++----------------
 2 files changed, 27 insertions(+), 27 deletions(-)

commit 3bc413343a0b846c9501ee870db0424412aea701
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 11 01:08:17 2007 +0100

    Define cairo_public_warn in terms of cairo_public.
    
    By defining cairo_public_warn as an extension of cairo_public, the
    programmer need only to override cairo_public in order to export the
    complete API for different architectures i.e. existing configurations
    will continue to work with no alterations.

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 54134dd901d6dc94aa56d45486223e7d4f6ba569
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Apr 10 23:09:13 2007 +0100

    Only enable warn-unused-result for recent gcc
    
    The attribute was introduced with gcc-3.4, but the ability to suppress
    warnings from misapplied attributes (-Wno-attributes) was only introduced
    later. Without the supression, gcc will emit tens of warnings for each
    compilation completely drowning the real errors that the programmer
    must see.

 configure.in        |   19 +++++++++++++++++--
 pixman/src/pixman.h |   10 +++++++---
 src/cairoint.h      |   13 ++++++-------
 3 files changed, 30 insertions(+), 12 deletions(-)

commit f53c2b418cb4a36fbc1c30cdb1bf0ba9dba77bd0
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Apr 9 16:24:11 2007 +0100

    _pixman_create_source_image() - check for malloc failure
    
    Fix an unchecked malloc by propagating the NULL pointer up to its callers,
    which were already checking for failures.

 pixman/src/icimage.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit d0745c08b782d79fc7ccfd59cab0ae841a56c428
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Apr 12 06:32:29 2007 +0930

    PDF: Fix glyph positioning bug when glyphs are not horizontal
    
    Bug reported in
    http://lists.freedesktop.org/archives/cairo/2007-April/010337.html

 src/cairo-pdf-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e36794ad34282a4d671d7cc5527e9c650c2736fe
Merge: b692472... b745126...
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 11 13:15:57 2007 -0700

    Merge branch 'warn-unused-result' into cairo

commit b745126a04c126acc695e8abb6372c1890b03f07
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 11 12:26:21 2007 +0100

    Use find | xargs to overcome shell command line limit.
    
    Once again we have hit the command line limit with the sheer volume of
    generated test output. So replace the glob with a find which has the
    additional advantage of only needing to walk the tree once to generate
    the file lists - this begins to be noticeable with such large directories.

 test/Makefile.am |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

commit 61b8e346135f8b61b22257541c97b9f262c17826
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 11 11:59:27 2007 +0100

    Unexport fbSolidFillmmx and fbCopyAreammx.
    
    By unexporting these function we have exact control over their call sites
    and so can convert the initial guards into asserts which transforms the
    two functions to return unconditional success and hence conversion to
    void.

 pixman/src/fbmmx.c        |  215 +++++++++++++++++++++------------------------
 pixman/src/fbmmx.h        |   19 ----
 pixman/src/pixman-remap.h |    1 -
 3 files changed, 101 insertions(+), 134 deletions(-)

commit efee2087387ba49e36d8d6104c4e2dd3ffeba081
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 11 11:26:27 2007 +0100

    Propagate errors up through pixman_composite_trapezoids()
    
    Change the return type to indicate errors detected during
    pixman_composite_trapezoids() and add checking for failures during
    region ops.

 pixman/src/ictrap.c |   37 +++++++++++++++++++++----------------
 pixman/src/pixman.h |    2 +-
 2 files changed, 22 insertions(+), 17 deletions(-)

commit bec097b5e281fcf2453de53946e89c13b37ecd1a
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 11 11:13:30 2007 +0100

    Propagate region errors from pixman_color_rects().
    
    Region operations within pixman_color_rects can fail, so cleanup and
    propagate.

 pixman/src/icrect.c       |   74 +++++++++++++++++++++++++++++++++-----------
 pixman/src/pixman.h       |    4 +-
 src/cairo-image-surface.c |    6 ++-
 3 files changed, 61 insertions(+), 23 deletions(-)

commit 909334ee00701e18b2f2033b1c3a27714ce988fb
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 11 10:45:55 2007 +0100

    FbClipImage* should check for errors during region operations.
    
    Propagate the error from pixman_region_intersect().

 pixman/src/icimage.c |   18 ++++++++++++++----
 1 files changed, 14 insertions(+), 4 deletions(-)

commit 5b67efcbd8acad60080129e0a8a307671b18b4fc
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 11 10:38:09 2007 +0100

    Propagate region failures during pixman_image_set_clip_region().
    
    Operating on regions can fail so check the status and return an error,
    after any necessary cleanup.

 pixman/src/icimage.c |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

commit e1abc3c26dd797ba9a888362713c5e5c1257867b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 11 09:51:58 2007 +0100

    Provide a private entry point for cairo_scaled_font_status().
    
    Add slim_hidden* markup for cairo_scaled_font_status() as we now use
    it internally.

 src/cairo-scaled-font.c |    1 +
 src/cairoint.h          |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

commit 054c28a09de2c8ec2dc7111d786bca41a94f5a83
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 11 02:26:08 2007 -0700

    boilerplate: Add error checking for cairo_surface_write_to_png

 boilerplate/cairo-boilerplate.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

commit 0a54ca2d2340c55896ee6951efe6917322813431
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 11 02:22:22 2007 -0700

    boilerplate: Add error checking for cairo_surface_set_user_data

 boilerplate/cairo-boilerplate.c |   26 ++++++++++++++++++++++----
 1 files changed, 22 insertions(+), 4 deletions(-)

commit 5661de9e1c93bd548b400de2619b6de6133d6483
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 11 02:08:36 2007 -0700

    SVG: Add missing error checking for calls to _cairo_output_stream_destroy

 src/cairo-svg-surface.c |   28 +++++++++++++++++++++-------
 1 files changed, 21 insertions(+), 7 deletions(-)

commit 8d5aa0fb8d3ac6302dd5e832425f3285ad84280a
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 11 02:03:10 2007 -0700

    SVG: Add missing error checks and propagation
    
    The function calls that get the new treatment here are:
    
    	_cairo_meta_surface_replay
    	_cairo_surface_show_page
    	_cairo_array_append
    
    all within _cairo_svg_surface_emit_meta_surface

 src/cairo-svg-surface.c |   39 +++++++++++++++++++++++++++++----------
 1 files changed, 29 insertions(+), 10 deletions(-)

commit 9c810625e796704e32e76caae18d2129219f46db
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 11 01:55:59 2007 -0700

    PDF: Added error checking and propagation for _cairo_array_append

 src/cairo-pdf-surface.c |   89 +++++++++++++++++++++++++++++-----------------
 1 files changed, 56 insertions(+), 33 deletions(-)

commit 5ae82deb6942fae1515740551c71e9eb24750a7c
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 11 01:47:21 2007 -0700

    PS: Add missing check for return value of _cairo_meta_surface_replay
    
    Here we have to change the return type of a couple of functions in
    order to propagate the error condition.

 src/cairo-ps-surface.c |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

commit 8c31cca2af11c544a6028bf42c2187625b978f56
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 11 01:42:02 2007 -0700

    PS: Add missing checks for return value of _cairo_pattern_get_extents
    
    Propagation is extremely straightforward in this case.

 src/cairo-ps-surface.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

commit 01ac5f1aea298434b617d935512e2e72033989fd
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 11 01:35:11 2007 -0700

    Assert that cairo_matrix_invert succeeds rather than ignoring tis return value
    
    This assertion is safe as an internal consistency check thanks to
    the recent checks added to cairo_pattern_set_matrix.

 src/cairo-pdf-surface.c |    4 +++-
 src/cairo-ps-surface.c  |    5 ++++-
 2 files changed, 7 insertions(+), 2 deletions(-)

commit bd0b328f7e07b3a292190aef6f82622800230f6f
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 22:55:00 2007 -0700

    test/invalid-matrix: Add new test to exercise CAIRO_STATUS_INVALID_MATRIX paths
    
    This new test exercises every path where the user might possibly
    pass in an invalid matrix. Currently the test fails if no error
    is reported. Also, if an incorrect error is reported, (such as
    CAIRO_STATUS_NO_MEMORY instead of CAIRO_STATUS_INVALID_MATRIX),
    this is logged as a warning in invalid-matrix.log, but the test
    still passes.
    
    It would still be worthwhile to follow up quickly and fix those
    cases to propagate the correct error value.

 test/.gitignore       |    1 +
 test/Makefile.am      |    1 +
 test/invalid-matrix.c |  142 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 144 insertions(+), 0 deletions(-)

commit a6186604f794f2746089abc9c1716384c23aafc4
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 22:52:37 2007 -0700

    cairo_pattern_set_matrix: Validate that matrix is invertible
    
    If not, set an error in the pattern.

 src/cairo-pattern.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

commit 8e72852f0b9f2cd8558eb6c11acb326e73fceb12
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 22:51:44 2007 -0700

    _cairo_gstate_ensure_scaled_font: Add missing propagation for error hiding inside the scaled_font

 src/cairo-gstate.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 2f1221e0f225f305c3f9c8e7311fe8f3fecab34b
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 22:50:46 2007 -0700

    _cairo_gstate_ensure_scaled_font: Prefer to treat a pointer as a pointer, not a Boolean value

 src/cairo-gstate.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit dca69f73e3a11d397a701f82331d5aaa7194bd7f
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 17:16:39 2007 -0700

    Check (and assert) return values of cairo_matrix_invert
    
    Now that we have matrix validation at the time of _cairo_scaled_font_init
    we know that it is safe to invert this matrix.

 src/cairo-pdf-surface.c |    5 ++++-
 src/cairo-ps-surface.c  |    5 ++++-
 2 files changed, 8 insertions(+), 2 deletions(-)

commit 4ce2b62bcea49eccc0a4ee3781a115e4a34d3ad4
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 17:12:51 2007 -0700

    _cairo_scaled_font_init: Detect an invalid matrix and return an error.
    
    Also fix all callers to notice and propagate the error, (though
    some paths will still lose the CAIRO_STATUS_INVALID_MATRIX value
    due to a return value of NULL at one point).

 src/cairo-atsui-font.c  |    9 +++++++--
 src/cairo-scaled-font.c |   24 +++++++++++++++++-------
 src/cairo-win32-font.c  |   10 ++++++----
 3 files changed, 30 insertions(+), 13 deletions(-)

commit fd8c1e4dc851dd4ce8f84a3e47abdc4906c83b0f
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 16:43:50 2007 -0700

    Fix cairo_scaled_font_create to return a nil scaled font, not NULL

 src/cairo-scaled-font.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 0f0ed88ee26f22c1b0e0ec7c95b8a258d137dde4
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 23:01:55 2007 -0700

    paginated: Add missing error check for _cairo_surface_show_page
    
    Fixing this uncovered a leak of a CAIRO_INT_STATUS_UNSUPPORTED value
    up to cairo_show_page, (and similarly to cairo_copy_page). There was
    really no good reason for _cairo_surface_show_page and
    _cairo_surface_copy_page to be returning cairo_int_status_t. Fix
    this by simply handling the UNSUPPORTED return at the surface layer
    instead of the gstate layer.

 src/cairo-gstate.c            |   20 ++------------------
 src/cairo-paginated-surface.c |    4 +++-
 src/cairo-surface.c           |   16 ++++++----------
 src/cairoint.h                |    4 ++--
 4 files changed, 13 insertions(+), 31 deletions(-)

commit 381f0bcafc86cefa665368cbbe2026adda1d98c9
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 16:33:34 2007 -0700

    paginated: Add missing error check for _cairo_surface_get_extents

 src/cairo-paginated-surface.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 41911002d754f187618ab310ab93c85c4b038943
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 16:32:09 2007 -0700

    test-meta-surface.c: Fix memory leak on error recovery path.

 src/test-meta-surface.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit d954e4c1488c6478852dcc02641e66df1d4e9317
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 16:31:21 2007 -0700

    Fix indentation of CLEANUP_IMAGE label.

 src/cairo-paginated-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c011c37ba086f0c8d0dac6437318822927543955
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 16:30:43 2007 -0700

    paginated: Fix missing errors checks for _cairo_meta_surface_replay

 src/cairo-paginated-surface.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

commit e73a55ad3cc30b0ea69379b12283515523015751
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 14:17:42 2007 -0700

    cairo-truetype-subset: Fix missing error propagation

 src/cairo-truetype-subset.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 97b8fd8117160cfea9864c81cbb8a06b321618f1
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 14:16:01 2007 -0700

    cairo-truetype-subset: Check resturn value from _cairo_array_append and propagate

 src/cairo-truetype-subset.c |   28 ++++++++++++++++++++++++----
 1 files changed, 24 insertions(+), 4 deletions(-)

commit 84639e563ddfbd70ca48dcde4d3631418fd1cd82
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 14:11:43 2007 -0700

    test-meta-surface: Add missing check for error from _cairo_surface_get_extents

 src/test-meta-surface.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 866b2296b4a8b347011f1c8ae2e0f3a987a29d0c
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 14:09:56 2007 -0700

    test-meta-surface: Add missing checks for errors from _cairo_meta_surface_replay

 src/test-meta-surface.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

commit ec1fc931257ff90fe190c52ed0a3bed9f218c350
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 13:59:42 2007 -0700

    Add missing error check of return value of _cairo_path_fixed_close_path

 src/cairo-ft-font.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 3d21037a8fb69bde0765871f53fe461ac397367e
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 13:57:41 2007 -0700

    Add assertion check to quiet warn_unused_result warning.
    
    This is a somewhat useful internal consistency check.

 src/cairo-xlib-surface.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit 2f468677160080e9dd1db52a2ad7ca4adbf48149
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 13:53:58 2007 -0700

    Rename _cairo_pdf_surface_emit_toUnicode_stream to eliminate StudlyCaps
    
    Obviously, the new name is _cairo_pdf_surface_emit_to_unicode_stream which
    is consistent with the to_unicode_stream identifiers already existing in
    the implementation.

 src/cairo-pdf-surface.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit cc6c115e3c5b931be4ab0210ce7f8cecaccf6241
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 13:51:46 2007 -0700

    PDF: Check return value of _cairo_output_stream_destroy and propagate

 src/cairo-pdf-surface.c |   56 +++++++++++++++++++++++++++++-----------------
 1 files changed, 35 insertions(+), 21 deletions(-)

commit 8873928f09a78d3e6e8e57d5d4e0b94cf1f78ab7
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 13:40:04 2007 -0700

    PS: Add missing error checks for _cairo_output_stream_destroy

 src/cairo-ps-surface.c |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

commit ab5eccbbf6cc361e864e0d75c0299cf7b5d6122d
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 13:28:48 2007 -0700

    Make _cairo_clip_reset void
    
    Yet another unconditionally successful function---so it's easier to return nothing.

 src/cairo-clip-private.h |    2 +-
 src/cairo-clip.c         |    4 +---
 src/cairo-gstate.c       |    4 +++-
 src/cairo-meta-surface.c |    2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

commit 7a0ae5b7057798106b5e1a82431178f6c5f148e7
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Apr 10 21:09:36 2007 +0100

    Disable warnings for cairo_*_reference functions.
    
    This class of functions modify their argument and return it as a
    *convenience* for the caller. For example, within cairo a common idiom is:
    
        cairo_object_reference (new);
        cairo_object_unreference (this->obj);
        this->obj = new;
    
    which updates the member to the new object irrespective of whether the
    new object is the same as the one being replaced. Other issues arise
    with subtypes, as the return type is the parent's and so require more
    complicated handling to compile cleanly.
    
    Disabling the warning is therefore preferred over adding code which
    decreases readibility and reduces maintainability. We need to make the
    compiler work for us, not against us...

 src/cairoint.h |   26 +++++++++++++++-----------
 1 files changed, 15 insertions(+), 11 deletions(-)

commit b82e595449e6eebbe6024454aaaaee31e6c43c73
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Apr 9 15:31:28 2007 +0100

    pixman region operations can fail, propagate the error.
    
    Copying the clip region could fail, add error returns and propagate up
    the call stack.

 src/cairo-clip-private.h |    4 +-
 src/cairo-clip.c         |   53 +++++++++++++++++++++++++++++++++-------------
 src/cairo-gstate.c       |   14 +++++++++--
 src/cairo.c              |    2 +-
 src/cairoint.h           |    2 +-
 5 files changed, 53 insertions(+), 22 deletions(-)

commit b0a256aaf3f0fd4491a28fca797aef1ef4b1251d
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 13:07:09 2007 -0700

    Change _cairo_dtostr to have a void return type
    
    As previously implemented, there's no essential information in the
    return value from _cairo_dotostr, (the caller can simply use strlen
    to recompute the same value, which is what the only caller is already
    doing).
    
    There would be real information in a return value which would return
    the result from the call to snprintf for the case where the buffer is
    not large enough for the number being printed.

 src/cairo-output-stream-private.h |    2 +-
 src/cairo-output-stream.c         |    5 +----
 src/cairoint.h                    |    3 ---
 3 files changed, 2 insertions(+), 8 deletions(-)

commit 5303980f82431a9d084177998a68527b60610241
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 12:56:56 2007 -0700

    _cairo_output_stream_vprintf: Add assertion to detect internal inconsitency
    
    This will catch any inconsistency between the length of a single
    format specifier and the fixed size of the single_fmt buffer.

 src/cairo-output-stream.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

commit 97a69bc82e023d139d997ef69c7eba50d2708686
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 12:13:27 2007 -0700

    Fix mis-indented _cairo_dtostr

 src/cairo-output-stream.c |   64 ++++++++++++++++++++++----------------------
 1 files changed, 32 insertions(+), 32 deletions(-)

commit 5c95800cded4e906baf8ddd10bfb4abc59151b13
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 12:13:10 2007 -0700

    Fix mis-indented _cairo_traps_init_box

 src/cairo-traps.c |   30 +++++++++++++++---------------
 1 files changed, 15 insertions(+), 15 deletions(-)

commit 57188b4dcbcc2625dfc1817f8fe3b8ffeade5dc5
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 12:06:09 2007 -0700

    Fix cairo_traps_t status handling
    
    Add a _cairo_traps_status function and use it instead of adding
    error checks to callers of _cairo_traps_add_trap and
    _cairo_traps_add_trap_from_points, (both of which are now given
    a void return type).

 src/cairo-bentley-ottmann.c |   14 +++++++-------
 src/cairo-traps.c           |   24 ++++++++++++++----------
 src/cairoint.h              |    5 ++++-
 3 files changed, 25 insertions(+), 18 deletions(-)

commit 67bc608603b9baf8de8bcd2fedcf8ec315432a37
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 11:11:32 2007 -0700

    Add missing error checking to _trace_mask_to_path
    
    Note: It looks like it would be convenient to shove a status value
    into cairo_path_fixed_t to reduce this sequence of error checks.
    But I tried that first, and it actually makes things worse overall
    due to many things like _cairo_path_fixed_move_to called by
    cairo_move_to where the result must be immediately checked anyway.
    So I've already rejected that approach.

 src/cairo-scaled-font.c |   54 +++++++++++++++++++++++++++++++++++-----------
 1 files changed, 41 insertions(+), 13 deletions(-)

commit b1086caf3b108b0df19f70a2b6df161ad51bb280
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Apr 10 10:45:15 2007 -0700

    Add a status field to cairo_polygon_t
    
    Now, the functions to add new data to a polygon all become void,
    and there's a new _cairo_polygon_status call to query the status
    at the end of a sequence of operations.
    
    With this change, we fix many callerswhich were previously not
    checking the return values of _cairo_polygon functions by adding
    only a single call to _cairo_polygon_status rathern than several
    new checks.

 src/cairo-path-fill.c   |   36 ++++++++-------------------
 src/cairo-path-stroke.c |    8 +++++-
 src/cairo-pen.c         |    9 ++++---
 src/cairo-polygon.c     |   60 +++++++++++++++++++++++++---------------------
 src/cairoint.h          |   11 ++++++--
 5 files changed, 64 insertions(+), 60 deletions(-)

commit bff45ec9f90b5949a8ffa19cb03c140a08119e4d
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 9 17:44:12 2007 -0700

    Invert condition to more intuitive form.
    
    The idiom for checking the return value of malloc is:
    
    	if (pointer == NULL) { ... }
    
    rather than:
    
    	if (pointer != NULL) { ... }

 src/cairo-pattern.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit 01955a6e82ee28dd1377a3f2242aa2ddeebadac9
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 9 17:42:04 2007 -0700

    Rename ARRAY_LEN to ARRAY_LENGTH
    
    Yet another victim in my hunt against abbreviations within cairo's implementation.

 src/cairo-arc.c             |    2 +-
 src/cairo-atsui-font.c      |    4 ++--
 src/cairo-bentley-ottmann.c |    2 +-
 src/cairo-cff-subset.c      |    6 +++---
 src/cairo-hash.c            |    2 +-
 src/cairo-pattern.c         |    8 ++++----
 src/cairo-polygon.c         |    2 +-
 src/cairo-spline.c          |    4 ++--
 src/cairo-surface.c         |    2 +-
 src/cairo-svg-surface.c     |    2 +-
 src/cairo-traps.c           |    2 +-
 src/cairo-truetype-subset.c |    6 +++---
 src/cairoint.h              |    4 ++--
 13 files changed, 23 insertions(+), 23 deletions(-)

commit d317e8175de04c73c4a1f84db4a7e5354411ca06
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 9 17:38:17 2007 -0700

    Prefer FALSE over 0 for initializing a cairo_bool_t value

 src/cairo.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 9a33dab96988b94940a917921accc1bf19960a53
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 9 17:37:30 2007 -0700

    Fix an incorrectly indented condition

 src/cairo-xlib-surface.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 4bfc8c98ccf29fc11d11ee35996be9aab5a63f36
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 9 17:36:41 2007 -0700

    ATSUI: Fix broken error checks for NULL surface
    
    The cairo_image_surface_create function never returns NULL so
    the previous error checks would never have triggered. The correct
    approach is to check the result of cairo_surface_status().

 src/cairo-atsui-font.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

commit bd98295100ce84a9dfffd16bc6e50ef0ced4d4bc
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 9 17:30:06 2007 -0700

    Add a couple of missing newline characters
    
    A return statement that's not at the end of a function really needs
    a line of whitespace after it.

 src/cairo-bentley-ottmann.c |    1 +
 src/cairo-type1-fallback.c  |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

commit a7d8e52cc4be2376429f567abc2be853da7d5fbc
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 9 17:24:18 2007 -0700

    Cleanup multi-line if condition
    
    The standard idiom of assigning to a local status variable looks much,
    much nicer here.

 src/cairo-path.c |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

commit 7c97696af98a6dab9e0c5cdc72ff08c19892c95f
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 9 17:16:30 2007 -0700

    Make _cairo_path_bounder_add_point void
    
    Yet another function that cannot fail under any circumstances.

 src/cairo-path-bounds.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

commit 93776772edbadeab90ea199a115750310be91e4e
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 9 17:15:33 2007 -0700

    Make _cairo_matrix_compute_scale_factors void
    
    Yet another function that cannot fail under any circumstances.

 src/cairo-matrix.c |    4 +---
 src/cairoint.h     |    2 +-
 2 files changed, 2 insertions(+), 4 deletions(-)

commit d5b35d7d7666634f1f98d6c0141a2a29976e7e2f
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 9 17:12:11 2007 -0700

    Make _cairo_pen_init_empty void
    
    Yet another function that cannot fail under any circumstances.

 src/cairo-pen.c |    4 +---
 src/cairoint.h  |    2 +-
 2 files changed, 2 insertions(+), 4 deletions(-)

commit 9077da99abd163ebd0c52e8375e6f40ce60cf7d2
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 9 17:09:51 2007 -0700

    Make _cairo_gstate_user_to_device (and friends) void.
    
    This is just multiplication after all, so there's nothing that can fail.
    And we can get rid of a lot of useless error-checking code this way.
    The corrected functions are:
    
    	_cairo_gstate_user_to_device
    	_cairo_gstate_user_to_device_distance
    	_cairo_gstate_device_to_user
    	_cairo_gstate_device_to_user_distance

 src/cairo-gstate.c |   16 +++----------
 src/cairo.c        |   62 +++++++++++++++------------------------------------
 src/cairoint.h     |    8 +++---
 3 files changed, 26 insertions(+), 60 deletions(-)

commit 628ec8eb91fb246b8a44be3451163a5d8592a860
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Apr 9 17:03:29 2007 -0700

    Make _cairo_gstate_identity_matrix void
    
    Now that we have the warn_unused_result attribute enabled, (thanks
    Chris!), it's actually harmful to have a function return an
    uncoditional value of CAIRO_STATUS_SUCCESS. The harm is that
    it would force lots of unnecessary error-checking paths that
    just add clutter.
    
    It is much better to simply give a function that cannot fail
    a return type of void.

 src/cairo-gstate.c |    9 ++-------
 src/cairo.c        |    6 +-----
 src/cairoint.h     |    2 +-
 3 files changed, 4 insertions(+), 13 deletions(-)

commit 90803eca0fa8d49c54c465580707009aae382d28
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 4 11:17:23 2007 +0100

    Implement clone_surface for test-fallback-surface.
    
    A few tests were failing due to clip_init_deep_copy() not being able to
    clone the target surface. Before propagating the failure, this was being
    silently ignored.
    
    Copy the simple implementation from cairo-image-surface.

 src/test-fallback-surface.c |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

commit 4456ecbf2694f0b71a431353e0dea0515b72926b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 23:40:31 2007 +0100

    Fix detection of FcFini().
    
    It is customary to check for a FontConfig function in the FontConfig
    library rather than the FreeType library.

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit cd2394c076e2f6b14a9a3281461026b811692f2e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Apr 3 21:50:15 2007 +0100

    Free the bitmap->buffer on failure
    
    Currently if the ownership of the bitmap->buffer is passed to
    _get_bitmap_surface() then the status of the buffer is inconsistent
    should the function detect an error (i.e. CAIRO_STATUS_NO_MEMORY).
    Fix it up that should we encounter an error and we own the buffer then
    we always free it on behalf of the caller.

 src/cairo-ft-font.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit ac33953a81114dddc25ceb57f6df57e01d4d937b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 23:37:29 2007 +0100

    Correct handling of a malloc failure during pattern_create_in_error()
    
    Confusion had been introduced as to who provided the fixup after
    the malloc failed which resulted in a NULL deference whilst checking for
    an erroneous pattern in _cairo_pattern_create_in_error.

 src/cairo-pattern.c |   24 ++++++------------------
 1 files changed, 6 insertions(+), 18 deletions(-)

commit b6924722b8c8e5f4356d3c8ba438a702ffb8a5ed
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Apr 8 23:35:01 2007 -0400

    [cairo-skiplist] Use one random number per insertion, instead of two

 src/cairo-skiplist-private.h |    3 +++
 src/cairo-skiplist.c         |    7 +++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

commit ce1651f1ea57b53ad91f5115524d33f6424d5797
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Apr 3 16:53:17 2007 +0100

    Free the pixman_image if we fail to wrap it with a surface.

 src/cairo-image-surface.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

commit bd99507f15dd8a2d162f13e691cc5f8d71795577
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Mar 30 14:00:50 2007 +0100

    Initialise cairo_spline_t to use its embedded buffer.
    
    Currently the code defaults to setting its points to NULL and fixing it up
    on the first add_point() to use the embedded buffer. Skip this extra step
    by initialising points to the embedded buffer.

 src/cairo-spline.c |   24 +++++++-----------------
 1 files changed, 7 insertions(+), 17 deletions(-)

commit 6daaf8a89d24fb3022687fe8d52c8001dc270265
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Apr 8 23:32:27 2007 -0400

    [cairo-skiplist] Reduce MAX_LEVEL from 31 to 15
    
    The probability that a node of level L is generated is
    0.25^(L-1) * 0.75.  It means, a node of level 15 or
    more will be used with a probability of about 3 * 10^-9.
    That's really rare...
    
    Actually that's not still true, because the level of a new
    node is capped by current max-level plus one.  So to really
    get a node with a level of 15 one should first get a node
    of level 2, then 3, then 4, ..., finally 15.  Now that's
    REALLY rare.
    
    And guess what, the skiplist only start behaving bad with a
    max level cap of MAX_LEVEL when having on the order of
    4**MAX_LEVEL items in it.  I really hope we don't get there.

 src/cairo-skiplist-private.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit a7de9501f6d0f3a574c5246b81d78aa749b64e67
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Apr 8 23:24:50 2007 -0400

    [cairo-skiplist] Group levels two-by-two in freelists
    
    Most memory allocators allocate in multiples of twice the size of
    a pointer.  So there is no point in keeping freelists for both
    even and odd levels.  We now round odd levels up to the next
    even level for freelist computations.  This reduces the number of
    node mallocations.

 src/cairo-skiplist-private.h |   10 +++++++++-
 src/cairo-skiplist.c         |   21 ++++++++++++++-------
 2 files changed, 23 insertions(+), 8 deletions(-)

commit b2280c5ac25e752c4462acdc8d2ded916fce7c34
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Mar 30 11:24:18 2007 +0100

    Do not overwrite cr->status
    
    The idiom for cairo.c is to do
        cr->status = _cairo_op ();
        if (cr->status) _cairo_set_error (cr, cr->status);
    
    Unfortunately a trivial mistake for a _cairo_op () is to call a cairo_op ()
    and forget to check cr->status but return CAIRO_STATUS_SUCCESS which will
    mask the earlier error.
    
    Obviously this is a bug in the lower level but the impact can be reduced
    by chaning cairo.c to use a local status variable for its return:
        cairo_status_t status = _cairo_op ();
        if (status) _cairo_set_error (cr, cr->status);

 src/cairo.c |  537 +++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 319 insertions(+), 218 deletions(-)

commit 14ac5dd78b38aaaa118e8ac39fa50f485bff516d
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 23:11:57 2007 +0100

    Return the correct status from _cairo_pen_stroke_spline().
    
    The return value is shared before the normal cleanup and error paths,
    so do not simply return a hard-coded CAIRO_STATUS_SUCCESS.

 src/cairo-pen.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b823e2f68ff613b2c4f537aba6bbbcf413412eb2
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 23:09:31 2007 +0100

    cairo-xlib-surface - propagate status returns.
    
    These were found during a cairo_static pass on an alternative branch...
    
    A critical one in particular was setting the have added glyph flag to
    TRUE even if _cairo_xlib_surface_add_glyph() fails. This can cause an
    application crash due to a RenderBadGlyph error later when the scaled
    font is cleaned and we attempt to remove the glyph.

 src/cairo-xlib-surface.c |   44 +++++++++++++++++++++++++++++++-------------
 1 files changed, 31 insertions(+), 13 deletions(-)

commit 4a624b8e8b0a14dd03e551b28257d8a54b9ee6f6
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Mar 29 13:36:07 2007 +0100

    Remove the entry if we return an error code during _cair_hash_table_insert.
    
    Previously if we detected an error during resize we would report a
    failure to insert the entry into the hash table having already done so.

 src/cairo-hash.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

commit 1cdb54f8835446b23769b7771445201a9b5d165e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Thu Mar 29 09:11:21 2007 +0100

    Reorder cleanup cairo_xlib_surface_show_glyphs()
    
    _cairo_pattern_release_surface() asserts that it is passed a pattern
    surface. This itself is bad as breaks the symmetry with
    _cairo_pattern_acquire_surface under() error conditions, however reorder
    the cleanup to avoid this assertion.

 src/cairo-xlib-surface.c |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 deletions(-)

commit a1331fb043051ac10f8555b2ad2fe85183db96df
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Mar 28 19:32:25 2007 +0100

    Detect failure to allocate glyphs during _cairo_scaled_font_init()
    
    If _cairo_cache_create fails, return CAIRO_STATUS_NO_MEMORY.

 src/cairo-scaled-font.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

commit 1237eedff3d557b94db9c940fd8de48be9ba41ba
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 22:56:43 2007 +0100

    Check for error whilst trying to advance along a text string.
    
    The text perf-case tries to fill the region with a single text string,
    but fails to detect when the current point does not advance due to an
    error. This causes the perf-case to enter an infinite loop, so we break
    out when the cairo_status() has been set.

 perf/text.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit ea4945850ae3ce3614bcadc0fa413eb836344430
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Mar 16 20:04:26 2007 +0000

    Avoid using substituted surfaces for xlib operations.
    
    Detect when a substitute image surface is returned for a solid pattern,
    and avoid mixed image/xlib composite operations. This can happen for example
    if there is a resource allocation failure during creating a similar surface.

 src/cairo-xlib-surface.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit 751976970bb0ec9b810c1f58a05d53b7bfb7d90f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Fri Mar 16 19:35:02 2007 +0000

    Handle failure to allocate a GC.

 src/cairo-xlib-surface.c |   51 ++++++++++++++++++++++++++++++---------------
 1 files changed, 34 insertions(+), 17 deletions(-)

commit c6055dc349c3f96e8d6f0e4166540871a59cb0e2
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 22:50:44 2007 +0100

    Reset cairo_scaled_font_map after freeing.
    
    Along the error path the global font map was freed but not reset,
    causing segfaults on any subsequent use of a cairo_scaled_font_t.

 src/cairo-scaled-font.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 65de47d8bc7865c6bf6318fd7bd861acf4e4af05
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 22:47:19 2007 +0100

    cairo-bentley-ottmann - check init for failure
    
    This was found during a cairo_static pass on an alternative branch...
    Add the trivial error propagation for _cairo_bo_event_queue_init()

 src/cairo-bentley-ottmann.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit b4cb0306b4415f2ddf0acd84043b72c8b8485726
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Mar 28 15:55:06 2007 +0100

    cairo-type1-fallback - propagate error returns
    
    Add status returns in order to propagate a matrix inversion failure
    up through the call stack.

 src/cairo-type1-fallback.c |   25 ++++++++++++++++++-------
 1 files changed, 18 insertions(+), 7 deletions(-)

commit b29d78dda169ee58b82cdbd04e3af2eedcc58edd
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Mar 28 15:43:37 2007 +0100

    cairo-svg-surface - propagate some error returns
    
    Add status returns to functions in order to propagate an error up
    the call stack.
    
    For the emit_*_pattern we add a new status return even when when
    the functon return CAIRO_STATUS_SUCCESS unconditionally in order for
    the caller to handle all cases in a consistent manner.

 src/cairo-svg-surface.c |   56 +++++++++++++++++++++++++++++++----------------
 1 files changed, 37 insertions(+), 19 deletions(-)

commit 3f7ca6ef5b09263607ff2f9862950393815c5d2c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Mar 28 14:57:44 2007 +0100

    cairo-pen - cairo_pen_init() can fail propagate its error.
    
    Add status returns in order to propagate an intialisation failure
    back up the call chain.

 src/cairo-path-stroke.c |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

commit 67f13b3518c5fc98d1e3fb184bc6c2f5ea96f4c9
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:54:41 2007 +0100

    cairo-bentley-ottmann/skip-list - catch and propagate out-of-memory errors
    
    The skip list inserts could return NULL indicating an out-of-memory error.
    In order to handle this, propagate the error up the call stack.

 src/cairo-bentley-ottmann.c |   50 ++++++++++++++++++++++++++++++-------------
 src/cairo-skiplist.c        |    2 +
 2 files changed, 37 insertions(+), 15 deletions(-)

commit 293122279fd87098a00386bb4c9310f3fc1bb373
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:50:48 2007 +0100

    cairo-path-stroke - add trivial missing status checks
    
    Propagate the error status.

 src/cairo-path-stroke.c |   33 +++++++++++++++++++++++++--------
 1 files changed, 25 insertions(+), 8 deletions(-)

commit 2f2bff038cb0e59865a0405b19da4805213d718e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:47:01 2007 +0100

    buffer-diff - check for any errors whilst writing the png
    
    Propagate any errors from writing out the png.

 test/buffer-diff.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 79424fc64640db4b518eaf4a23477f1bbc26db5a
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:45:58 2007 +0100

    cairo - add missing status checks
    
    Add a few missing status checks and set the error on the context when
    applicable.

 src/cairo.c |   74 ++++++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 48 insertions(+), 26 deletions(-)

commit a34a32fd99145733df9290f7c72bf7d9759e212b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:36:42 2007 +0100

    cairo-type1-fallback - check for an error during cleanup
    
    The cleanup path is shared between the error path and the true path, and
    so any error along it can not be ignored.

 src/cairo-type1-fallback.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit d2efadc84d0716498cec0510916f5375fbb7acf0
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:35:28 2007 +0100

    cairo-svg-surface - propagate error returns
    
    Add a couple of missing checks for error statues.

 src/cairo-svg-surface.c |   34 ++++++++++++++++++++++++----------
 1 files changed, 24 insertions(+), 10 deletions(-)

commit 02264b40f5ab4831e52c0ad156471045c62c9e85
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:34:25 2007 +0100

    cairo-surface-fallback - propagate error returns
    
    _cairo_surface_composite() can fail so check for and error return and
    propagate.

 src/cairo-surface-fallback.c |   44 ++++++++++++++++++++++++-----------------
 1 files changed, 26 insertions(+), 18 deletions(-)

commit 76b27fb0e81cc557c7348f6ba98b72552d781aed
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:33:00 2007 +0100

    cairo-ps-surface - add a couple of status checks
    
    Handle a couple more error returns.

 src/cairo-ps-surface.c |   54 +++++++++++++++++++++++++++--------------------
 1 files changed, 31 insertions(+), 23 deletions(-)

commit 619425a8b3bff79fb453f4b84e3a8e75db369b40
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:29:19 2007 +0100

    cairo-polygon - trivial propagation of error status
    
    _cairo_polygon_move_to() returns an error status so use it.

 src/cairo-polygon.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

commit 4b195779a465f69b035e9fd6695ef5c137a6b342
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:28:25 2007 +0100

    cairo-pen - trivial propagation of error status
    
    Add a couple of missing checks for error statuses and correct the
    error path cleanup for _cairo_pen_stroke_spline().

 src/cairo-pen.c |   24 +++++++++++++++++-------
 1 files changed, 17 insertions(+), 7 deletions(-)

commit 66d3e252025cf7f8a624fad83bffa1488a98910d
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:26:33 2007 +0100

    cairo-pdf-surface - propagate error status
    
    Catch and propagate any error status.

 src/cairo-pdf-surface.c |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)

commit b32a5b1dc6d66a4477fb8df1461821a27192600f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:25:46 2007 +0100

    cairo-pattern - propagate status
    
    Catch, cleanup and propagate after an error return.

 src/cairo-pattern.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

commit fd49bbb4b21b73247b4d391c2cb1b028a596f6eb
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:24:59 2007 +0100

    cairo-path - check for failure during _cairo_path_fixed_interpret
    
    Catch an error return from _cairo_path_fixed_interpret() and return
    it. Similary check for an error code in cairo_status() before returning
    success.

 src/cairo-path.c |   55 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 32 insertions(+), 23 deletions(-)

commit 814830f63b72f69198e92564c53f2683e5bda269
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:22:56 2007 +0100

    cairo-path-fill - trivial missing unused result
    
    Actually assign the result that is tested on the next line...

 src/cairo-path-fill.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 7ab1f62c60141d5c0e989d55f4a49537a6b52c4d
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:21:49 2007 +0100

    cairo-paginated-surface - fix up the trivial unused result
    
    Check for status returns and propagate, cleaning up as necessary.

 src/cairo-paginated-surface.c |   22 ++++++++++++++++------
 1 files changed, 16 insertions(+), 6 deletions(-)

commit 78c0d62ba7c650a6dc8137e6d1375e21f9477c2b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:20:42 2007 +0100

    cairo-meta-surface - propagate trivial status return
    
    _cairo_path_fixed_init_copy() could fail so propagate it's status.

 src/cairo-meta-surface.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 75cc5e04d5b854a1eefe116c2be4a3c2bb21d6ac
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:19:49 2007 +0100

    cairo-image-surface - propagate error returns from pixman.
    
    pixman does occasionally return an error - in such circumstances we
    should propagate it.

 src/cairo-image-surface.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit dee9a53029bd3e42c60a855edfb54591bf1782b5
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:18:30 2007 +0100

    cairo-gstate - fix the trivial unchecked returns
    
    Check for an error return and propagate.

 src/cairo-gstate.c |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

commit de264af2c659b32c8bc71060da85037ac7e1d44f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:17:26 2007 +0100

    cairo-ft-font - handle trivial failures
    
    Catch the status return, cleanup and propagate the error.

 src/cairo-ft-font.c |   82 +++++++++++++++++++++++++++++++++-----------------
 1 files changed, 54 insertions(+), 28 deletions(-)

commit 14c8dfb0b9bcc26a02057e5636d8bf35c3b4ef29
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Apr 9 15:03:34 2007 +0100

    cairo-clip - handle trivial pixman failures
    
    Detect the simple cases when pixman returns an error, ie an OOM
    condition, and propagate the error status.

 src/cairo-clip.c |   18 ++++++++++++------
 1 files changed, 12 insertions(+), 6 deletions(-)

commit 274c20c27a094c05afa62579cacb5749013abd60
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 21:14:09 2007 +0100

    cairo-boilerplate - handle failure to set user data
    
    After failing to set the user data on a surface, clean up and return NULL.

 boilerplate/cairo-boilerplate.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

commit 46eab95698e101e41407778eda22089b508a8984
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Apr 8 20:50:08 2007 +0100

    Add attribute(warn_unused_result)
    
    This adds a compiler check that the function result is used by the caller
    and enables it by default for all cairo_private functions and for public
    API that returns a cairo_status_t.
    
    It has been discussed that to extend the warnings to all functions, a
    new function type could been introduced to cover static functions:
    cairo_static. This has not been done at the present time in order to
    minimise the churn and focus on the more common errors.
    
    In order to reduce the warning spew generated by gcc for invalid use of
    this attribute, -Wno-attributes is added to CFLAGS. This has the
    unfortunate side-effect of masking future warnings for all attributes -
    be warned!

 configure.in         |   13 ++++++++++++-
 pixman/configure.in  |    3 ++-
 pixman/src/pixman.h  |    2 +-
 src/cairo.h          |   40 ++++++++++++++++++++--------------------
 src/cairoint.h       |    8 +++++---
 src/check-headers.sh |    2 +-
 6 files changed, 41 insertions(+), 27 deletions(-)

commit 9da86e4a386505288c3a933f30583abf7706c950
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Apr 8 22:56:30 2007 -0400

    Add references to the skiplist paper

 BIBLIOGRAPHY                 |    8 ++++++++
 src/cairo-skiplist-private.h |    6 ++++++
 2 files changed, 14 insertions(+), 0 deletions(-)

commit ad0e13805c036941a03e49215b1bb525b4666033
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Apr 8 22:50:51 2007 -0400

    [cairo-skiplist] Clarify MAX_LEVEL in comment, and adjust accordingly
    
    Reading the code, MAX_LEVEL is in fact what could have been named
    MAX_NUM_LEVELS.  That is, it is maximum possible level plus one.
    All code is correct: it uses MAX_LEVEL as array size and never produces
    a level of MAX_LEVEL.  The comment is fixed.

 src/cairo-skiplist.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e8072e6e0ac86b2b0baefb54dcc551ee548164af
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Apr 8 22:03:46 2007 -0400

    [test,perf] Make them rebuild boilerplate when src is changed

 perf/Makefile.am |    2 +-
 test/Makefile.am |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 6f9309221704a799ca36917c65abfc0941119b13
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Apr 8 21:58:54 2007 -0400

    Rename pixman_region_uninit to pixman_region_fini

 pixman/src/fbcompose.c       |    2 +-
 pixman/src/fbpict.c          |    2 +-
 pixman/src/icimage.c         |    8 ++++----
 pixman/src/icrect.c          |    4 ++--
 pixman/src/ictrap.c          |    4 ++--
 pixman/src/pixman-remap.h    |    2 +-
 pixman/src/pixman.h          |    2 +-
 pixman/src/pixregion.c       |    2 +-
 src/cairo-clip.c             |   12 ++++++------
 src/cairo-glitz-surface.c    |    4 ++--
 src/cairo-surface-fallback.c |    6 +++---
 src/cairo-surface.c          |    4 ++--
 src/cairo-traps.c            |    2 +-
 13 files changed, 27 insertions(+), 27 deletions(-)

commit 4f8a04b1c93630c2556db5e3a0657076167e1ea3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Apr 8 21:55:45 2007 -0400

    [pixman-image] Simply initialization given that there is no clip

 pixman/src/icimage.c |   32 +++++++++-----------------------
 1 files changed, 9 insertions(+), 23 deletions(-)

commit df9ea31df5857ee7aacd6ba002881233e9c4a9b4
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Thu Mar 15 14:42:13 2007 +0100

    [pixman-region] Separate pixman_region_init
    
    Most of the time pixman_region_init is called without any extents, and
    followed by a pixman_region_union_rect, used to used to initialize
    rectangular regions. pixman_region_union_rect is not that cheap, but
    the sequence is called quite often. So it should be worth introducing
    a specialized and fast function for this sequence.
    
    This introduces pixman_region_init_rect.  This new function makes
    _cairo_region_init_from_rectangle obsolete.
    
    Also removes the extent argument from pixman_region_init as it was
    called with NULL most of the time.  A pixman_region_init_with_extents
    is added for the general case.

 pixman/src/fbcompose.c       |    3 +--
 pixman/src/fbpict.c          |    3 +--
 pixman/src/icimage.c         |   25 +++++++++++--------------
 pixman/src/icrect.c          |   10 +++++-----
 pixman/src/ictrap.c          |    6 ++----
 pixman/src/pixman-remap.h    |    2 ++
 pixman/src/pixman.h          |    7 ++++++-
 pixman/src/pixregion.c       |   37 +++++++++++++++++++++----------------
 src/cairo-clip.c             |   18 ++++++++++--------
 src/cairo-glitz-surface.c    |    2 +-
 src/cairo-region.c           |   25 -------------------------
 src/cairo-surface-fallback.c |    7 +++----
 src/cairo-surface.c          |   16 ++++++----------
 src/cairo-traps.c            |    2 +-
 src/cairoint.h               |    4 ----
 15 files changed, 70 insertions(+), 97 deletions(-)

commit 9436959a838412b5336279c7d5c35bf4e586f984
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 01:37:28 2007 +0100

    Update function map

 pixman/src/pixman-remap.h |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

commit 99f4bfada807aa7062051bb81fd29d4d3a87fbd1
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 01:35:40 2007 +0100

    Remove abdoned pixman_region_{create,destroy}

 pixman/src/pixman.h    |    6 ------
 pixman/src/pixregion.c |   25 -------------------------
 2 files changed, 0 insertions(+), 31 deletions(-)

commit 4532c023e0810c2e8d0d5928074bcae8865c5e14
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 01:31:53 2007 +0100

    Make clientClip region static, remove abdoned CT_PIXMAP code paths

 pixman/src/icimage.c |  208 ++------------------------------------------------
 pixman/src/icimage.h |    2 +-
 pixman/src/icint.h   |    2 +-
 3 files changed, 9 insertions(+), 203 deletions(-)

commit 65f269f3a4148a6cf3b2158ea893bb8452c3ad5e
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 01:24:11 2007 +0100

    Avoid pixman_region_create in pixman_composite{,General}

 pixman/src/fbcompose.c |   32 ++++++++--------------
 pixman/src/fbpict.c    |   32 ++++++++--------------
 pixman/src/icimage.c   |   68 +++++++++++++++++-------------------------------
 3 files changed, 48 insertions(+), 84 deletions(-)

commit 82cc451148eec1703d001f2b814d5b3712d31727
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 01:21:18 2007 +0100

    Make clip regions of pixman_image_t static

 pixman/src/fbcompose.c |   38 ++++++++--------
 pixman/src/icimage.c   |  121 +++++++++++++++++++++++++++---------------------
 pixman/src/icimage.h   |    8 ++--
 pixman/src/icrect.c    |    7 ++-
 4 files changed, 96 insertions(+), 78 deletions(-)

commit 041371533746d4aae3245a74459c0b0d1a4628fb
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 00:59:36 2007 +0100

    Avoid pixman_region_create in pixman_color_rects

 pixman/src/icrect.c |   32 ++++++++++++++++----------------
 1 files changed, 16 insertions(+), 16 deletions(-)

commit 5a6ca4794bfd96026937cd8736a8bcb723b2b2ff
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 00:55:46 2007 +0100

    Replace pixman_region_create_simple by pixman_region_init

 pixman/src/ictrap.c    |   14 +++++++-------
 pixman/src/pixman.h    |    3 ---
 pixman/src/pixregion.c |   13 +------------
 3 files changed, 8 insertions(+), 22 deletions(-)

commit f9057f27520842159f73dbfd6de49cb8feee1c39
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 00:48:43 2007 +0100

    Avoid pixman_create_region in glitz-surface

 src/cairo-glitz-surface.c |   49 ++++++++++++++++++++++-----------------------
 1 files changed, 24 insertions(+), 25 deletions(-)

commit 82cbb6886cf621fd6b10be5e04ce11ff05127fc6
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 00:46:34 2007 +0100

    Remove redundant _cairo_clip_fini function

 src/cairo-clip-private.h |    3 ---
 src/cairo-clip.c         |   17 -----------------
 src/cairo-gstate.c       |    4 ++--
 src/cairo-meta-surface.c |    2 +-
 4 files changed, 3 insertions(+), 23 deletions(-)

commit 5ae309c4561418fb057a8049f047ffcb03f3b698
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 00:40:44 2007 +0100

    Avoid pixman_region_create in _cairo_traps_extract_region

 src/cairo-traps.c |   18 +++++++++---------
 src/cairoint.h    |    6 +++---
 2 files changed, 12 insertions(+), 12 deletions(-)

commit 241482b5505427d221f4aaa970e7500a78fb2da1
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 00:28:49 2007 +0100

    Avoid malloc in _cairo_region_create_from_rectangle

 src/cairo-clip.c             |   42 +++----
 src/cairo-region.c           |   34 +++---
 src/cairo-surface-fallback.c |  250 ++++++++++++++++++++++--------------------
 src/cairo-surface.c          |   52 +++++----
 src/cairoint.h               |    5 +-
 5 files changed, 199 insertions(+), 184 deletions(-)

commit efc9775149c4c87645c58235c7626cc4f72e69c3
Author: Mathias Hasselmann <mathias@pergamaunz.(none)>
Date:   Tue Mar 13 23:58:14 2007 +0100

    Make sure clip->region is always initialized

 src/cairo-clip.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

commit 0e7df34e07d7816b29c1ac1f67608b87c5e0efc2
Author: Mathias Hasselmann <mathias@pergamaunz.(none)>
Date:   Tue Mar 13 23:38:20 2007 +0100

    Make region of cairo_clip_t static

 src/cairo-clip-private.h |    3 +-
 src/cairo-clip.c         |   87 ++++++++++++++++++++++++----------------------
 src/cairo-surface.c      |    4 +-
 3 files changed, 49 insertions(+), 45 deletions(-)

commit ced7b4a4ab4b5a8d639bfca0dd5db38f1ae4825d
Author: Mathias Hasselmann <mathias@pergamaunz.(none)>
Date:   Tue Mar 13 22:34:23 2007 +0100

    Make pixman_region_{init,uninit} public

 pixman/src/pixman.h    |    5 +++++
 pixman/src/pixregion.c |   18 ++++++------------
 2 files changed, 11 insertions(+), 12 deletions(-)

commit 4d9065fcebbaf857d8d5fe49bcbb33f270c0bf26
Author: Mathias Hasselmann <mathias@pergamaunz.(none)>
Date:   Tue Mar 13 21:51:46 2007 +0100

    Move struct pixman_region16 to pixman.h

 pixman/src/pixman.h       |    7 ++++++-
 pixman/src/pixregionint.h |    7 +------
 2 files changed, 7 insertions(+), 7 deletions(-)

commit dce3e5e6b556b817bf95182122adbf6f816b71e9
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Apr 6 17:20:49 2007 -0400

    [TODO] Add 4945 Cairo doesn't support 8-bit pseudocolor visuals

 ROADMAP |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 8bb0e5939c0694e88ea9ede4137d7306a067bd17
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Mar 28 20:27:29 2007 +0100

    _get_bitmap_surface - check for calloc failure

 src/cairo-ft-font.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit b95577a931645b3013d5acaa5b1bd2d892c3932f
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Mar 28 17:58:31 2007 +0100

    Protect boilerplate_xlib_synchronize from alloc failure.
    
    Don't call XDestroyImage on a NULL image.

 boilerplate/cairo-boilerplate.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 2a74fd5c7ff21f27013f709dc626be8087cb6a10
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Mar 28 15:50:12 2007 +0100

    Propagate one error return through pdf.

 src/cairo-pdf-surface.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit a2a8f2ce7a0a9bcef7a4a29624725a77c2abe95a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Apr 5 20:03:51 2007 -0400

    [ROADMAP] Move David Turner's cairo-ft rewrite to 1.6.

 ROADMAP |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 94460a9790ece7a436d6681ab41d7b2365f0775f
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Apr 5 16:35:03 2007 -0700

    ROADMAP/TODO: Update with 1.4.4 and 1.6 items from recent meeting

 ROADMAP |  164 ++++++++++++++++++++++++++-----------------
 TODO    |  236 ++++++++++++++++++++++----------------------------------------
 2 files changed, 183 insertions(+), 217 deletions(-)

commit d801aa59f84d95568e36d02a0ecf3544b9914187
Author: Robert O'Callahan <roc@ocallahan.org>
Date:   Fri Apr 6 00:00:33 2007 +0100

    [quartz] fix floating point precision issue (#10531)
    
    This ensures that error due to double-to-float conversion
    does not accumulate; the position of any glyph will be off by
    at most one double-to-float conversion error.

 src/cairo-quartz-surface.c |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

commit 106f8590457a7ebb5335d67f16277e8d5a6b04a8
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Apr 4 15:59:50 2007 -0700

    Move misplaced CLEANUP_FONT label to avoid crash.
    
    Previously, a failure in _cairo_win32_scaled_font_init_glyph_path leading
    to the CLEANUP_FONT label would set the path into the glyph, then destroy
    the path, and return an error status, (which in turn would cause a double
    free when the glyph was destroyed).
    
    The double-free apparently leads to a crash in some cases, as described
    here:
    
    	 SVG/Cairo related crash when opening specific webpage
    	https://bugzilla.mozilla.org/show_bug.cgi?id=376498
    
    This should eliminate the double-free, but does not address the original
    error case, (attempting to get a path from a bitmap font?).

 src/cairo-win32-font.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)

commit 5c24711ee65cdb8ac0fdb7419e6466e2b7cb7d9e
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Apr 4 10:13:13 2007 +0100

    Restore gcov functionality
    
    Add -lgcov to the shared library else the test programs fail to link.
    Add a couple of lcov convenience targets to generate the coverage reports.

 Makefile.am             |   13 ++++++++++++-
 boilerplate/Makefile.am |    2 +-
 configure.in            |   14 ++++++++++++--
 pixman/src/Makefile.am  |    5 ++++-
 src/Makefile.am         |    2 +-
 test/Makefile.am        |    5 +++--
 6 files changed, 33 insertions(+), 8 deletions(-)

commit 59e5189818321c8a62ad107548facbcfce9e517a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 3 20:46:14 2007 -0400

    [Makefile.am] Distribute BIBLIOGRAPHY
    Also include all automatically distributed CAPITAL files in there,
    to remove any doubts.

 Makefile.am |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit a1287e483ce8efcf3f1eca97bdaaccac2393a1bf
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 3 20:30:30 2007 -0400

    [pixman/src/check-config.sh] Test that all source files #include <config.h>
    as their first include.

 pixman/src/Makefile.am     |    3 +++
 pixman/src/check-config.sh |   17 +++++++++++++++++
 src/check-cairoint.sh      |    2 +-
 3 files changed, 21 insertions(+), 1 deletions(-)

commit 8fbf50d31da9e13f1e55c7ee19586b7c394684ba
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 3 20:25:30 2007 -0400

    [src] Make sure all source files #include "cairoint.h" as their first include
    
    This is necessary to avoid many portability problems as cairoint.h includes
    config.h.  Without a test, we will regress again, hence add it.
    
    The inclusion idiom for cairo now is:
    
    	#include "cairoint.h"
    
    	#include "cairo-something.h"
    	#include "cairo-anotherthing-private.h"
    
    	#include <some-library.h>
    	#include <other-library/other-file.h>
    
    Moreover, some standard headers files are included from cairoint.h and need
    not be included again.

 src/cairo-arc.c              |    2 ++
 src/cairo-atsui-font.c       |    5 ++---
 src/cairo-beos-surface.cpp   |    7 ++++---
 src/cairo-directfb-surface.c |   10 +++-------
 src/cairo-freelist.c         |    5 +++--
 src/cairo-ft-font.c          |    4 +++-
 src/cairo-gstate.c           |    2 --
 src/cairo-matrix.c           |    1 -
 src/cairo-os2-surface.c      |   11 ++++++-----
 src/cairo-output-stream.c    |    7 ++++---
 src/cairo-path-fixed.c       |    1 -
 src/cairo-path.c             |    2 ++
 src/cairo-png.c              |    3 ++-
 src/cairo-polygon.c          |    1 -
 src/cairo-quartz-surface.c   |    4 ++--
 src/cairo-region.c           |    2 +-
 src/cairo-skiplist.c         |    6 +-----
 src/cairo-surface-fallback.c |    2 ++
 src/cairo-surface.c          |    3 +--
 src/cairo-truetype-subset.c  |    2 +-
 src/cairo-unicode.c          |    4 +---
 src/cairo-win32-font.c       |    3 +--
 src/cairo-win32-surface.c    |   10 +++++-----
 src/cairo-xlib-screen.c      |    4 ++--
 src/cairoint.h               |    1 +
 src/check-cairoint.sh        |    2 +-
 src/test-fallback-surface.c  |    4 ++--
 src/test-meta-surface.c      |    4 ++--
 src/test-paginated-surface.c |    4 ++--
 29 files changed, 56 insertions(+), 60 deletions(-)

commit ffc7d06da0f97390025a510b9532e4a64e9230f4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 3 20:22:44 2007 -0400

    [src/check-cairoint.h] Test to check that all source files #include "cairoint.h"
    
    as their first include.

 src/Makefile.am       |    2 +-
 src/check-cairoint.sh |   17 +++++++++++++++++
 2 files changed, 18 insertions(+), 1 deletions(-)

commit 3646839060de7ab51c805bf5614fc3d1ea8b7fc3
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Wed Apr 4 01:16:30 2007 +0100

    [boilerplate] split quartz out to avoid symbol clash.
    
    Quartz and Xlib both define Picture and Cursor, and clashed in
    cairo-boilerplate.c. Splitting quartz out allows a single mac
    build with --enable-quartz --enable-atsui.

 boilerplate/Makefile.am                 |    1 +
 boilerplate/cairo-boilerplate-private.h |   45 +++++++++++++++++++++
 boilerplate/cairo-boilerplate.c         |   44 ++-------------------
 boilerplate/cairo-quartz-boilerplate.c  |   64 +++++++++++++++++++++++++++++++
 4 files changed, 115 insertions(+), 39 deletions(-)

commit 174ebc43fe84854876d642e67fc3a442d280b59e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 3 20:01:32 2007 -0400

    [pixman] Make sure all source files include config.h
    as their first include.

 pixman/src/fbcompose.c   |    2 ++
 pixman/src/fbpict.c      |    1 +
 pixman/src/fbtrap.c      |    4 ++++
 pixman/src/icblt.c       |    4 ++++
 pixman/src/icbltone.c    |    4 ++++
 pixman/src/iccolor.c     |    4 ++++
 pixman/src/icformat.c    |    4 ++++
 pixman/src/icpixels.c    |    4 ++++
 pixman/src/icrect.c      |    4 ++++
 pixman/src/icstipple.c   |    4 ++++
 pixman/src/ictransform.c |    4 ++++
 pixman/src/ictrap.c      |    4 ++++
 pixman/src/ictri.c       |    4 ++++
 pixman/src/icutil.c      |    4 ++++
 pixman/src/renderedge.c  |    4 ++++
 15 files changed, 55 insertions(+), 0 deletions(-)

commit 208c32b245d7f50e1e9d71695269128b28a675fc
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 3 19:56:29 2007 -0400

    [cairoint.h] Remove inline definition for MS compilers
    
    Such things should go to config.h.  For one thing, cairoint.h is not
    included in pixman.

 src/cairoint.h |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit 313a6f732112ca88fa4d590a604ce8219065655c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 3 19:53:28 2007 -0400

    [pixman] Cleanup inline mess (#10150)
    
    Simply use "inline" instead of "INLINE" or "__inline__" and let
    configure figure out what to use.

 pixman/src/fbcompose.c |    8 ++++----
 pixman/src/fbedge.c    |    8 ++++++--
 pixman/src/fbmmx.c     |   45 +++++++++++++++++++++++----------------------
 pixman/src/fbpict.h    |    6 ------
 pixman/src/icimage.c   |    8 ++++++--
 pixman/src/icint.h     |   12 +-----------
 pixman/src/pixregion.c |   14 ++++++--------
 7 files changed, 46 insertions(+), 55 deletions(-)

commit 88dc0c5f19475888c19db437661b290f3a8902f8
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 3 19:26:18 2007 -0400

    Make sure all nil objects start with _cairo_
    
    Previously, the convention was that static ones started with cairo_, but
    renamed to start with _cairo_ when they were needed from other files and
    became cairo_private instead of static...
    
    This is error prune indeed, and two symbols were already violating.  Now
    all nil objects start with _cairo_.

 src/cairo-base85-stream.c         |    2 +-
 src/cairo-clip-private.h          |    2 +-
 src/cairo-deflate-stream.c        |    4 ++--
 src/cairo-font-options.c          |   22 +++++++++++-----------
 src/cairo-output-stream-private.h |    2 +-
 src/cairo-output-stream.c         |   20 ++++++++++----------
 src/cairo-pattern.c               |   14 +++++++-------
 src/cairo-ps-surface.c            |    4 ++--
 src/cairo.c                       |    8 ++++----
 src/cairoint.h                    |    2 +-
 10 files changed, 40 insertions(+), 40 deletions(-)

commit 114be945db6c02aeb60cf1123b43680bd12cccdb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 3 16:47:39 2007 -0400

    [test] Add svg2pdf

 test/Makefile.am |    6 ++++
 test/svg2pdf.c   |   85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 91 insertions(+), 0 deletions(-)

commit b121468f14a6a05a823e06cf7c51caaa1e342556
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 3 16:27:50 2007 -0400

    [configure.in] Bump version up to 1.4.3, oops!
    Supposed to be done after 1.4.2 was out, but apparently didn't happen.

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 9710c48df31c66d8931a75b6578c7c861d497baa
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 3 16:26:48 2007 -0400

    [doc] Update Headers.mk

 doc/public/Headers.mk |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 040c68cb2ca6c893d9ba11291c21b1cf84fec980
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 3 16:23:35 2007 -0400

    [test] Make pdf2svg build (and distributed)

 test/Makefile.am |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

commit 17f5706d1730662bce0cd49f60cb150773fac051
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 3 16:04:04 2007 -0400

    [pdiff] Make stdint.h inclusion portable (#10441)
    by copying magic bits from cairo-wideint-private.h.

 test/pdiff/pdiff.c |   37 ++++++++++++++++++++++++++++++++++++-
 1 files changed, 36 insertions(+), 1 deletions(-)

commit c2b1908f9b0d8c59abf79c3462471d1c3960b153
Author: Benjamin Berg <benjamin@sipsolutions.net>
Date:   Tue Apr 3 15:46:51 2007 -0400

    Fix typo in cairo_arc_negative() docs (#10497)

 src/cairo.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 814295f5fad43ec1d8b18fac045e3c0d27ec7c29
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Apr 3 15:37:40 2007 -0400

    [autogen.sh] Add --enable-test-surfaces to configure flags
    
    Also remove --enable-maintainer-mode since we removed AM_MAINTAINER_MODE
    from configure.in in b0d05f7421c457120b9d86a83c4935c67b217fab.

 autogen.sh |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit 38c9909e2948f089bbec89e2d43b0e6f930c1ab1
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Apr 3 15:34:30 2007 -0400

    [autogen.sh] Borrow version comparison from GNOME autogen.sh (#9566)
    
    Our previous version check code was thinking that 1.10 is older than 1.7

 autogen.sh |  186 +++++++++++++++++++++++++++++++-----------------------------
 1 files changed, 97 insertions(+), 89 deletions(-)

commit 00cc44373705665824d53c8ebde5df397b834e41
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Mon Mar 26 21:44:33 2007 +0100

    [test/degenerate-path] remove quartz reference image
    
    The reference image is no longer the correct size, so isn't
    providing a comparison at all. In the absence of a better
    replacement, removing it at least gives us diffs.

 test/Makefile.am                          |    1 -
 test/degenerate-path-quartz-rgb24-ref.png |  Bin 188 -> 0 bytes
 2 files changed, 0 insertions(+), 1 deletions(-)

commit 256f3e09a8a0d152a33df00604bf2245604b72bc
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Mar 26 10:33:32 2007 +0100

    Destroy the current pattern before replacing with cairo_set_source().
    
    Frequently cairo_set_source_rgb[a]() is used to replace the current
    solid-pattern source with a new one of a different colour. The current
    pattern is very likely to be unshared and unmodified and so it is likely
    just to be immediately freed [or rather simply moved to recently freed
    cache]. However as the last active pattern it is likely to cache-warm and
    suitable to satisfy the forthcoming allocation. So by setting the current
    pattern to 'none' we can move the pattern to the freed list before we
    create the new pattern and hopefully immediately reuse it.

 src/cairo-pattern.c |   10 ++++++++++
 src/cairo.c         |    9 +++++++++
 src/cairoint.h      |    1 +
 3 files changed, 20 insertions(+), 0 deletions(-)

commit 38442d4948e0a93f06cd86e6841729bc3f25ed3b
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Mon Mar 26 10:12:46 2007 +0100

    Back out the solid-pattern-cache from 9b53bc7c6585db7ae647bb992fb9817d7bd75b38.
    
    Unfortunately one cannot cache live patterns and return a fresh reference
    instead of creating new ones as patterns can be modified by the user and
    so cannot be transparently shared between different users. However,
    solid colour allocation is still a frequent operation, so we maintain a
    small cache of recently freed patterns to reduce the malloc pressure.

 src/cairo-pattern.c |  100 ++++++++++++++++++++++++--------------------------
 1 files changed, 48 insertions(+), 52 deletions(-)

commit c8e37af4b06fffe1aa1a1c3d2cd6481cc2cf8938
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sun Mar 25 23:31:40 2007 +0100

    [quartz] fix order of fields in matrix conversion
    
    There was a typo flipping the xy and yx fields when a
    cairo matrix was converted to a quartz matrix.

 src/cairo-quartz-surface.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit d2cdd5eba801fc5f696d1095f237ae53c54b4e2a
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sat Mar 24 13:25:03 2007 +0000

    [atsui] fix scaling  of glyph surfaces (#9568)
    
    Atsui glyph surface were clipped incorrectly when the text is scaled,
    visible in the text-pattern test.

 src/cairo-atsui-font.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

commit 2efaf3a7a47a281ca02009d371cd7a06a8a4f282
Merge: abac4d2... 25ddc08...
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Sat Mar 24 00:29:04 2007 +0100

    Merge branch 'master' of git+ssh://hasselmm@git.freedesktop.org/git/cairo

commit abac4d251dd02151dced296afa9d6e1b383868ee
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Fri Mar 23 23:36:15 2007 +0100

    [cairo-perf] Use full 64 bit of the clock cycle counters to avoid overflows

 perf/cairo-perf-posix.c |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

commit 25ddc0800490ca0222668e389412f92ccfdab91c
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Mar 23 23:19:30 2007 +1030

    PS: Remove unused variable

 src/cairo-ps-surface.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit e9a26966484171f94df41bd3abc83aae22682caa
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Mar 23 23:08:46 2007 +1030

    PDF: Use the TJ operator to show glyphs

 src/cairo-pdf-surface.c                 |  125 ++++++++++++++++++++++++++-----
 src/cairo-ps-surface.c                  |   11 ++-
 src/cairo-scaled-font-subsets-private.h |   25 ++++++-
 src/cairo-scaled-font-subsets.c         |   83 ++++++++++++++++-----
 src/cairo-svg-surface.c                 |    7 +-
 5 files changed, 201 insertions(+), 50 deletions(-)

commit 820341b4c503fbd5ca3b8f6c3e5ff6eca5562b98
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Mar 21 15:44:18 2007 -0400

    [test/nil-surface] Test that cairo_get_target() returns non-NULL

 test/nil-surface.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit ef8515b4a6b468e589639e794a959cb37d592359
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Mar 21 15:29:18 2007 -0400

    cairo_push/pop_group(), bail out if cairo_t is in error status
    
    Fixes the new test added to test/nil-surface to not crash

 src/cairo.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

commit 52341f7e855c93fc8e58895c3a318c43c3d58474
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Mar 21 15:21:05 2007 -0400

    [test/nil-surface] Test cairo_create(NULL).  Crashing in cairo_push_group!

 test/nil-surface.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

commit 9cea8a4bb26f7de2ac56e318c72e7d048b8b6c0f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Mar 21 15:03:02 2007 -0400

    [cairo.c] Don't access gstate members directly

 src/cairo-gstate.c |   18 ++++++++++++++++++
 src/cairo.c        |   23 +++++++++++------------
 src/cairoint.h     |    3 +++
 3 files changed, 32 insertions(+), 12 deletions(-)

commit 39ae64ff0391c40077b63d214727ca0c25e03e37
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Mar 21 14:56:34 2007 -0400

    [cairo-path] Don't access gstate members directly

 src/cairo-path.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit bd275c19782700f2cfc6905f348e4d4b3f15d311
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Mar 21 12:34:37 2007 -0400

    [cairo-pattern] Make sure cached solid patterns are not put in error status

 src/cairo-pattern.c |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

commit e76d3cfa4f06ba813528a018fa77ba4d210a44e3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Mar 21 12:33:31 2007 -0400

    [cairo-gstate] Make sure gstate->next is initialized

 src/cairo-gstate.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 1469ea22ba659ba7afa6892e9b6b2a3f26d0dddb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Mar 21 11:22:33 2007 -0400

    [cairo-gstate] Move save/restore logic into gstate instead of cairo_t
    by adding _cairo_gstate_save/restore().  This is in preparation for
    adding copy-on-write behavior to gstate.

 src/cairo-gstate.c |   53 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 src/cairo.c        |   32 +++++++++---------------------
 src/cairoint.h     |    8 +++---
 3 files changed, 65 insertions(+), 28 deletions(-)

commit 5f83a1b542a1932a59299a45f36dff22268dca14
Author: Jeff Smith <whydoubt@yahoo.com>
Date:   Wed Mar 21 10:41:03 2007 -0400

    [cairo-output-stream] Remove use of strtol

 src/cairo-output-stream.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

commit bba7169805cec96b442d15241b0fdf8c38d0cd0e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 20 22:55:02 2007 -0400

    Fix file permissions again
    
    Where do these a+x attributes coming from every once in a while?

 0 files changed, 0 insertions(+), 0 deletions(-)

commit ad51ee5aa0d1fc03c4ebe7f0454949995420a710
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 20 18:59:19 2007 -0400

    Define and use ARRAY_LEN

 src/cairo-arc.c             |    2 +-
 src/cairo-atsui-font.c      |    6 ++----
 src/cairo-bentley-ottmann.c |    2 +-
 src/cairo-cff-subset.c      |    8 +++-----
 src/cairo-hash.c            |    2 +-
 src/cairo-pattern.c         |    2 +-
 src/cairo-polygon.c         |    2 +-
 src/cairo-spline.c          |    2 +-
 src/cairo-surface.c         |    2 +-
 src/cairo-svg-surface.c     |    2 +-
 src/cairo-traps.c           |    2 +-
 src/cairo-truetype-subset.c |    8 +++-----
 src/cairoint.h              |    3 +++
 13 files changed, 20 insertions(+), 23 deletions(-)

commit 1de12714a9623e66309279eb9edaf6053fd92c56
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Wed Mar 14 01:31:58 2007 +0000

    [cairo-surface] Use a stack buffer for small numbers of rectangles

 src/cairo-surface.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

commit 9b53bc7c6585db7ae647bb992fb9817d7bd75b38
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Tue Mar 13 22:51:12 2007 +0000

    Cache solid patterns
    
    We use a small cache of size 16 for patterns created from solid colors,
    e.g. cairo_set_source_rgb(). This helps with toolkits that draw many
    widgets using the same colour scheme.
    
    The cache uses a static index variable, which itself acts like a cache
    of size 1, remembering the most recently used colour. So repeated
    lookups for the same colour hit immediately. If that fails, the cache
    is searched linearly, and if that fails too, a new pattern is created
    and a random member of the cache is evicted.

 src/cairo-color.c                 |    7 +++
 src/cairo-debug.c                 |    2 +
 src/cairo-mutex-list.h            |    2 +
 src/cairo-pattern.c               |   63 +++++++++++++++++++++++++++-
 src/cairoint.h                    |    7 +++
 test/Makefile.am                  |    1 +
 test/solid-pattern-cache-stress.c |   83 +++++++++++++++++++++++++++++++++++++
 7 files changed, 163 insertions(+), 2 deletions(-)

commit 39679b1b21b07b0fbc05ee21745f384a123ba8da
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 20 18:01:41 2007 -0400

    [cairo-path-fixed] Fix "comparison between signed and unsigned" warnings

 src/cairo-path-fixed.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit c939421e16fcf098f8d6196e86705173be8e40fd
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 20 08:54:01 2007 -0400

    Oops.  Remove cairo-mutex-private.h include from test surfaces
    as that file is included from cairoint.h now.

 src/test-fallback-surface.c  |    1 -
 src/test-meta-surface.c      |    1 -
 src/test-paginated-surface.c |    1 -
 3 files changed, 0 insertions(+), 3 deletions(-)

commit 0d3e886b182b55b147f2ba1a298c2f5ec8a53d87
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 20 08:49:28 2007 -0400

    Include cairo-mutex-private.h in test backends

 src/test-fallback-surface.c  |    1 +
 src/test-meta-surface.c      |    2 ++
 src/test-paginated-surface.c |    1 +
 3 files changed, 4 insertions(+), 0 deletions(-)

commit 0263f18f843175e478bd3a14e24445e31e7b0952
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 20 08:47:45 2007 -0400

    [configure.in] Define PIXMAN_CFLAGS, to pass -fno-strict-aliasing to pixman

 configure.in           |   10 +++++++---
 pixman/src/Makefile.am |    4 +---
 2 files changed, 8 insertions(+), 6 deletions(-)

commit 94c367f7d7637fc74ed6d1fbe13d73662c08246b
Merge: c4bd7cf... d3177a6...
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Tue Mar 20 13:33:50 2007 +0100

    Merge branch 'master' of git+ssh://hasselmm@git.freedesktop.org/git/cairo

commit c4bd7cf6f85770552c0b0284db219f27ffa702f2
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Tue Mar 20 13:32:33 2007 +0100

    Move declaration of cairo_mutex_t to cairo-mutex-private.h

 src/cairo-font.c              |    1 -
 src/cairo-ft-font.c           |    1 -
 src/cairo-mutex-private.h     |   53 ++++++++++++++++++++++++++++++++++-------
 src/cairo-mutex.c             |    6 +++-
 src/cairo-paginated-surface.c |    1 -
 src/cairo-pattern.c           |    1 -
 src/cairo-scaled-font.c       |    1 -
 src/cairo-surface.c           |    1 -
 src/cairo-xlib-screen.c       |    1 -
 src/cairoint.h                |   37 +---------------------------
 10 files changed, 49 insertions(+), 54 deletions(-)

commit 9c52a9e7d8a70d21ecdd4fa241fa2594361dd5df
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Tue Mar 20 13:05:48 2007 +0100

    Remove _global_image_glyph_cache_mutex which is not used anymore.

 src/cairo-mutex-list.h |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

commit d3177a68752ac2c8d20b1a8a3616298f04f31078
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 20 07:59:47 2007 -0400

    [cairo-mutex] Rename _xlib_screen_mutex to _cairo_xlib_screen_mutex

 src/cairo-mutex-list.h  |    2 +-
 src/cairo-xlib-screen.c |   20 ++++++++++----------
 2 files changed, 11 insertions(+), 11 deletions(-)

commit be52178443ffd19fc7848dfc78c477883ccb943b
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Tue Mar 20 10:11:14 2007 +0100

    Initialize mutexes at central location.
    
    All mutex declarations have been moved to cairo-mutex-list.h.
    This should avoid breaking of less frequently tested backends,
    when mutexes are introduced or when existing mutexes are renamed.
    
    Instead of initializing mutexes on library startup, mutexes are
    lazily initialized within the few entry points of now by calling
    CAIRO_MUTEX_INITIALIZE(). Currently only the OS/2 backend takes
    care about releasing global mutexes. Therefore there is no counter
    part of that macro for finalizing all global mutexes yet - but
    as cairo-backend-os2.c shows such a function would be quite
    easy to implement.

 src/Makefile.am               |    1 +
 src/cairo-font.c              |    7 +-
 src/cairo-ft-font.c           |    3 +-
 src/cairo-mutex-list.h        |   52 +++++++++++++++++
 src/cairo-mutex-private.h     |  123 +++++++++++++++++++++++++++++++++++++++++
 src/cairo-mutex.c             |   51 +++++++++++++++++
 src/cairo-os2-surface.c       |   45 +--------------
 src/cairo-paginated-surface.c |    1 +
 src/cairo-pattern.c           |    3 +
 src/cairo-scaled-font.c       |    3 +-
 src/cairo-surface.c           |    5 +-
 src/cairo-win32-font.c        |   10 ---
 src/cairo-win32-private.h     |    3 -
 src/cairo-win32-surface.c     |   65 ---------------------
 src/cairo-xlib-screen.c       |    3 +-
 src/cairoint.h                |   71 +++++-------------------
 16 files changed, 257 insertions(+), 189 deletions(-)

commit aba2b299db163d8a5b9d0a0214cd8a485fb87162
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Mar 19 23:50:13 2007 -0700

    boilerplate: Add EXTRA_LTLIBRARIES to CLEANFILES to allow make distcleancheck to pass.

 boilerplate/Makefile.am |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 2483542b74ac71851cc766de3468d0df833cdec2
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Mar 19 23:37:28 2007 -0700

    Add skew-extreme-ref.png to the tar file for the release.

 test/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit b91ff39214675faea5d3627ecf86a24aeb8b178f
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Mar 19 23:24:26 2007 -0700

    Increment cairo version to 1.4.2 (and libtool versioning to 13:1:11)

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 04b3de48f5269cae483b4af425402679a35e7d33
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Mar 19 23:22:39 2007 -0700

    NEWS: Add notes for cairo 1.4.2

 NEWS |  130 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 130 insertions(+), 0 deletions(-)

commit 1401f20eb91f34d992612162db0c9e04bd666114
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Mar 19 22:39:40 2007 -0700

    Temporarily remove extend-reflect from the list of tests.
    
    This test is known to sometimes cause an X server to enter a near-
    infinite loop. That's a reall unkind thing to inflict upon our
    users who are being nice enough to test cairo. Let's disable
    this test for the 1.4.2 release.

 test/Makefile.am |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 725a4de42dfaf0d9d98447c9fbefed99fbf99ac1
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Mar 19 16:50:55 2007 -0700

    Propagate a nil surface out of _cairo_surface_create_similar_scratch
    
    We detect an error in the surface before calling into private surface-modifying
    functions, (such as _cairo_surface_set_font_options), that don't have the
    nil-surface protection of public functions.
    
    This should fix the problem reported (again) in this bug report:
    
    	cairo crashes in cairo_create_simular if nil surface returned by other->backend->create_similar
    	https://bugs.freedesktop.org/show_bug.cgi?id=9844
    
    Though I haven't succeeded in replicating the bug yet, (perhaps a system
    difference in allowing writes to read-only memory or not, or something
    like that).

 src/cairo-surface.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit eb472a9d9cbaea754907a261b459693b9c27ac79
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Mar 19 13:13:41 2007 -0700

    xlib: Prefer surface->format over surface->visual for identifying masks
    
    The original test for 'if (surface->visual)' dates back to a very old
    assumption that if the xlib surface was created with an XRenderFormat
    that the surface->visual field would be set to NULL. This assumption
    was broken years ago with the following commit:
    
    	0c05b23b3165ec6908c28f56b3446cf43dff44a2
    
    This fixes the crash reported here:
    
    	BadMatch when running gnome-terminal with the murrine-0.51 gtk engine
    	https://bugs.freedesktop.org/show_bug.cgi?id=10250

 src/cairo-xlib-surface.c |   27 +++++++++++++++------------
 1 files changed, 15 insertions(+), 12 deletions(-)

commit d27c42cc3fcd4376fc69aa68d997e6077c3eca90
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 19 17:42:06 2007 -0400

    [boilerplate] Don't build in make all

 boilerplate/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 12feb1f98627637bf83ba70f739bb5b2699085aa
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Mon Mar 19 18:22:44 2007 +0000

    [quartz] apply ctm to text (#9568)
    
    Applies the ctm to text output on the quartz surface. This corrects
    the text-pattern test, and also corrects the size of text when the
    ctm includes a scale.

 src/cairo-quartz-surface.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

commit 986b0ff83813b68a19490fe8629bfdaeed68cbe2
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Mon Mar 19 18:21:27 2007 +0000

    [atsui] make text_to_glyphs return positions in user units. (#9568)
    
    text_to_glyphs was returning positions in device units; correct this
    to use user units.

 src/cairo-atsui-font.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

commit 06a44839270354c7f74aa66352fb4234095dee4e
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sun Mar 18 20:20:11 2007 +0000

    [atsui] store sizes in the atsui font
    
    The ATSUStyle that we store in the font contains references to
    the size and font matrix; we need to store them in the font so that
    they are not released before the style.

 src/cairo-atsui-font.c |   16 +++++++++-------
 1 files changed, 9 insertions(+), 7 deletions(-)

commit 240479d10d3263719b0c8a4426fda088899551a2
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sun Mar 18 20:20:10 2007 +0000

    [atsui] refactor CreateSizedCopyOfStyle
    
    This is just to make it easier to use with passed-in matrices,
    which I'll make use of in a subsequent patch.

 src/cairo-atsui-font.c |   36 ++++++++++++++++++++----------------
 1 files changed, 20 insertions(+), 16 deletions(-)

commit 43577e26b4c2285499ebfddba6cfa62cbbb15feb
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sun Mar 18 20:20:10 2007 +0000

    [atsui] remove the unused old_show_glyphs function.
    
    _cairo_atsui_old_show_glyphs was a relic of the old quartz
    surface and is no longer required.

 src/cairo-atsui-font.c |  180 ++++--------------------------------------------
 1 files changed, 15 insertions(+), 165 deletions(-)

commit 5aaf584bf44d762af5e486f21a037eb0cc6e1197
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 16 17:45:31 2007 -0700

    XCB: Fix parameter-order confusion with xcb_create_pixmap
    
    This fixes mask-based clipping with the XCB backend, (which also makes
    the xcb backend pass all tests that the xlib backend passes).

 src/cairo-xcb-surface.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

commit 6f96a5dd9954418b252ec45752dcf2c3b289fed4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Mar 16 18:21:36 2007 -0400

    [win32] Really return unhinted font metrics if metrics hinting is off

 src/cairo-win32-font.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 47e71eef5f903fa1a96d82a79a75d89c52032913
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Mar 16 17:56:53 2007 -0400

    [win32] Fix font descent computation

 src/cairo-win32-font.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit dd4601b0d03bba021b11dcf96e09584f40d1621f
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Fri Mar 16 20:43:29 2007 +0100

    [cairo-perf] Emit warning, if cairo-perf is not CPU bound
    
    	cairo-perf and the X server should be bound to CPUs (either the same
    	or separate) on SMP systems. Not doing so causes random results when
    	the X server is moved to or from cairo-perf's CPU during the
    	benchmarks.

 configure.in      |   11 +++++++++++
 perf/cairo-perf.c |   52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 63 insertions(+), 0 deletions(-)

commit d02aa5b23eb6243b21697de203db0a5f1b49def9
Author: Gilles Dauphin <dauphin@enst.fr>
Date:   Fri Mar 16 10:35:23 2007 -0700

    Don't use unsupported visibily attribute hidden on Solaris
    
    Thanks to Thomas Klausner for passing the report along.
    This fixes the following bug report:
    
    	hidden attribute does not work with Solaris ld
    	https://bugs.freedesktop.org/show_bug.cgi?id=10227
    
    And as Behdad points out, an even better fix would be to
    move checks for supported visibility attribute to configure.

 pixman/src/pixman.h |    2 +-
 src/cairoint.h      |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit 8236282c5d58320173b17659e488384e710d0ea7
Author: Thomas Klausner <wiz@danbala.tuwien.ac.at>
Date:   Fri Mar 16 10:04:56 2007 -0700

    Use "find !" rather than "find -not" for better portability
    
    The man page for GNU find says:
           -not expr
                  Same as ! expr, but not POSIX compliant.
    
    And actually, on e.g. NetBSD, "-not" is not supported.
    
    This resolved the following bug:
    
    	https://bugs.freedesktop.org/show_bug.cgi?id=10226

 RELEASING            |    2 +-
 src/check-headers.sh |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 332c38b6c34bde4829607e534f39522f8001acf7
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Mar 15 23:25:06 2007 -0700

    Avoid pulling in -lz for the ps backend.
    
    Quite some time ago we switched from using deflate-based compression to LZW
    for the ps backend, (which allows it to target PostScript Level 2 instead of
    PostScript Level 3). Now, we finally drop the fact that the ps backend was
    still requiring zlib in order to build.

 configure.in |    6 +-----
 1 files changed, 1 insertions(+), 5 deletions(-)

commit 2242550b489472d4d9b6505fd3db89541e101425
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Mar 15 23:17:19 2007 -0700

    Make compilation of cairo-deflate-stream.c conditional on compilation of PDF backend.
    
    Otherwise we risk pulling in an otherwise-unneeded dependency on zlib.
    
    This fixes the bug reported here:
    
    	Without PDF surface backend we don't need cairo-deflate-stream
    	https://bugs.freedesktop.org/show_bug.cgi?id=10202

 src/Makefile.am |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 1234064fa4aa20d0875473709d2fa74600af485b
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Mar 15 22:38:42 2007 -0700

    Allow NULL pointers for functions that accept pointers for multiple return values.
    
    When a single function accepts pointers for multiple return values,
    the convention is that it's legal for the user to pass NULL for
    those pointers in case the user is only interested in some subset
    of the values.
    
    This was already properly implemented for functions such as
    cairo_pattern_get_rgba, etc.
    
    Here we fix four functions to follow the same convention:
    
    	cairo_stroke_extents
    	cairo_fill_extents
    	cairo_clip_extents
    	cairo_surface_get_device_offset

 src/cairo-gstate.c  |   44 +++++++++++++++++++++++++++++++++-----------
 src/cairo-surface.c |    6 ++++--
 2 files changed, 37 insertions(+), 13 deletions(-)

commit 133183d858aa632da3cec2a789dcc1e1203d778b
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Mar 15 22:08:55 2007 -0700

    Fix cairo_stroke_extents and cairo_in_stroke to not crash with line width of 0.0
    
    This fixes the line-width-zero test case and the bug reported here:
    
    	Crash in cairo_stroke_extents whe line width is 0 and line cap is ROUND
    	(_cairo_pen_find_active_cw_vertex_index)
    	https://bugs.freedesktop.org/show_bug.cgi?id=10231

 src/cairo-gstate.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

commit 23caa0f43ba199371ab178cf3e827e449ee5935f
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Mar 15 21:58:20 2007 -0700

    Add line-width-zero test which currently crashes.
    
    The crash is described in this bug report:
    
    	Crash in cairo_stroke_extents whe line width is 0 and line cap is ROUND
    	(_cairo_pen_find_active_cw_vertex_index)
    	https://bugs.freedesktop.org/show_bug.cgi?id=10231

 test/.gitignore        |    1 +
 test/Makefile.am       |    1 +
 test/line-width-zero.c |   79 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 81 insertions(+), 0 deletions(-)

commit 562bd551bc5ca3f3858a66b9884a8525531153c8
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Thu Mar 15 12:47:41 2007 +0100

    [cairo-perf-diff] Update usage screen to mention --html.

 perf/cairo-perf-diff |   73 ++++++++++++++++++++++++++++---------------------
 1 files changed, 42 insertions(+), 31 deletions(-)

commit 6ff2439b33a9da9a517325bfd472e8cb1fdd4992
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Mar 14 16:33:01 2007 -0700

    Implement _cairo_traps_tessellate_triangle with _cairo_traps_tessellate_convex_quad
    
    The newly rewritten convex_quad code is actually simpler than the
    triangle code being replaced here. This also allows us to throw
    away the problematic _compute_x function which can't handle
    horizontal lines, (divide by zero). So the cairo world becomes a
    better place.

 src/cairo-traps.c |   89 +++++-----------------------------------------------
 1 files changed, 9 insertions(+), 80 deletions(-)

commit 53ae6ea957bac141c033f41276d93bab3a25009f
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Mar 14 16:30:48 2007 -0700

    Fix _cairo_traps_tessellate_convex_quad to handle a == b
    
    This case was found in an attempt to use the convex_quad function
    for tessellating triangles as well. Fortunately the fix is very
    easy.

 src/cairo-traps.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

commit 96d8f58daf279238d3a1dfcd4ed3710014e2aeea
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Mar 13 20:17:22 2007 +0000

    Clear the XRender data on display closure.
    
    Use the new hook functions to register a callback for xlib to clear
    the private glyph data when the display is closed. In order to do this
    we need to reset the glyph cache inside the generic scaled font as well.

 src/cairo-xlib-surface.c |   25 +++++++++++++++++++++++++
 1 files changed, 25 insertions(+), 0 deletions(-)

commit 52405533b1b191ff98ef3cbc20eaf55e97c8049c
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Mar 13 20:42:09 2007 +0000

    Privately export a function to reset the scaled font's glyph caches.

 src/cairo-scaled-font.c |    9 +++++++++
 src/cairoint.h          |    3 +++
 2 files changed, 12 insertions(+), 0 deletions(-)

commit ad7698feb5f818ba2657b01bbc04f7fb537c1297
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Tue Mar 13 20:11:49 2007 +0000

    Introduce hooks for _cairo_xlib_close_display()
    
    This patch adds a simple hook data type for a notifier style callback
    and introduces two functions to manipulate a list of callbacks for
    cleaning up on display closure.

 src/cairo-xlib-private.h |   15 +++++
 src/cairo-xlib-screen.c  |  153 ++++++++++++++++++++++++++++++++++++----------
 2 files changed, 136 insertions(+), 32 deletions(-)

commit 3d3173d176bc959682a35674c31d3155e8642c41
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Mar 14 16:56:45 2007 -0700

    Add svg-specific reference image for radial-gradient test.
    
    This isn't strictly needed, (pdiff allows the test to pass without the
    image), but it sure runs faster this way.

 test/radial-gradient-svg-ref.png |  Bin 0 -> 91039 bytes
 1 files changed, 0 insertions(+), 0 deletions(-)

commit 75201c12be74055d6209d48d1d698797665a70b4
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Mar 14 15:48:15 2007 -0700

    check-def.sh: Adjust test to exempt _cairo_test_* functions as well as _cairo_*_test_*
    
    This test started failing with the recent renaming of the following
    three functions, (before they had no cairo in their names so they
    were not getting picked up at all):
    
    _cairo_test_fallback_surface_create
    _cairo_test_meta_surface_create
    _cairo_test_paginated_surface_create_for_data
    
    With this change, the failure now goes away again.

 src/check-def.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5d23d0c90c31b233d5916c12eaf2a1dafc441243
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Mar 14 15:23:01 2007 -0700

    Remove dead-code remnants of old tessellator

 src/cairo-traps.c |  372 -----------------------------------------------------
 1 files changed, 0 insertions(+), 372 deletions(-)

commit 1f3a5b4e1283cc0e55f7ea6baca6d0fe67fd14b1
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Mar 13 17:42:39 2007 -0700

    Fix bugs in _cairo_traps_tessellate_convex_quad
    
    The previous code was not handling all cases correctly, (yes,
    even something as simple as a quadrilateral can exhibit a
    remarkably large number of different cases when tessellation
    is attempted).
    
    This fix now introduces slope comparison which handles several
    cases that were mis-handled with the previous implementation which
    only used independent sorting of the X and Y values of the
    coordinates.
    
    This fixes the skew-extreme test case and the bug reported here:
    
    	Skew transforms were broken by the cairo update in December
    	https://bugzilla.mozilla.org/show_bug.cgi?id=373632

 src/cairo-traps.c |  101 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 59 insertions(+), 42 deletions(-)

commit 0a6ae06c35d99e5e8397c58ee94291e7ee45eb4e
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Mar 13 17:39:48 2007 -0700

    Add new skew-extreme test case.
    
    This test currently fails, demonstrating the bug reported here:
    
    	Skew transforms were broken by the cairo update in December
    	https://bugzilla.mozilla.org/show_bug.cgi?id=373632

 test/.gitignore           |    1 +
 test/Makefile.am          |    1 +
 test/skew-extreme-ref.png |  Bin 0 -> 1012 bytes
 test/skew-extreme.c       |  126 +++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 128 insertions(+), 0 deletions(-)

commit 40b6d8842e1bcb5fbb3a7dffd0c05b7d3bf6cc6b
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Mar 13 13:07:42 2007 -0700

    Remove radial-gradient test from XFAIL list
    
    This test has not been failing since the fix in:
    
    	772edc9133d41dfd667ae5915dfa6ace0bcbfd0d
    
    So get rid of the '1 unexpected passes' complaint.

 test/Makefile.am       |    1 -
 test/radial-gradient.c |    3 +--
 2 files changed, 1 insertions(+), 3 deletions(-)

commit e803e2e69ba02a1db316c97eb9a8d386709380e2
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Mar 14 17:23:57 2007 -0400

    [cairo-pattern] Add a cache of two color stops to cairo_gradient_pattern_t
    
    Most of gradients have only two color stops.  This avoids
    calling malloc() for those cases.

 src/cairo-pattern.c |   25 +++++++++++++++++++++----
 src/cairoint.h      |    1 +
 2 files changed, 22 insertions(+), 4 deletions(-)

commit 4514fdca1ba0f3922c2797744f4b0d42d37f8b42
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 20:49:52 2007 -0400

    [cairo-pattern] Grow color-stops array exponentially

 src/cairo-pattern.c |   61 ++++++++++++++++++++++++++++++++++++---------------
 src/cairoint.h      |    3 +-
 2 files changed, 45 insertions(+), 19 deletions(-)

commit e878f2259b2512f0411d698bf078fe91b7373246
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 11:42:41 2007 +0100

    Include pixman/src in cairo-perf hash

 perf/cairo-perf-diff |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 1a3f5df5ff4a80bb199e296491e3a5c9887fd4f7
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 21:42:50 2007 +0100

    Add index.html to .gitignore

 perf/.gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit c40be43aef735deba7605fde14300b7810701011
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 21:41:40 2007 +0100

    Transform the output of cairo-perf-diff into HTML

 perf/Makefile.am     |    8 ++++-
 perf/cairo-perf-diff |   20 ++++++++---
 perf/make-html.py    |   89 ++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 111 insertions(+), 6 deletions(-)

commit f1dd48475a34a038ebdb6426b04fc3728a0f0782
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Wed Mar 14 21:18:09 2007 +0100

    Improve CPU utilization when building cairo-perf

 perf/cairo-perf-diff |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

commit a7595c1295ba1a58b452b1df31d02776e5c17c0f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 17:21:19 2007 -0400

    [Makefile.am] Do not distribute cairo-features.h, Ouch!
    
    We were accidentally doing that by not marking it noinst.
    Moreover, no need to mark it as BUILD_SOURCES, since it's
    created by configure, not make.

 src/Makefile.am |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit f3c8d82d6d6a759364c4228d9b0badf846debcea
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 16:51:34 2007 -0400

    [test] If backends are limited and all untested, pass the test
    This is necessary to ensure that limiting backends using
    CAIRO_TEST_TARGET does not increase the number of tests failing,
    which is a desirable invariant.

 test/cairo-test.c |   44 +++++++++++++++++++++++++++++---------------
 1 files changed, 29 insertions(+), 15 deletions(-)

commit 30b5f1baa8cbd01ac0a3ff376e294775b600b4e4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 16:50:10 2007 -0400

    [test] In pattern-getters test, log what went wrong

 test/pattern-getters.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

commit 9267cb042418250614db83bd3b2dcb0e7615af79
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 16:49:42 2007 -0400

    [cairo-pattern] Use _cairo_color_double_to_short() to fix color conversion

 src/cairo-pattern.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 60502ba3481ea751df6f379e1c38850172826695
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 16:13:35 2007 -0400

    [cairo-color] Add cairo-private _cairo_color_double_to_short()

 src/cairo-color.c |   11 ++++++-----
 src/cairoint.h    |    3 +++
 2 files changed, 9 insertions(+), 5 deletions(-)

commit 956fdfbb62ac82da1e6fbd467c50e449ec621937
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 06:30:11 2007 -0400

    [cairo-pattern] Fix color conversion from short to double
    We should divide by 65535.0, not 65536.0.

 src/cairo-pattern.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 20304908626f0af40aeda145b2967a40151728c5
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 06:20:21 2007 -0400

    [cairo-pattern] Add XXX note

 src/cairo-pattern.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit deed0f473400bc2e91dde8bad2537d499a5941ea
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 06:09:09 2007 -0400

    [polygon,spline,traps] Avoid free(NULL)

 src/cairo-polygon.c |    2 +-
 src/cairo-spline.c  |    2 +-
 src/cairo-traps.c   |    2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

commit b706bd9b38d505d2b09e932a8f362fac76ef64de
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 06:07:03 2007 -0400

    [cairo-polygon] Add a cache of eight edges to cairo_polygon_t
    
    Many, if not most, of polygons have very few edges.  This avoids
    calling malloc() for those cases.

 src/cairo-polygon.c |   30 +++++++++++++++++++++++-------
 src/cairoint.h      |    1 +
 2 files changed, 24 insertions(+), 7 deletions(-)

commit d8165d5424718404946c3a72d59396fc604d1bce
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 05:59:33 2007 -0400

    [cairo-spline] Fix typo in comment

 src/cairo-spline.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit cca7e3fec3a3ec68f812690aa7efafa7dc237849
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 05:56:38 2007 -0400

    [cairo_polygon_t] Change has_current_point from int to cairo_bool_t

 src/cairo-polygon.c |    8 ++++----
 src/cairoint.h      |    2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

commit 81e15a454b188aa8dd03eb599d0fb4af834695f1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 05:55:45 2007 -0400

    [cairo_polygon_t] Remove unused member 'closed'

 src/cairoint.h |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit 2bf4ce389d05e07698e03374c3d05436f5d2b2e4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 05:53:13 2007 -0400

    [cairo_polygon_t] Reorder struct members for clarity

 src/cairoint.h |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 3ce84390de8be69f369a4da80c3039b716ebb0e4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 05:51:39 2007 -0400

    [cairo-polygon] Clean-up realloc algorithm for clarity

 src/cairo-polygon.c |   18 +++++++-----------
 1 files changed, 7 insertions(+), 11 deletions(-)

commit 6976ab1392e0fd07a081e6d6056510070e1d6df9
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Mar 9 16:23:35 2007 -0500

    [cairo-slope] Make comparison stable if both vectors are zero

 src/cairo-slope.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

commit 9eee167210b6cc562014652572872cf0a7ccb00e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 22:34:44 2007 -0500

    [cairo-spline] Add a cache of eight points to cairo_spline_t
    
    Most of the splines need not more than eight points.  This avoids
    calling malloc() for those cases, and eight-points take only 64 bytes.

 src/cairo-spline.c |   28 +++++++++++++++++++++++-----
 src/cairoint.h     |    1 +
 2 files changed, 24 insertions(+), 5 deletions(-)

commit 1e64ecf0758a208b469ae0a87a747b3a70c70ceb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 22:17:30 2007 -0500

    [cairo-spline] Clean-up realloc algorithm for clarity

 src/cairo-spline.c |   17 +++++++----------
 1 files changed, 7 insertions(+), 10 deletions(-)

commit cee687a33fb46b68d39bbfa64c44f0b28e10a9ee
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 22:19:49 2007 -0500

    [cairo_traps_t] Reorder struct members for clarity

 src/cairoint.h |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 24aec99ffb9abce659146ea6ecbfb92856355855
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 20:32:36 2007 -0500

    [cairo-traps] Add a cache of one trapezoid to cairo_traps_t
    
    Seems like half the time, we just need one trap.  This avoids
    calling malloc() for those cases.

 src/cairo-traps.c |   30 +++++++++++++++++++++++-------
 src/cairoint.h    |    2 ++
 2 files changed, 25 insertions(+), 7 deletions(-)

commit 4737416c6e7829ec21230103a1b993d2bd08cc0e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 20:05:13 2007 -0500

    [cairo-traps] Clean-up realloc algorithm for clarity

 src/cairo-traps.c |   21 +++++++++------------
 1 files changed, 9 insertions(+), 12 deletions(-)

commit a9d8cb3e8aceb5831dfb3920df1502bf3b9450a6
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 19:34:43 2007 -0500

    [cairo-traps] Use INT32_MIN/MAX instead of INT16_MIN/MAX << 16

 src/cairo-traps.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 5d28bf605fee84520e82818dd35cae8899ecc2ba
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 19:22:57 2007 -0500

    [test] Make pdiff if necessary

 test/Makefile.am |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit e765ac745e0438296d2c852fd8231bd8f1fff034
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 18:13:55 2007 -0500

    [skiplist] Prefix symbols with _cairo

 src/cairo-bentley-ottmann.c  |   24 ++++++++++++------------
 src/cairo-skiplist-private.h |   22 +++++++++++-----------
 src/cairo-skiplist.c         |   20 ++++++++++----------
 3 files changed, 33 insertions(+), 33 deletions(-)

commit cd78da36f663b99c67d50dcd692cd7b67677c82a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 18:08:37 2007 -0500

    [test-surfaces] Prefix public symbols with _cairo

 boilerplate/cairo-boilerplate.c |    6 +++---
 src/test-fallback-surface.c     |    8 ++++----
 src/test-fallback-surface.h     |    2 +-
 src/test-meta-surface.c         |    2 +-
 src/test-meta-surface.h         |    2 +-
 src/test-paginated-surface.c    |    2 +-
 src/test-paginated-surface.h    |    2 +-
 7 files changed, 12 insertions(+), 12 deletions(-)

commit 8997b3a023b0edb8877675ce520fbb883d6fa188
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 17:54:00 2007 -0500

    [skiplist] Move static variable out of function
    
    Part of my secrect plan to make cairo compilable with:
    
    	#define static
    
    Useful for some weird debugging purposes.

 src/cairo-skiplist.c |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

commit d40126f5aba481e4f4d9582cb5c37478f8ef37e7
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 17:47:33 2007 -0500

    [cairo_t] Embed a gstate into cairo_t
    
    So we don't have to malloc the first gstate.

 src/cairo-gstate.c  |   44 ++------------------------------------------
 src/cairo-private.h |    1 +
 src/cairo.c         |   32 ++++++++++++++------------------
 src/cairoint.h      |   10 +++++++---
 4 files changed, 24 insertions(+), 63 deletions(-)

commit 01f9ee39feb6ca48b9e07fdec62d8ab1b94ab75d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 17:42:23 2007 -0500

    [cairo-clip] Make _cairo_clip_init tolerate NULL target
    
    (needed for upcoming patches.)

 src/cairo-clip.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit bc8987068d1849cf7c16c38132fcc3c8d3b4e12e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 17:15:35 2007 -0500

    [cairo_t] Make path an array of size one
    
    This is more natural since cr->path can be used as if it was a pointer.
    This means, for example, if we move on to making it a pointer, most of
    the code using it does not need any change.  So we get some level of
    encapsulation of implementation details, if you prefer the terminology :).

 src/cairo-private.h |    2 +-
 src/cairo.c         |   52 +++++++++++++++++++++++++-------------------------
 2 files changed, 27 insertions(+), 27 deletions(-)

commit 74e6a24e98baf70284b65d5f4ed41bdf7449d72d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 17:04:43 2007 -0500

    [Quartz] Don't include cairo-private.h

 src/cairo-quartz-surface.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 6bc543a0ebe4076da31bad4d3ccca4d713948587
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 16:58:18 2007 -0500

    [cairo_t] Move gstate pointer before cairo_path_fixed_t for better cache behavior

 src/cairo-private.h |    4 ++--
 src/cairo.c         |    4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

commit 85aff353ca38e607599282bc955e467df82fa01b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 16:52:09 2007 -0500

    [cairo-path-fixed] Fine-tune size of buffer
    
    such that cairo_path_fixed_t fits in 512 bytes.

 src/cairo-path-fixed-private.h |   10 ++++++----
 src/cairo.c                    |    4 ++--
 2 files changed, 8 insertions(+), 6 deletions(-)

commit 1bd073a1a2951bbb09fdab6637baae0172a223f0
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 16:23:49 2007 -0500

    [cairo-path-fixed] Merge op and arg bufs
    
    This means, we have to malloc only one buffer, not two.  Worst case
    is that one always draws curves, which fills the arg (point) buffer
    six times faster than op buffer.  But that's not a big deal since
    each op takes 1 byte, while each point takes 8 bytes.  So op space
    is cheap to spare, so to speak (about 10% memory waste at worst).

 src/cairo-path-fill.c          |   51 ++++----
 src/cairo-path-fixed-private.h |   22 +--
 src/cairo-path-fixed.c         |  313 ++++++++++++++--------------------------
 src/cairo.c                    |    3 +-
 4 files changed, 141 insertions(+), 248 deletions(-)

commit 5750d669af24fe1d2707326b9d74dfbb18adf636
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 8 14:30:10 2007 -0500

    [cairo-path-fixed] Avoid malloc for small paths
    
    We do this by including an initial op and arg buf in cairo_path_fixed_t,
    so for small paths we don't have to alloc those buffers.
    
    The way this is done is a bit unusual.  Specifically, using an array of
    length one instead of a normal member:
    
    -    cairo_path_op_buf_t *op_buf_head;
    +    cairo_path_op_buf_t  op_buf_head[1];
    
    Has the advantage that read-only use of the buffers does not need any
    change as arrays act like pointers syntactically.  All manipulation code
    however needs to be updates, which the patch supposed does.  Still, there
    seems to be bugs remaining as cairo-perf quits with a Bad X Request error
    with this patch.

 src/cairo-path-fixed-private.h |    4 +-
 src/cairo-path-fixed.c         |   66 +++++++++++++++++++++++-----------------
 src/cairo.c                    |    4 +-
 3 files changed, 42 insertions(+), 32 deletions(-)

commit 994dd1a134484d7a1ee246906f21f02d916014a8
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 04:56:54 2007 -0400

    [boilerplate] Prefer top_builddir to top_srcdir
    
    This may fix some build problems the Ubuntu guys are experiencing
    with out-of-tree builds.

 boilerplate/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2894ed19a3acd955a5d0e2f5a231a6f1eee8ac06
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 13 04:55:18 2007 -0400

    [directfb,os2] #error if the backend is not compiled in, like others do

 src/cairo-directfb.h |    3 +++
 src/cairo-os2.h      |    2 ++
 2 files changed, 5 insertions(+), 0 deletions(-)

commit 073d06d4661feb16b15ece5282a5134e3f05d8e7
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Mar 13 18:45:38 2007 +1030

    Fix incorrect file permission in previous commit

 0 files changed, 0 insertions(+), 0 deletions(-)

commit a944f42b3d58825e8def292001e3738651b7584a
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Mar 13 18:35:59 2007 +1030

    Fix buffer overflow warning

 src/cairo-truetype-subset.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0f78eb8ccf60c60a4b66441958a7498dc9f7fa47
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Mar 12 16:24:58 2007 -0700

    perf/README: Add notes on using cairo-perf-diff

 perf/README |  105 ++++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 93 insertions(+), 12 deletions(-)

commit 14cab8b020f429d346561d8ab70b154b2e3f0668
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Mar 11 21:55:19 2007 +0000

    Correct an off-by-one in the reflection of the convolution index.
    
    Currently the convolution code uses the formula 2*(N-1)-n to reflect the index
    n when n is greater than or equal to N.
    This is wrong as n=N -> 2*(N-1)-N = N-2 instead of N-1.
    
    Furthermore when the image is small, e.g. at the highest levels of the
    pyramid, this causes the code to index before the start of the array and
    causes valgrind to issue a warning.

 test/pdiff/lpyramid.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 789aada06b52e068662f0ac0f7a424c51bcba510
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Sun Mar 11 20:55:26 2007 +0000

    Avoid the struct copy when source and destination are the same.
    
    On some architectures, gcc will emit a memcpy for structure copies which will
    produce a valgrind warning when the source and destination pointers are the
    same. Workaround this issue by explicitly checking the source and destination
    for inequality before doing the structure assignment.

 src/cairo-surface.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit ef284a2d6bbeae8711226f1f1f2cf4936f6937eb
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 9 13:36:03 2007 -0800

    Fix a LOCK vs. UNLOCK typo, (yes, I'm that stupid).
    
    Thanks to M.Drochner@fz-juelich.de for noticing the bug.
    
    This fixes bug #10235:
    
    	locking bug in cairo_ft_scaled_font_unlock_face()
    	http://bugs.freedesktop.org/show_bug.cgi?id=10235

 src/cairo-ft-font.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 772edc9133d41dfd667ae5915dfa6ace0bcbfd0d
Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
Date:   Thu Mar 8 21:32:59 2007 +0100

    SVG: fix a radial gradient failure when using CAIRO_EXTEND_REFLECT.
    
    Assume from the beginning we're using a circle with a radius equal to
    2 * ( r1 - r0 ) when emulating CAIRO_EXTEND_REFLECT.

 src/cairo-svg-surface.c |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

commit c07867c545d7ab7c4a104944768f8a5b69ef9596
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Mar 7 15:55:02 2007 -0500

    [glitz] Mark some constant static structures as const

 src/cairo-glitz-surface.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 88632575bfae348a63e3e6228d5ceaa64715ae5f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Mar 7 15:54:20 2007 -0500

    [PS/PDF/SVG] Rename internal symbols to have _cairo_*_surface prefix

 src/cairo-pdf-surface.c |   74 +++++++++++++-------------
 src/cairo-ps-surface.c  |   52 +++++++++---------
 src/cairo-svg-surface.c |  136 +++++++++++++++++++++++-----------------------
 3 files changed, 131 insertions(+), 131 deletions(-)

commit 2cc1c73705d70f834b43996f70080860ac66e57d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Mar 7 15:53:27 2007 -0500

    [cairoint] Move endian-conversion routines into cairoint.h

 src/cairo-cff-subset.c      |   28 ----------------------------
 src/cairo-truetype-subset.c |   37 -------------------------------------
 src/cairoint.h              |   35 +++++++++++++++++++++++++++++++++++
 3 files changed, 35 insertions(+), 65 deletions(-)

commit 62e864e73cd1136b3c0e889dca43a1c0cc648b21
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Mar 7 15:51:35 2007 -0500

    [Type1] Add cairo-type1-private.h that Type1 fallback and subset code share

 doc/public/Headers.mk      |    1 +
 src/Makefile.am            |    1 +
 src/cairo-type1-fallback.c |   14 ++++--------
 src/cairo-type1-private.h  |   45 ++++++++++++++++++++++++++++++++++++++++++++
 src/cairo-type1-subset.c   |   18 ++++++----------
 5 files changed, 59 insertions(+), 20 deletions(-)

commit ef9799d596600aea334707d2ff00fcca82280d83
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Mar 7 15:49:51 2007 -0500

    [cosmetic] Remove static var from testing code in bentley-ottman.

 src/cairo-bentley-ottmann.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 92d331a23407c79d83bf0b2a7d003ba3525641d4
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Mar 7 13:31:54 2007 +0000

    Fix up the trivial leaks found by valgrind.

 perf/cairo-perf.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit 7d972086d6ea6a6bfa47b5fb47f7a21be61e10e8
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Mar 7 12:19:44 2007 +0000

    Add valgrind/callgrind targets to Makefile.

 perf/Makefile.am |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)

commit 734d32ed7a50284fcc8984af67734bb306735691
Author: Emmanuel Pacaud <emmanuel.pacaud@lapp.in2p3.fr>
Date:   Tue Mar 6 15:49:53 2007 -0800

    SVG: Fix CAIRO_EXTEND_REFLECT for radial gradients.
    
    This patch also handles cases where r0 > r1, (one circle must still
    be wholly contained within the other as that's all SVG supports).
    
    This patch should also prevent a crash when r0 == r1.

 src/cairo-svg-surface.c |  337 ++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 277 insertions(+), 60 deletions(-)

commit 32536a7b794c38ff1944b8af5e56e8962e76c311
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Tue Mar 6 23:45:23 2007 +0000

    [atsui] clean up warnings
    
    Just tidying up  warnings left behind by previous fixes.

 src/cairo-atsui-font.c |   13 ++++++-------
 1 files changed, 6 insertions(+), 7 deletions(-)

commit 9032bf4e2d3bffe84d11a771ba4072cdd8926b77
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Tue Mar 6 23:24:33 2007 +0000

    [quartz] rename remaining nquartz symbols to quartz.
    
    Renaming any nquartz symbols and files left to quartz.

 doc/public/Makefile.am     |    1 -
 src/Makefile.am            |    2 -
 src/cairo-quartz-private.h |    6 +-
 src/cairo-quartz-surface.c |  238 ++++++++++++++++++++++----------------------
 4 files changed, 122 insertions(+), 125 deletions(-)

commit b0d05f7421c457120b9d86a83c4935c67b217fab
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 6 14:26:51 2007 -0500

    [configure.in] Remove AM_MAINTAINER_MODE
    
    Maintainer-mode is known broken behavior and discouraged.  It has
    created headaches before when you run configure and all in a sudden
    editing Makefile.am's does not trigger a Makefile update...

 configure.in |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit f7beb220df74fef60c102fb5cc827fb2d3962296
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Mar 6 10:33:09 2007 -0500

    Remove extra word in docs

 src/cairo.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 81b98c93b68839d20d3033170eeb5026257d52b8
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Mar 6 23:11:38 2007 +1030

    PDF: Set page group color space to DeviceRGB
    
    See http://lists.freedesktop.org/archives/cairo/2006-November/008551.html

 src/cairo-pdf-surface.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

commit 8f0ff52cf74fe4b18c46f9a62689b991645295d0
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Mar 6 01:39:37 2007 -0800

    Increment version to 1.4.1 after making the 1.4.0 release

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5dfa8c23f13f5cafac5cf56f34888a6e01dc79ba
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Mar 6 01:25:17 2007 -0800

    NEWS: Note the x86 nature of the quoted performance results
    
    And mention that embedded systems often did even better.

 NEWS |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

commit d7df4d4d4c52c0934bec0c8edad96bb2ea82dc04
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Mar 6 01:20:45 2007 -0800

    Increment cairo version to 1.4.0

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit d0d2c4030741619accd1eb554531bb6a97dd7ae4
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Mar 6 01:20:03 2007 -0800

    Clarify that extra elements in cairo_path_data is only available in cairo >= 1.4

 src/cairo.h |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

commit 0578929fa4add0cf366e200a5bd6b9f2dfcd0b79
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Mar 6 01:09:02 2007 -0800

    NEWS: Add release notes for 1.4.0 release

 NEWS |  251 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 250 insertions(+), 1 deletions(-)

commit 66d1dc8b9c3d7c1e26321bdb621ef55779c2fd6d
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Mar 5 23:55:05 2007 -0800

    Update AUTHORS with 47 (!) new authors since 1.0

 AUTHORS |   52 +++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 47 insertions(+), 5 deletions(-)

commit 2f4ddc85a50641a7f6e1f467fa94610875f8ed02
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Mar 5 22:48:27 2007 -0800

    Mark 5 tests that are currently failing as XFAIL (that is, not to be fixed before 1.4)
    
    The 5 additional bugs that will be shipped with 1.4 are
    
    	ft-text-vertical-layout-type1
    	radial-gradient
    	surface-pattern
    	surface-pattern-scale-down
    	surface-pattern-scale-up
    
    Most of these are non-issues, (unbundled font for
    ft-text-vertical-layout-type1), or very minor issues (radial-gradient
    and surface-pattern). The only things in here that look like a real
    bug are the surface-pattern-scale-down and surface-pattern-scale-up
    tests where the xlib backend results have some non-1.0 alpha that is
    very unexpected.

 test/Makefile.am                  |    5 +++++
 test/radial-gradient.c            |    3 ++-
 test/surface-pattern-scale-down.c |    3 ++-
 test/surface-pattern-scale-up.c   |    3 ++-
 test/surface-pattern.c            |    3 ++-
 5 files changed, 13 insertions(+), 4 deletions(-)

commit aa883123d2af905c846a8c0a67ff63fa6b16cd2b
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Mar 5 16:48:05 2007 -0800

    Optimize filling of a path that is a single device-axis-aligned rectangle.
    
    It turns out that this case is extremely common and worth avoiding
    the overhead of the path iteration and tessellation code.
    
    The optimization here works only for device-axis-aligned rectangles
    It should be possible to generalize this to catch more cases, (such
    as any convex quadrilateral with 4 or fewer points).
    
    This fix results in a 1.4-1.8x speedup for the rectangles perf case:
    
    image-rgb  rectangles-512  7.80 1.22% -> 4.35 1.62%: 1.79x speedup
    ▊
    image-rgba rectangles-512  7.71 4.77% -> 4.37 0.30%: 1.77x speedup
    ▊
     xlib-rgba rectangles-512  8.78 5.02% -> 5.58 5.54%: 1.57x speedup
    ▋
     xlib-rgb  rectangles-512 11.87 2.71% -> 8.75 0.08%: 1.36x speedup
    ▍
    
    Which conveniently overcomes the ~ 1.3x slowdown we had been seeing
    for this case since 1.2. Now, compared to 1.2.6 we see only a speedup:
    
    image-rgba rectangles-512  6.19 0.29% -> 4.37 0.30%: 1.42x speedup
    ▎
    image-rgb  rectangles-512  6.12 1.68% -> 4.35 1.62%: 1.41x speedup
    ▎
     xlib-rgba rectangles-512  7.48 1.07% -> 5.58 5.54%: 1.34x speedup
    ▏
     xlib-rgb  rectangles-512 10.35 1.03% -> 8.75 0.08%: 1.18x speedup
    ▏

 src/cairo-path-fill.c |   93 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 93 insertions(+), 0 deletions(-)

commit e15bb8efe62a4d2ffd1df31b092ca1fdd2743e43
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Tue Mar 6 00:40:56 2007 +0000

    [quartz] remove unnecessary flushes
    
    Removing calls to CGContextFlush; these were slowing down the
    mac and on other platforms it is up to the client to flush
    the surface.

 src/cairo-quartz-surface.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

commit 393908c34dbf2484b811b84581984563a7115e38
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 19:22:41 2007 -0500

    [test] Modify extend-reflect to need a smaller reference image

 test/extend-reflect-ref.png |  Bin 589279 -> 153571 bytes
 test/extend-reflect.c       |   17 ++++++-----------
 2 files changed, 6 insertions(+), 11 deletions(-)

commit 4716ed760c1cc8095587af130964fbc3432ed14d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 19:15:35 2007 -0500

    [test] Remove some ref images from random-intersections
    
    Each one is larger than 100kb, so paint background black to reuse
    same ref image for rgb24 and argb32 cases.  Also remove Quartz ref
    images for now.

 test/Makefile.am                               |    3 ---
 test/random-intersections-ps-argb32-ref.png    |  Bin 107578 -> 89416 bytes
 test/random-intersections-quartz-ref.png       |  Bin 203877 -> 0 bytes
 test/random-intersections-quartz-rgb24-ref.png |  Bin 179204 -> 0 bytes
 test/random-intersections-ref.png              |  Bin 177153 -> 132210 bytes
 test/random-intersections-rgb24-ref.png        |  Bin 132210 -> 0 bytes
 test/random-intersections.c                    |    4 ++++
 7 files changed, 4 insertions(+), 3 deletions(-)

commit feba319413bde73f8c1454fc0f3a1b3af03dfde4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 19:02:59 2007 -0500

    [test] Remove unused variable

 test/clip-operator.c   |    2 --
 test/operator-clear.c  |    2 --
 test/operator-source.c |    2 --
 3 files changed, 0 insertions(+), 6 deletions(-)

commit e1a598211b1944bad6b32148da052208d9b58093
Author: Emmanuel Pacaud <emmanuel.pacaud@lapp.in2p3.fr>
Date:   Mon Mar 5 16:03:40 2007 -0800

    Use the offset attribute to improve cairo-svg handling of EXTEND_REPEAT and EXTEND_REFLECT
    
    With this change, the cairo-svg output is perfectly fine with
    CAIRO_EXTEND_REPEAT, but is still very slightly wrong with
    CAIRO_EXTEND_REFLECT, (though *much* better than it was before
    this fix).

 src/cairo-svg-surface.c |   30 +++++++++++++++++++++++-------
 1 files changed, 23 insertions(+), 7 deletions(-)

commit 47f2bf4e28b80102f10505916be2bf4c01ce9354
Author: Emmanuel Pacaud <emmanuel.pacaud@lapp.in2p3.fr>
Date:   Mon Mar 5 15:57:28 2007 -0800

    Remove broken special-casing of radial gradient fx,fy under CAIRO_EXTEND_NONE
    
    Carl can't explain why he added this special-case, and removing it
    eliminates one failure case from the radial-gradient test matrix.

 src/cairo-svg-surface.c |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)

commit a724f816e17bfe3d9abefb1f6dcfe30480a0d143
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Mon Mar 5 23:19:24 2007 +0000

    [quartz,atsui] separate the quartz surface and atsui font backend
    
    Make it possible to use the --enable-quartz and --enable-atsui
    independently. Quartz on its own will use the ft font backend.

 configure.in               |   17 +++++++----------
 src/cairo-atsui-font.c     |   12 ++++++------
 src/cairo-quartz-private.h |    8 +++++---
 src/cairo-quartz-surface.c |    8 +++++++-
 4 files changed, 25 insertions(+), 20 deletions(-)

commit 83fcce0e93071cffe20377ab3fe6281204b2f80d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 17:56:57 2007 -0500

    [quartz] Make utility functions static

 src/cairo-quartz-surface.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit d25548d679b8a7fce12c9a55e728539e408c75a1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 17:11:39 2007 -0500

    In cairo_append_path(), allow excess path_data elements

 src/cairo-path.c |    8 ++++----
 src/cairo.h      |   11 +++++++++--
 2 files changed, 13 insertions(+), 6 deletions(-)

commit 3ab9ca54aa490438dbbfae7b5f1cde0bd98352cd
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 16:33:46 2007 -0500

    In cairo_text_path(), bail out if zero glyphs

 src/cairo.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

commit 4f138e4af56da60a83fd187f87cde19544ba3ab1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 16:28:31 2007 -0500

    Uniform object handling in _reference(), _destroy(), and _get_reference_count()
    
    All three now regard NULL and nil inputs the same.  This is new for
    _get_reference_count().  It now returns 0 on NULL too, like it does on
    nil objects.

 src/cairo-font.c        |   12 +++---------
 src/cairo-pattern.c     |   12 +++---------
 src/cairo-scaled-font.c |   12 +++---------
 src/cairo-surface.c     |   12 +++---------
 src/cairo.c             |   12 +++---------
 5 files changed, 15 insertions(+), 45 deletions(-)

commit cc12c5acc41f452edff3f4ad8fafe1aebf1810aa
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 16:19:28 2007 -0500

    Make cairo_text_path() set current point correctly
    
    This fixes the bitmap-text test that I just made reveal a bug.

 src/cairo.c |   38 +++++++++++++++++++++++++++++++++-----
 1 files changed, 33 insertions(+), 5 deletions(-)

commit b63f5ae58f6617b9a2c9f3434bc1c9f3c72612ac
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 16:15:09 2007 -0500

    [test] In the bitmap-font test, break cairo_text_path() call into two
    such that it checks current-point handling after that call.  It fails now,
    because cairo_text_path does not set current-point explicitly.

 test/bitmap-font.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit a487d094212d6bc4a06d5bfc774ba6d575165aa5
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 15:59:43 2007 -0500

    Rename all mutex variables to start with an underscore
    since they are not static in some of the implementations (win32, ...)

 src/cairo-beos-surface.cpp |   12 ++++++------
 src/cairo-font.c           |   24 ++++++++++++------------
 src/cairo-ft-font.c        |   12 ++++++------
 src/cairo-os2-surface.c    |   30 +++++++++++++++---------------
 src/cairo-scaled-font.c    |   12 ++++++------
 src/cairo-win32-surface.c  |   18 +++++++++---------
 src/cairoint.h             |    2 +-
 7 files changed, 55 insertions(+), 55 deletions(-)

commit c8b84a4735c46a33620260de0618296df1e12574
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 15:46:19 2007 -0500

    [beos] Update mutex initializers
    
    This should be the last one.  We are going to move to a central
    mutex initialization scheme right after 1.4.0 is out.

 src/cairo-beos-surface.cpp |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

commit b8e2888fbed2aefa368d9bab4010c1e807d6389f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 15:45:45 2007 -0500

    [OS2] Add mutex initializer for cairo_font_face_mutex

 src/cairo-os2-surface.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 403b4b7c163e78446035ec5144ad9e3674577d5d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 15:39:09 2007 -0500

    [OS2] Remove unused mutex cairo_toy_font_face_hash_table_mutex

 src/cairo-os2-surface.c |    6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)

commit 6358ec539df67ec7725b0687c16f2175386f1b0b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 15:38:52 2007 -0500

    [WIN32] Make cairo_ft_unscaled_font_map_mutex initialization conditional of ft

 src/cairo-win32-surface.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 972f7d9fc8d40fb5c698e1a94fba4f28600b215d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 15:36:51 2007 -0500

    [WIN32] Remove unused mutex cairo_toy_font_face_hash_table_mutex

 src/cairo-win32-surface.c |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

commit 0cdb96544eda163de050c65f7e7cd413b21f61cc
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 15:10:35 2007 -0500

    [SVG] Cast -1 values to unsigned to indicate we really did mean to type them

 src/cairo-svg-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit bbc341614455b22210c818eca01cf4618989565c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Mar 5 14:51:25 2007 -0500

    [ROADMAP] Remove 1.3.14 items, add 1.4.2 ones

 ROADMAP |   20 +++++++++++++-------
 1 files changed, 13 insertions(+), 7 deletions(-)

commit d6ac9b47704d671c192da509571b3721756c1347
Author: Dave Yeo <daveryeo@telus.net>
Date:   Mon Mar 5 13:36:32 2007 -0500

    [test] Fix build on Win32

 test/Makefile.am |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit ffa86b17abbaa2190a4d7eadcc555aac6770bd6c
Author: Mathias Hasselmann <mathias.hasselmann@gmx.de>
Date:   Sun Mar 4 16:39:00 2007 -0500

    [test/pdiff] Fix build problem with certain flavors of make

 test/pdiff/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 325e75239098e640ed05ade39ec2b9f74ae30d3d
Author: Hans Breuer <hans@breuer.org>
Date:   Sat Mar 3 22:50:16 2007 -0800

    Fix mutex initialization for win32 (missing cairo_font_face_mutex)
    
    We've currently got a problem where it's easy to add a mutex
    for a POSIX system and easy to forget to add its intialization
    for other systems. Behdad has cooked up a plan for fixing this
    properly:
    
    	http://lists.freedesktop.org/archives/cairo/2007-February/009679.html
    
    In the meantime, we'll just kkeping breaking things, and patches
    like this will be needed to fix up our mistakes.
    
    This fix closes the following bug report:
    
    	cairo_font_face_mutex missing from cairo-win32-surface.c
    	https://bugs.freedesktop.org/show_bug.cgi?id=10175

 src/cairo-win32-surface.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 5f2b5f1f92d74fbc2d8f97fb547e160e370d4c40
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sun Mar 4 03:01:22 2007 +0000

    [configure.in] --enable-quartz should require atsui and no xlib
    
    Recent changes have made quartz and atsui interdependent. It is also
    no longer possible to build quartz with xlib enabled due to a redefinition
    of the 'Picture' symbol. This change makes '--enable-atsui' unnecessary
    and refuses to switch on quartz when it cannot be built because xlib
    is enabled.

 configure.in |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

commit 1720d0b9508b70ac0c5f2436c3b80a2ab801f138
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Mar 3 15:42:09 2007 -0500

    [Makefile.am] --enable-test-surfaces in distcheck

 Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 79acd268d9ac91f0e9f03467b220241cda3457a5
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Mar 3 15:41:32 2007 -0500

    [Makefile.am] Remove releasing instructions that are in RELEASING already

 Makefile.am |   15 ++-------------
 1 files changed, 2 insertions(+), 13 deletions(-)

commit f9f71457a5d1e002f7f6b08232892ba61fef8ead
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Mar 3 15:37:45 2007 -0500

    [RELEASING] Update announcement mail instructions

 RELEASING |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

commit 454c6a62a93d4d9e933a4e401997a16f1b0a569b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Mar 3 15:35:25 2007 -0500

    [RELEASING] Note that two versions should be added to bugzilla

 RELEASING |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 57e1b6fa98d688b72dd3617e8313ea35f8ce78e1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Mar 3 15:34:19 2007 -0500

    [RELEASING] Reorder pushing tag and commits
    
    We should push the tag only after pushing the actually release commit.

 RELEASING |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 052acc95e9c354981eea0968c5727e4a0568a959
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Mar 3 15:32:42 2007 -0500

    [RELEASING] Fix git-tag invocation

 Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 9f0a1648b7886714e5c742119083414fcc92dc82
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Mar 3 00:22:53 2007 -0500

    [configure.in] Increase version to 1.3.17 post-release

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b3e1fd8c1cbfc4db88bec4bb52821ed9380dbb4f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Mar 3 00:07:34 2007 -0500

    [configure.in] Increase version to 1.3.16 in preparation for release

 configure.in |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit c6541b9ac23bcd88202049960ee5a7503a4f0449
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Mar 3 00:07:03 2007 -0500

    [RELEASING] Add note about ChangeLog sanity

 RELEASING |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 9aecd7c815b81b61ff408d51bdf8e1c6663a3954
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Mar 3 00:05:40 2007 -0500

    [test] Include romedalen.png in dist, oops

 test/Makefile.am |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit 2f497c25f98cdb4be60b7391a672280ae09f1d67
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Mar 2 23:59:55 2007 -0500

    [Makefile.am] Check for ChangeLog sanity in release-publish

 Makefile.am |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

commit eb8214c9602319d716b8cd39a1c5dd1dd278b96e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Mar 2 23:49:27 2007 -0500

    [ChangeLog.mk] Adapt to latest git-describe output format

 ChangeLog.mk |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

commit 8a69a327952173a714dfbe1e8967ebb7bdbbacbd
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Mar 2 23:21:39 2007 -0500

    [test] Update list of refrerence images

 test/Makefile.am |  392 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 216 insertions(+), 176 deletions(-)

commit 55d480612754dca652b5324d815e0429c745fec3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Mar 2 22:52:38 2007 -0500

    [NEWS] Add note about documentation improvements

 NEWS |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

commit 77b27fd06b9f0e7ff5dedd4b41327e456d33e3cf
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Mar 2 22:45:50 2007 -0500

    [doc] Update templates

 doc/public/tmpl/cairo-font.sgml        |   33 +++++++++-----
 doc/public/tmpl/cairo-pattern.sgml     |   37 +++++++++++++++-
 doc/public/tmpl/cairo-scaled-font.sgml |   31 +++++++++++++
 doc/public/tmpl/cairo-surface.sgml     |   74 +++++++++++++++++--------------
 doc/public/tmpl/cairo-text.sgml        |   33 +++++++++-----
 doc/public/tmpl/cairo.sgml             |   40 +++++++++++++++++
 6 files changed, 188 insertions(+), 60 deletions(-)

commit 1082fed6929a696455f27821819c6af4f575156d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Mar 2 22:42:17 2007 -0500

    [doc] Docuemnt all symbols but cairo_filter_t and cairo_operator_t
    
    Lets see if this is enough to push Carl Worth document those two.

 src/cairo-font.c        |    5 ++-
 src/cairo-pattern.c     |    3 ++
 src/cairo-scaled-font.c |    3 ++
 src/cairo-surface.c     |    3 ++
 src/cairo.c             |    3 ++
 src/cairo.h             |   74 +++++++++++++++++++++++++++++++++++++++++++++-
 6 files changed, 88 insertions(+), 3 deletions(-)

commit e37b6ca3e2c55256debf1fdfde83934fa9b28c1d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Mar 2 22:03:27 2007 -0500

    Beautify cairo.h

 src/cairo.h |   42 +++++++++++++++++++++---------------------
 1 files changed, 21 insertions(+), 21 deletions(-)

commit 9be961eb0c8c85b04287a5b85f7fd72dac160949
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Mar 2 22:01:15 2007 -0500

    [doc] Some documentation love

 src/cairo-font.c          |    2 +-
 src/cairo-pattern.c       |   19 +++++++++++
 src/cairo-surface.c       |    6 ++-
 src/cairo-win32-font.c    |   24 +++++++++++++-
 src/cairo-win32-surface.c |    1 +
 src/cairo.c               |   76 ++++++++++++++++++++++++++++++++++++++++-----
 src/cairo.h               |   40 +++++++++++++++++++++++-
 7 files changed, 154 insertions(+), 14 deletions(-)

commit 8a6308e1448f402bd4f32b18ba2c60a4bcdbbe6f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Mar 2 22:00:25 2007 -0500

    [doc] Update list of header files to ignore

 doc/public/Headers.mk |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit fed13e77e1de071ddaaf829aced10b02f6bc8c90
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Mar 2 16:49:47 2007 -0500

    [NEWS] Fix typos

 NEWS |   14 ++++++--------
 1 files changed, 6 insertions(+), 8 deletions(-)

commit ab1887f4b08784789f39396b3012dffede845466
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Fri Mar 2 13:30:31 2007 -0800

    [quartz] Bug 3939 - Fix Quartz backend endianness problem
    
    Add kCGBitmapByteOrder32Host to CGImageCreate call in release_dest_image
    of Quartz surface.

 src/cairo-quartz-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2640aa7e99453f17e9a2cb9084e0760d767cfeab
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 13:18:11 2007 -0800

    Add notes for 1.3.16
    
    Now, maybe we won't actually make a 1.3.16 snapshot, but these are all
    the things that will be new in 1.4.0 compared to 1.3.14.

 NEWS |  139 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 139 insertions(+), 0 deletions(-)

commit a0bc2ada784f24ca784617ac18b470745e8152c0
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Mar 2 15:45:02 2007 -0500

    [test] Support passing extra valgrind flags
    using EXTRA_VALGRIND_FLAGS make variable or CAIRO_EXTRA_VALGRIND_FLAGS
    env variable.

 test/Makefile.am |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit cd43c03d162efc87a1845c7ffbadfab00ac23d1f
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 12:30:53 2007 -0800

    Fix leak of an output stream in cairo_type1_font_destroy

 src/cairo-type1-fallback.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 8c579ef8354720c06db702db1e6e2aaab0efed82
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 12:30:14 2007 -0800

    More tightening of test cleanup to avoid valgrind complaints.

 test/cairo-test.c          |    8 ++++----
 test/fallback-resolution.c |    2 ++
 test/font-face-get-type.c  |    2 ++
 test/pdf-features.c        |    9 +--------
 test/ps-features.c         |    9 +--------
 test/pthread-show-text.c   |    8 +-------
 6 files changed, 11 insertions(+), 27 deletions(-)

commit 9854d01a8d3a1f9f6148dfd6e22623c4586aaa96
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 11:32:47 2007 -0800

    Fix leak in pattern-getters test (missing cairo_pattern_destroy)

 test/pattern-getters.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit b52dda62fea0745cc28d6149dc4688ade524b4df
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 11:31:13 2007 -0800

    Augment cairo_test_init with cairo_test_fini to avoid leak
    
    Without this, any tests that were using cairo_test_init rather than
    cairo_test would end up leaking a FILE* for the log file. So this
    keeps valgrind much more happy with the test suite.

 test/cairo-test.c              |    8 +++++++-
 test/cairo-test.h              |   14 +++++++++-----
 test/copy-path.c               |    2 ++
 test/create-for-stream.c       |    2 ++
 test/in-fill-empty-trapezoid.c |    2 ++
 test/multi-page.c              |    2 ++
 test/pattern-get-type.c        |    2 ++
 test/svg-clip.c                |    2 ++
 test/svg-surface.c             |    2 ++
 test/truetype-tables.c         |    2 ++
 test/xlib-surface.c            |   32 +++++++++++++-------------------
 11 files changed, 45 insertions(+), 25 deletions(-)

commit 7d6e21c7e298e1795f36fdf021d61ef4ed0ca0fa
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 11:29:40 2007 -0800

    Add even more XrmGetFileDatabase leaks to the valgrind suppressions file

 test/.valgrind-suppressions |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

commit e054314e5ec1f3fbdc97ed2175dd3d26d7581a5f
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 09:34:46 2007 -0800

    Add a couple of missing test cases to .gitignore

 test/.gitignore |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 02f2ece88dbceaf2466bd61410dd8e88a4c95e08
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 09:32:14 2007 -0800

    Fix leak in pdiff lpyramid
    
    This was a leak in the test suite only, (and then only when tests failed).

 test/pdiff/lpyramid.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 6da7f140334835be9a972db75de78d99b8bd24b1
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 03:49:11 2007 -0800

    Fix INVALID_RESTORE case to avoid crashes
    
    Previously, an INVALID_RESTORE error would leave cr->gstate as NULL,
    (which is generally impossible/invalid). This seems safe enough as
    most cairo functions check cr->status first and bail if anything
    looks fishy.
    
    However, the many cairo_get functions happily march along in spite
    of any current error. We could instrument all of those functions to
    check for the error status and return some dummy value in that case.
    But it's much easier to get the same basic effect by simply creating
    a non-NULL cr->gstate which will hold all those dummy values, and
    we can eliminate the crashes without having to touch up every
    cairo_get function.
    
    This fixes the bug reported here:
    
    	evolution crash to _cairo_gstate_backend_to_user()
    	https://bugs.freedesktop.org/show_bug.cgi?id=9906
    
    It also eliminates the crash that was added to the nil-surface test
    with the previous commit.

 src/cairo.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

commit 36590fd4702cc24acacd20e4394c902e44be46c6
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 03:43:46 2007 -0800

    Add test of cairo_get_* after INVALID_RESTORE to nil-surface
    
    This new test demonstrates a crash condition as reported here:
    
    	evolution crash to _cairo_gstate_backend_to_user()
    	https://bugs.freedesktop.org/show_bug.cgi?id=9906

 test/nil-surface.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

commit 712447856dc5cf559fcdbceaf902a39fd5eddef9
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 03:15:35 2007 -0800

    Fix yet another backend (quartz) for the gradient renaming
    
    So it looks like it took us three commits before we finally got
    all of the users of inner/outer switched to c1/c2. Hopefully
    someday we'll have the compiler passing over all of cairo's
    source code even if the backends aren't available to be run
    on a particular system.

 src/cairo-quartz-surface.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 4e0f0d9425e2677e75681b2416e7ee4c4e87440c
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 03:11:10 2007 -0800

    Don't crash if backend->create_similar returns a nil surface
    
    This fixes the bug reported here:
    
    	cairo crashes in cairo_create_simular if nil surface returned by other->backend->create_similar
    	https://bugs.freedesktop.org/show_bug.cgi?id=9844

 src/cairo-surface.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

commit b0c086fce45a72ea3bf0052641de63bf08e5e5d5
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 02:51:53 2007 -0800

    Update documentation for cairo_get_scaled_font and cairo_get_font_face
    
    There was some leftover cut-and-paste description of get_font_face
    in the documentation for get_scaled_font. That turned out to be a
    good thing as it alerted me to the fact that the get_font_face
    documentation was stale as well.
    
    Add description of the 'nil' object return values, rather than NULL.

 src/cairo.c |   32 +++++++++++++++++++++++---------
 1 files changed, 23 insertions(+), 9 deletions(-)

commit 5f386bb15a234983090beb4f85dfee200dac1b4b
Author: Jeff Muizelaar <jeff@infidigm.net>
Date:   Wed Feb 28 13:37:21 2007 -0500

    Use a closed interval when eliminating outliers from performance measurements
    
    When choosing the samples that are not outliers we use a half-open interval
    (outlier_min <= x < outlier_max). This causes all of the samples to be
    discarded when the interquartile range is 0 because none of them are less
    than outlier_max. Fix the problem and make the test more consistent by
    using a closed interval (outliner_min <= x <= outlier_max).

 perf/cairo-stats.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d48f31370172cddb85ae17a12faed2abf651ee83
Author: Jinghua Luo <sunmoon1997@gmail.com>
Date:   Fri Mar 2 18:37:06 2007 +0800

    glitz: fix build error.
    
    Rename radial gradient inner/outer to c1/c2.

 src/cairo-glitz-surface.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit c12a4571affe9fdd2bb4620c448aded43584bb54
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 00:37:21 2007 -0800

    Cast -1 values to unsigned to quiet the compiler.
    
    Marking the magic values to indicate we really did mean to type them.

 src/cairo-pattern.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 3685a66b5b9cb0af10b44985dc1e9ef1c82ad77b
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Mar 2 00:22:57 2007 -0800

    Cast away a const to quiet a compiler warning.

 src/cairo-ps-surface.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit d48bb4fbe876a93199ba48fcf5f32734fbe18ba9
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Mar 1 23:34:34 2007 -0800

    Implement CAIRO_MUTEX_INIT with memcpy instead of pthread_mutex_init
    
    The trick here is that with the weak symbol support for pthreads,
    pthread_mutex_init can be a NOP leaving the mutex uninitialized.
    Then, if some pthread-using library is dynamically loaded, the
    non-NOP pthread functions get used and we end up trying to lock
    an uninitialized mutex.
    
    This should fix the bugs reported here:
    
    	Cairo 1.3.14 deadlocks in cairo_scaled_font_glyph_extents or _cairo_ft_unscaled_font_lock_face
    	https://bugs.freedesktop.org/show_bug.cgi?id=10035

 src/cairoint.h |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit df2d42ac7fb71997abd406fb5716c0bd85037c04
Merge: ec11ca3... 97dbbae...
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Mar 1 17:08:03 2007 -0800

    Merge branch 'radial-gradient-fixes' into cairo

commit ec11ca33a7ebcc752218e63c57f861de6e23a86a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 1 19:14:40 2007 -0500

    [PS/PDF] Mark CAIRO_EXTEND_PAD for surface patterns as natively supported
    since the image surface does not implement that case either, so image
    fallbacks have no benefit.

 src/cairo-pdf-surface.c |   12 +++++++-----
 src/cairo-ps-surface.c  |   12 +++++++-----
 2 files changed, 14 insertions(+), 10 deletions(-)

commit 4ee6cda6e5e69361d3ca247322c92d0ae30e0458
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 1 19:13:19 2007 -0500

    [test] Move .la dependencies around

 test/Makefile.am |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit ff06ea1abf2dcfe28a4c1f192782bc85aebfdd92
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 1 19:12:58 2007 -0500

    [boilerplate] Add correct dependency on libcairo.la

 boilerplate/Makefile.am |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 4b1f450f4cf056b4cc28502dcf72eaf54f257c3a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 1 18:36:27 2007 -0500

    [test] Add more valgrind suppressions

 test/.valgrind-suppressions |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

commit dcdcb7ac2acf39c54da855b6a2af4d02a7165a24
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 1 18:36:16 2007 -0500

    Fix leak in rectilinear stroking code
    
    The code was not cleaning up after itself when rejecting a path as
    rectilinear.

 src/cairo-path-stroke.c |   15 ++++++++-------
 1 files changed, 8 insertions(+), 7 deletions(-)

commit 2acd5b52774e2324df3e6b5b07a0d2790df3a60b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 1 18:34:53 2007 -0500

    [test] Add leak-revealing path to rectilinear-stroke
    
    Based on this thread:
    http://lists.freedesktop.org/archives/cairo/2007-March/009860.html

 test/rectilinear-stroke.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

commit 97dbbae62182c2e40f5f98278e08c92e14b92731
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Mar 1 15:17:19 2007 -0800

    SVG: Support CAIRO_EXTEND_NONE for radial gradients.
    
    This is as simple as adding transparent color stops on either end.

 src/cairo-svg-surface.c |   31 +++++++++++++++++++++++++++----
 1 files changed, 27 insertions(+), 4 deletions(-)

commit bd2cd2c868864d5ec2a2c2e4bf16ff406be8afe2
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 1 18:14:33 2007 -0500

    [test] Plug a leak in the test suite

 test/buffer-diff.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 7de96a1faabfc2aa84dac38f5b63c2ba3538bb3c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 1 18:00:23 2007 -0500

    [xlib] Drop XrmFinalize() stuff.  That didn't ever exist in any public X server

 configure.in            |    4 ----
 src/cairo-xlib-screen.c |    5 -----
 2 files changed, 0 insertions(+), 9 deletions(-)

commit fe68e8aa32cc5a9f4d9f9302644ca66d8b691d65
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Feb 28 00:41:47 2007 -0800

    Fix gradient walker to not reset needlessly
    
    Previously the gradient walker was doing excessive resets, (such
    as on every pixel in constant-colored regions or outside the
    gradient with CAIRO_EXTEND_NONE). Don't do that.

 pixman/src/fbcompose.c |   17 ++++++++++-------
 1 files changed, 10 insertions(+), 7 deletions(-)

commit 9a5dfe1415dce9d726c93cd08c532f26512a70ee
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Mar 1 14:53:48 2007 -0800

    Fix implementation of radial gradients for inner radius != 0
    
    The previous implementation fell apart quite badly when neither radius
    value was equal to 0.0. I derived the math from scratch, (much thanks to
    Vincent Torri <vtorri@univ-evry.fr> for guiding me to a simpler derivation
    than I was doing originally), and it's working much better now without
    being any slower, (in fact, cairo-perf shows speedup of 1.05x to 1.58x on
    my laptop here).
    
    This work also provides groundwork for defining the behavior of radial
    gradients where neither circle is wholly contained within the other, (though
    we haven't done that definition yet---it will require a new test case and a
    very little bit of work on the implementation).
    
    This is a fix for the following bug report:
    
    	Radial Gradients with nonzero inner radius misplace stops
    	https://bugs.freedesktop.org/show_bug.cgi?id=7685

 pixman/src/fbcompose.c |  196 ++++++++++++++++++++++++++++++++++++-----------
 pixman/src/icimage.c   |   22 ++----
 pixman/src/icimage.h   |   13 ++--
 pixman/src/icint.h     |    1 +
 4 files changed, 165 insertions(+), 67 deletions(-)

commit 0439f4c4f7e7374b4f9699f664fc0e157628b190
Author: Carl Worth <cworth@cworth.org>
Date:   Sun Feb 25 16:01:10 2007 +0100

    Rename radial gradient inner/outer to c1/c2
    
    The inner/outer names were totally bogus. It is quite
    legitimate to have the first circle's radius be larger than
    that of the second.

 pixman/src/icimage.c    |   12 ++++++------
 pixman/src/pixman.h     |    4 ++--
 src/cairo-pattern.c     |   36 ++++++++++++++++++------------------
 src/cairo-pdf-surface.c |   12 ++++++------
 src/cairo-svg-surface.c |   12 ++++++------
 5 files changed, 38 insertions(+), 38 deletions(-)

commit d65455ed3800f9ec3115bbed96a5b2328ee60b57
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Feb 23 07:12:03 2007 +0100

    Add radial-gradient test case
    
    Embarrassingly enough, the test suite previously never called
    into cairo_pattern_create_radial at all. Unsurprisingly, this
    has led to bugs creeping into the radial gradient implementation.

 test/.gitignore              |    1 +
 test/Makefile.am             |    1 +
 test/radial-gradient-ref.png |  Bin 0 -> 91159 bytes
 test/radial-gradient.c       |  110 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 112 insertions(+), 0 deletions(-)

commit 17f6174bb2b877447e524715792c7adc84fb25e4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 1 13:50:23 2007 -0500

    [TODO] Add cairo_surface_copy_page()

 TODO |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit c9ddb86e67154624f08a30599ba6f8d77f731b3a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Mar 1 13:49:13 2007 -0500

    [paginated] Also increase page number in copy_page

 src/cairo-paginated-surface.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit dc0043383b24425282ce38ba06422991c37c1d7e
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Mar 1 23:39:10 2007 +1030

    PDF: Ensure ToUnicode CMap name is unique
    
    and remove an unused printf argument.

 src/cairo-pdf-surface.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

commit 7d03fe94d76eee7b3e4bcc274effaa26bc9bd9af
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 28 17:08:23 2007 -0500

    [RELEASING] Add notifying desktop-devel-list

 RELEASING |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 1dd647e26552961d2823ce4ee7cbd354450adf60
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 28 16:55:30 2007 -0500

    [TODO] Add/remove items

 TODO                            |   49 +++++++++++++++-----------------------
 boilerplate/cairo-boilerplate.c |    1 +
 2 files changed, 20 insertions(+), 30 deletions(-)

commit d0fe666a6ab1664af36a7b242d763c72f4e9f81b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 28 14:58:57 2007 -0500

    Revert the solid-pattern cache
    
    This reverts the following commits:
    
    	2715f2098127d04d2f9e304580a26cd0842c0e64
    	67e3b3c53bdd69e4d3503eed2db66953f1ac038c
    
    See this thread for an analysis of the problems it caused:
    
    	http://lists.freedesktop.org/archives/cairo/2007-February/009825.html
    
    In short, a single cache for all backends doesn't work, as one thread
    using any backend can cause an unused xlib pattern to be evicted from
    the cache, and trigger an xlib call while the display is being used
    from another thread.  Xlib is not prepared for this.

 src/cairo-color.c            |    7 ---
 src/cairo-debug.c            |    2 -
 src/cairo-directfb-surface.c |   12 +-----
 src/cairo-glitz-surface.c    |   24 +-----------
 src/cairo-pattern.c          |   91 +++--------------------------------------
 src/cairo-surface.c          |   26 ------------
 src/cairo-win32-surface.c    |   13 +------
 src/cairo-xcb-surface.c      |   17 +-------
 src/cairo-xlib-surface.c     |   17 +-------
 src/cairoint.h               |   15 -------
 10 files changed, 12 insertions(+), 212 deletions(-)

commit 5f5afac8f470ae13ab2827f04e05ca585d69b898
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 28 14:32:11 2007 -0500

    [boilerplate/test-paginated] Issue a show_page before writing buffer
    
    This is needed since cairo-test does not issue a show_page now, and
    the one coming from paginated layer is too late (around finish).
    
    The way we force the show_page is kinda funny.  That is, we create
    a temporary cairo_t and call cairo_show_page() on it.  But works.

 boilerplate/cairo-boilerplate.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit efe8c82738bd417402a18871c40cf831e4df31e4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 28 14:19:18 2007 -0500

    [paginated] Also do an automatic show page if nothing ever drawn
    
    That is, we always emit at least one page of output.  Otherwise our
    PS/PDF/SVG files would be corrupt, and output with zero pages does
    not make much sense.

 src/cairo-paginated-surface.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 07d61af8093be501e93d64cc7df69f95ecb83b6c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 28 13:46:27 2007 -0500

    [paginated] Automatically issue a final cairo_show_page()
    
    This means, PS/PDF/SVG do not need the final cairo_show_page() anymore.
    If there is any drawing in the page, a cairo_show_page() is done
    automatically.

 src/cairo-paginated-surface.c |   18 +++++++++++++-----
 test/cairo-test.c             |    2 --
 2 files changed, 13 insertions(+), 7 deletions(-)

commit d30178b3dcebcdd89dc773881fc1b9097f1f50a7
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Feb 27 20:22:05 2007 -0500

    [doc] Add new APIs to cairo-sections.txt

 doc/public/cairo-sections.txt |   27 +++++++++++++++++++--------
 1 files changed, 19 insertions(+), 8 deletions(-)

commit ef53465a032a74fd50b7edaef19cae08586f44d4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Feb 27 20:18:16 2007 -0500

    Slim-hidden cairo_scale()

 src/cairo.c    |    1 +
 src/cairoint.h |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

commit ed75e24898a5ccd7836596122b9a801294122874
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Feb 27 20:09:22 2007 -0500

    Implement cairo_get_scaled_font()

 TODO                          |    2 --
 doc/public/cairo-sections.txt |    7 ++++---
 src/cairo-gstate.c            |   15 +++++++++++++++
 src/cairo-scaled-font.c       |    2 +-
 src/cairo.c                   |   30 ++++++++++++++++++++++++++++++
 src/cairo.h                   |    3 +++
 src/cairoint.h                |    5 +++++
 test/font-face-get-type.c     |   14 ++++++++++++--
 8 files changed, 70 insertions(+), 8 deletions(-)

commit d64b194a45d90b24d1cc01de0fa2cb4edc3a240b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Feb 27 20:03:26 2007 -0500

    [quartz] Remove comment syntax that is recognized by gtkdoc from regular comments

 src/cairo-quartz-surface.c |   24 ++++++++++++------------
 1 files changed, 12 insertions(+), 12 deletions(-)

commit 65ab63cb8dc1da949dc831691cf1db5b6b92d749
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Feb 27 19:45:10 2007 -0500

    [cairo.c] Reorder some function implementations for clarity

 src/cairo.c |   56 ++++++++++++++++++++++++++++----------------------------
 1 files changed, 28 insertions(+), 28 deletions(-)

commit ed933a199c07997cf1dfb5ef2e345d754e2433f3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Feb 27 19:43:18 2007 -0500

    [cairo.h] Reorder function prototypes a bit for clarity

 src/cairo.h |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

commit 153465bfe5346b9e1ebdbd4f794bd11868ee7458
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Feb 27 19:28:37 2007 -0500

    [test] Add ref images for new tests

 test/surface-pattern-scale-down-pdf-argb32-ref.png |  Bin 0 -> 1565 bytes
 test/surface-pattern-scale-down-ps-argb32-ref.png  |  Bin 0 -> 1400 bytes
 test/surface-pattern-scale-down-ref.png            |  Bin 0 -> 1784 bytes
 test/surface-pattern-scale-down.c                  |    3 +--
 test/surface-pattern-scale-up-pdf-argb32-ref.png   |  Bin 0 -> 3886 bytes
 test/surface-pattern-scale-up-ps-argb32-ref.png    |  Bin 0 -> 1011 bytes
 test/surface-pattern-scale-up-ref.png              |  Bin 0 -> 3825 bytes
 test/surface-pattern-scale-up.c                    |    3 +--
 test/surface-pattern.c                             |    3 +--
 9 files changed, 3 insertions(+), 6 deletions(-)

commit e2ce27db302a185e6e80ead699c01e43921939ca
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Feb 27 18:47:47 2007 -0500

    [PS/PDF] Fix xstep/ystep values for CAIRO_EXTEND_NONE
    
    This fixes the fallback-resolution test, as well as the two of
    surface-pattern-scale-up and surface-pattern-scale-down.

 src/cairo-pdf-surface.c |   36 +++++++++++++++---------------------
 src/cairo-ps-surface.c  |   43 ++++++++++++++++++++++++++++---------------
 2 files changed, 43 insertions(+), 36 deletions(-)

commit de0a6522b00822305fa5a0e32c4821628425ebdc
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Feb 27 17:33:17 2007 -0500

    [test] Add tests that show xstep/ystep failures in PS/PDF backends
    with surface patterns.  One test scaled the pattern up, another scales
    down.  We observe that both PS and PDF are broken when scaling down.
    This is the reason that PDF is failing in the fallback-resolution test
    too.

 test/.gitignore                   |    2 +
 test/Makefile.am                  |    2 +
 test/surface-pattern-scale-down.c |   69 +++++++++++++++++++++++++++++++++++++
 test/surface-pattern-scale-up.c   |   69 +++++++++++++++++++++++++++++++++++++
 4 files changed, 142 insertions(+), 0 deletions(-)

commit 4c1d788219ae62bb9e8a7723d5a73d70eb42e69a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Feb 27 13:33:53 2007 -0500

    [Makefile.am] Remove ChangeLog.cache-* in distclean

 ChangeLog.mk |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 7185c00e15aecf14d1957ba2e4f386ecb4e2a635
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Feb 23 16:21:28 2007 -0500

    [PS] Add note about possible need for fix.

 src/cairo-ps-surface.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit aa3ebdbd01eb27e205b44728f9f5d9332c5ad450
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Feb 23 16:19:04 2007 -0500

    [TODO] More TODO items

 TODO |   15 ++++++++++++---
 1 files changed, 12 insertions(+), 3 deletions(-)

commit 38b590d8b7f1f955653bca5cf4cceb723e173ade
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Feb 23 16:18:00 2007 -0500

    [SVG] Fix warnings

 src/cairo-svg-surface.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 69edcd4623ae4e1ef16c5a8d16a5ebd0c79d685f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Feb 23 16:15:44 2007 -0500

    [SVG] Rename a local variable for clarity

 src/cairo-svg-surface.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 11b3f43e927919a46909900a63386a1af788529a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Feb 23 16:14:37 2007 -0500

    [TODO] Add various TODO items

 src/cairo-image-surface.c |    1 +
 src/cairo-pattern.c       |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

commit 2d908e6a957c8b1e7f369621aaace2fc7277a941
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Feb 22 18:24:19 2007 -0500

    [test] Add a new, XFAIL, extend-pad test

 test/.gitignore         |    1 +
 test/Makefile.am        |    3 ++
 test/extend-pad-ref.png |  Bin 0 -> 616 bytes
 test/extend-pad.c       |   74 +++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 78 insertions(+), 0 deletions(-)

commit 289ac33fa28216cc6cc3e3d415cc4ff96cb17e12
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Feb 22 18:23:10 2007 -0500

    [PS] Fix surface patterns with transforms
    
    Previously we were generating an image object with the desired
    transform and then a pattern with only a translation.  This means,
    the pattern was alwasys axis-aligned.  Obviously this does not
    work correctly with repeated rotated patterns.
    
    We now use an identity matrix for the image and put all the
    pattern transformation (well, it's inverse) into the pattern.
    This fixes the issue nicely.
    
    The surface-pattern test is still failing even with a reference
    image, because the gs rendering of the normal case and the
    device-offset=25 case are different and both have seams.

 src/cairo-ps-surface.c                 |   42 ++++++++++---------------------
 test/surface-pattern-ps-argb32-ref.png |  Bin 0 -> 2520 bytes
 2 files changed, 14 insertions(+), 28 deletions(-)

commit 16013ced09c8d6e2a967b9192f8545716a423504
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Feb 22 18:07:22 2007 -0500

    [test] Remove non-existing test extend-pad

 test/Makefile.am |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit c87edd9e10c2a60e11c8cd954860fb03f6425132
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Feb 22 16:03:47 2007 -0500

    [test] Update surface-pattern test to include transformations
    
    The surface-pattern test was very naive, painting a surface pattern
    repeated at identity size.  With the new test, the surface pattern
    is scaled and rotated.  This reveals a serious bug in the PS backend.

 test/surface-pattern-pdf-argb32-ref.png |  Bin 0 -> 14880 bytes
 test/surface-pattern-ref.png            |  Bin 194 -> 11439 bytes
 test/surface-pattern-svg-ref.png        |  Bin 0 -> 17663 bytes
 test/surface-pattern.c                  |   94 ++++++++++++++-----------------
 4 files changed, 43 insertions(+), 51 deletions(-)

commit 7c39276366f91de151c775fa8293783f39247896
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Feb 22 13:40:55 2007 -0500

    [PS/PDF] Accept CAIRO_EXTEND_REFLECT surface patterns natively
    
    With the hack in _cairo_pattern_acquire_surface to return a 2x2
    surface for reflected patterns, we can now accept REFLECT surface
    patterns natively in all backends.  SVG was already doing that.
    The PDF case needed some changes to go through
    _cairo_pattern_acquire_surface.  A similar change to the recent
    change in SVG.

 src/cairo-pdf-surface.c |   19 +++++++++++++++----
 src/cairo-ps-surface.c  |    4 ++--
 2 files changed, 17 insertions(+), 6 deletions(-)

commit 3405fb870e520bcc5588602317693837b59d1ee4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Feb 22 13:10:34 2007 -0500

    [test] Increase size of extend-reflect test to see that pattern repeats

 test/Makefile.am            |    1 +
 test/extend-reflect-ref.png |  Bin 287611 -> 589279 bytes
 test/extend-reflect.c       |    2 +-
 3 files changed, 2 insertions(+), 1 deletions(-)

commit 63c011bb6bcbe484915b5bb28da087b14bd572a6
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 21 18:29:25 2007 -0500

    [surface] Copy device_transform_inverse in _cairo_surface_clone_similar

 src/cairo-surface.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 3516d8092b6297b8e4a3919c09e47f2bd4dd600a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 21 18:13:16 2007 -0500

    [SVG] Use _cairo_pattern_acquire_surface instead of _cairo_surface_acquire_source_image
    
    This change is required for the upcoming hack to support
    CAIRO_EXTEND_REFLECT.  In short, the idea is that the surface returned
    by _cairo_pattern_acquire_surface may look different from the one
    returned by _cairo_surface_acquire_source_image, to support some pattern
    modes not supported by the backends directly.

 src/cairo-svg-surface.c |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

commit 8d812ae9a670b2eeff4f0508e2c8c082e7900a7c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Feb 22 14:13:33 2007 -0500

    [cairo-pattern] Correctly delegate device_transform so tests pass again

 src/cairo-pattern.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

commit 7cbfb9556d869310c48c106a9929c292110685ce
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Feb 22 12:56:05 2007 -0500

    [cairo-pattern] Fall back on cairo_surface_create_similar in _cairo_pattern_acquire_surface_for_surface
    
    This was needed for SVG backend because it does not implement clone_similar.
    However, I'm worried about possible infinite recursion here.  Not sure what
    to do.

 src/cairo-pattern.c |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

commit 5562050bcf68923986b597f3aca1e285a466fa6c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 21 18:16:34 2007 -0500

    Support CAIRO_EXTEND_REFLECT on surface patterns
    
    We do this through a hack, that is, we make
    _cairo_pattern_acquire_surface to return a surface that has four
    copies of the original surface painted such that this image can
    be simply repeated to get the effect of reflecting the original
    surface.
    
    This fixes the formerly XFAIL test extend-reflect.

 src/cairo-pattern.c         |   58 ++++++++++++++++++++++++++++++++++++++++++-
 test/Makefile.am            |    2 +-
 test/extend-reflect-ref.png |  Bin 287611 -> 287611 bytes
 test/extend-reflect.c       |    4 +--
 4 files changed, 59 insertions(+), 5 deletions(-)

commit 81935bb13120898a8581d8266041d3292558710a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 21 18:06:02 2007 -0500

    [PS] Update surface_pattern_supported() from PDF
    
    The PS backend was accepting all surface patterns, just to ASSERT_NOT_REACHED
    later if extend type of the pattern was PAD or REFLECT.  That didn't make
    sense and was causing crash for PAD (surprisingly not for REFLECT.  Not sure
    why).  So now it rejects those types of surface patterns, just like the PDF
    surface does.

 src/cairo-ps-surface.c |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)

commit 4e30919f30e7618dbb62d7de2931efaac26c1785
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 21 18:03:52 2007 -0500

    [cairo-surface] Do not err on CAIRO_EXTEND_PAD and CAIRO_EXTEND_REFLECT
    
    for surface patterns.
    
    Right before releasing cairo 1.2, Carl and I decided to return error on
    CAIRO_EXTEND_PAD and CAIRO_EXTEND_REFLECT for surface patterns, as they
    are not implemented and one was causing crashes.  Well, that was probably
    the worst decision we could make (other than ignoring the problem).  A
    much better decision would have been to make them act like
    CAIRO_EXTEND_NONE and CAIRO_EXTEND_REPEAT respectively.  Anyway, remove
    the error paths.

 src/cairo-surface.c |   30 ------------------------------
 1 files changed, 0 insertions(+), 30 deletions(-)

commit a57bc6b6973a270ef85d73089ebd9d10b3bc5aa8
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 21 17:59:28 2007 -0500

    [test] Add ref image for extend-reflect

 test/extend-reflect-ref.png |  Bin 0 -> 287611 bytes
 1 files changed, 0 insertions(+), 0 deletions(-)

commit 5a72aac5982015a2b237afeb13164e0c5f5185ed
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Fri Feb 23 14:24:04 2007 -0800

    [core] put back REF_COUNT_INVALID to be -1, fix finish
    
    Previous commit broke cairo_surface_finish, since it was checking for
    ref_count == CAIRO_REF_COUNT_INVALID and bailing.  But, that condition
    was reached from destroy, so finish was bailing out early.

 src/cairo-font.c        |    3 +++
 src/cairo-pattern.c     |    3 +++
 src/cairo-scaled-font.c |    3 +++
 src/cairo-surface.c     |    3 +++
 src/cairo.c             |    3 +++
 src/cairoint.h          |    2 +-
 6 files changed, 16 insertions(+), 1 deletions(-)

commit cf7311852298e7d86d065a12fa962ba10fe60dcc
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Fri Feb 23 13:05:18 2007 -0800

    [core] Add user_data and reference count getters to all objects
    
    user_data setters/getters were added to public refcounted objects
    that were missing them (cairo_t, pattern, scaled_font).  Also,
    a refcount getter (cairo_*_get_reference_count) was added to all
    public refcounted objects.

 src/cairo-font.c        |   18 +++++++++++
 src/cairo-pattern.c     |   76 +++++++++++++++++++++++++++++++++++++++++++++
 src/cairo-private.h     |    2 +
 src/cairo-scaled-font.c |   78 +++++++++++++++++++++++++++++++++++++++++++++-
 src/cairo-surface.c     |   17 ++++++++++
 src/cairo.c             |   75 +++++++++++++++++++++++++++++++++++++++++++++
 src/cairo.h             |   45 +++++++++++++++++++++++++++
 src/cairoint.h          |   17 ++++++----
 8 files changed, 319 insertions(+), 9 deletions(-)

commit 67e3b3c53bdd69e4d3503eed2db66953f1ac038c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Feb 23 10:59:57 2007 -0500

    [xlib/xcb] Check for same_screen in is_compatible
    
    Two drawables can be used in an X and Render operation only if they share
    the same screen.  Previously we were only checking for the same display
    in is_compatible.  Check for the same screen now.

 src/cairo-xcb-surface.c  |    2 +-
 src/cairo-xlib-surface.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit a1e5b91588a4f51c03487b480f13c100d07f64f8
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Feb 23 22:55:29 2007 +1030

    Subsetting: Add check for malloc() error

 src/cairo-scaled-font-subsets.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

commit 27312591fe7ce14f65aac88ee7206ddcf3cbd0b1
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Feb 23 22:14:42 2007 +1030

    Win32: Fix _cairo_win32_scaled_font_map_glyphs_to_unicode return type

 src/cairo-win32-font.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

commit 3b168e45510e02caf54e4b3cd0df76df6420d304
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Feb 22 23:14:58 2007 -0500

    [FreeType] Truely return unhinted advance width if metrics hinting is off
    
    David Turner said:
    The returned 26.6 advance is always rounded, even with FT_LOAD_NO_HINTING.
    You can however retrieve the linearly scaled value as a 16.16 fixed float
    number through face->glyph->linearHoriAdvance. This works even with hinted
    glyphs.

 src/cairo-ft-font.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

commit 0ff5192e4cb5b1113bed3c9cf1c0275065aafd14
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 21 15:57:21 2007 -0500

    [Makefile.am] Include boilerplate/ in SUBDIRS

 Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1bc1f8ef46a27aa21f8d29b39e645ee5a0e95cda
Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
Date:   Wed Feb 21 23:23:32 2007 +0100

    Set overflow to visible for symbols.
    
    It makes viewers implementing correctly the SVG specification show texts.

 src/cairo-svg-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 7d91c8a2cb3f2a5e0afe0d0c90956add51a4e27c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 21 15:47:43 2007 -0500

    [test] Fix syntax typo in text-rotate

 test/text-rotate.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 155a1b48f6c8265ad5dd594354b66b3e8341bade
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 21 13:52:17 2007 -0500

    [test] Remove text-rotate test from XFAIL as the bugs are fixed now
    
    All missing is subpixel text positioning, but we don't need an XFAIL test
    to remind us for that.

 test/Makefile.am                   |    6 +++---
 test/text-rotate-ps-argb32-ref.png |  Bin 0 -> 7198 bytes
 test/text-rotate-ref.png           |  Bin 12300 -> 17775 bytes
 test/text-rotate-rgb24-ref.png     |  Bin 5640 -> 0 bytes
 test/text-rotate-svg-ref.png       |  Bin 0 -> 18301 bytes
 test/text-rotate.c                 |   12 +++++++++++-
 6 files changed, 14 insertions(+), 4 deletions(-)

commit b54174e917e273143455661d565412fb9a185bfb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 21 13:43:08 2007 -0500

    [PS] Fix rotated image pattern emission by correcting setting the bbox
    
    The bug was that the bounding box of the image was computed by transforming
    the vector (width,height) and then using 0,0,width,height as the bounding box.
    This is obviously wrong.  We use _cairo_matrix_transform_bounding_box() now.
    This fixes the XFAIL test rotate-image-surface-paint.

 src/cairo-ps-surface.c                            |   31 ++++++++++++++-------
 test/Makefile.am                                  |    1 -
 test/rotate-image-surface-paint-ps-argb32-ref.png |  Bin 0 -> 276 bytes
 3 files changed, 21 insertions(+), 11 deletions(-)

commit 6ae4a4fd71b030376ec373f2a787eac32b21d7f3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 21 12:57:09 2007 -0500

    [test] Remove ft-text-vertical-layout-type1 from XFAIL
    and update reference images.  This test was fixed some time ago
    where I disabled type1 subsetting for vertical layouts, then
    turned XFAIL again when Carl Worth didn't have the same fonts as me.
    I've not updated reference images to work on FC6 and hoping that it
    works for Carl too.

 test/Makefile.am                               |    1 -
 test/ft-text-vertical-layout-type1-ref.png     |  Bin 3970 -> 3960 bytes
 test/ft-text-vertical-layout-type1-svg-ref.png |  Bin 3948 -> 3934 bytes
 3 files changed, 0 insertions(+), 1 deletions(-)

commit c6a067f967f9b92328e7d1ca2a4eba6fb4c6dfdf
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Feb 21 11:50:24 2007 -0500

    [test] Add test case for bug #7965 to the get-path-extents test

 test/get-path-extents.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

commit 363b1a40b5719582c670bdb9e7cd8087bcbf9666
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue Feb 20 16:18:27 2007 -0800

    [quartz] Remove (disabled) support for rendering via AGL/CGGL

 src/cairo-quartz-private.h |   10 ----
 src/cairo-quartz-surface.c |  106 +------------------------------------------
 src/cairo-quartz.h         |   11 -----
 3 files changed, 3 insertions(+), 124 deletions(-)

commit e4a1410514471c2cb290d691ca77c4ab24a6541c
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue Feb 20 16:16:18 2007 -0800

    [quartz] Rename public function parameter from surf -> surface

 src/cairo-quartz-surface.c |    8 ++++----
 src/cairo-quartz.h         |    2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

commit 28c1e46b8e082f65fc94c984ea3b66df5adaa529
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue Feb 20 13:22:11 2007 -0800

    [quartz] rename test override images from nquartz to quartz

 test/caps-joins-alpha-nquartz-ref.png              |  Bin 2466 -> 0 bytes
 test/caps-joins-alpha-quartz-ref.png               |  Bin 0 -> 2466 bytes
 test/clip-nesting-nquartz-ref.png                  |  Bin 1067 -> 0 bytes
 test/clip-nesting-nquartz-rgb24-ref.png            |  Bin 956 -> 0 bytes
 test/clip-nesting-quartz-ref.png                   |  Bin 0 -> 1067 bytes
 test/clip-nesting-quartz-rgb24-ref.png             |  Bin 0 -> 956 bytes
 test/clip-push-group-nquartz-ref.png               |  Bin 203 -> 0 bytes
 test/clip-push-group-quartz-ref.png                |  Bin 0 -> 203 bytes
 test/clip-twice-nquartz-ref.png                    |  Bin 1171 -> 0 bytes
 test/clip-twice-nquartz-rgb24-ref.png              |  Bin 1111 -> 0 bytes
 test/clip-twice-quartz-ref.png                     |  Bin 0 -> 1171 bytes
 test/clip-twice-quartz-rgb24-ref.png               |  Bin 0 -> 1111 bytes
 test/dash-caps-joins-nquartz-ref.png               |  Bin 4727 -> 0 bytes
 test/dash-caps-joins-quartz-ref.png                |  Bin 0 -> 4727 bytes
 test/degenerate-path-nquartz-rgb24-ref.png         |  Bin 188 -> 0 bytes
 test/degenerate-path-quartz-rgb24-ref.png          |  Bin 0 -> 188 bytes
 test/fill-and-stroke-alpha-add-nquartz-ref.png     |  Bin 603 -> 0 bytes
 test/fill-and-stroke-alpha-add-quartz-ref.png      |  Bin 0 -> 603 bytes
 test/fill-and-stroke-alpha-nquartz-ref.png         |  Bin 550 -> 0 bytes
 test/fill-and-stroke-alpha-quartz-ref.png          |  Bin 0 -> 550 bytes
 test/fill-and-stroke-nquartz-ref.png               |  Bin 286 -> 0 bytes
 test/fill-and-stroke-nquartz-rgb24-ref.png         |  Bin 264 -> 0 bytes
 test/fill-and-stroke-quartz-ref.png                |  Bin 0 -> 286 bytes
 test/fill-and-stroke-quartz-rgb24-ref.png          |  Bin 0 -> 264 bytes
 test/fill-degenerate-sort-order-nquartz-ref.png    |  Bin 2470 -> 0 bytes
 ...ill-degenerate-sort-order-nquartz-rgb24-ref.png |  Bin 2098 -> 0 bytes
 test/fill-degenerate-sort-order-quartz-ref.png     |  Bin 0 -> 2470 bytes
 ...fill-degenerate-sort-order-quartz-rgb24-ref.png |  Bin 0 -> 2098 bytes
 test/fill-rule-nquartz-ref.png                     |  Bin 2079 -> 0 bytes
 test/fill-rule-nquartz-rgb24-ref.png               |  Bin 1790 -> 0 bytes
 test/fill-rule-quartz-ref.png                      |  Bin 0 -> 2079 bytes
 test/fill-rule-quartz-rgb24-ref.png                |  Bin 0 -> 1790 bytes
 test/new-sub-path-nquartz-ref.png                  |  Bin 386 -> 0 bytes
 test/new-sub-path-nquartz-rgb24-ref.png            |  Bin 357 -> 0 bytes
 test/new-sub-path-quartz-ref.png                   |  Bin 0 -> 386 bytes
 test/new-sub-path-quartz-rgb24-ref.png             |  Bin 0 -> 357 bytes
 test/operator-clear-nquartz-ref.png                |  Bin 1195 -> 0 bytes
 test/operator-clear-nquartz-rgb24-ref.png          |  Bin 1244 -> 0 bytes
 test/operator-clear-quartz-ref.png                 |  Bin 0 -> 1195 bytes
 test/operator-clear-quartz-rgb24-ref.png           |  Bin 0 -> 1244 bytes
 test/random-intersections-nquartz-ref.png          |  Bin 203877 -> 0 bytes
 test/random-intersections-nquartz-rgb24-ref.png    |  Bin 179204 -> 0 bytes
 test/random-intersections-quartz-ref.png           |  Bin 0 -> 203877 bytes
 test/random-intersections-quartz-rgb24-ref.png     |  Bin 0 -> 179204 bytes
 test/rel-path-nquartz-ref.png                      |  Bin 212 -> 0 bytes
 test/rel-path-nquartz-rgb24-ref.png                |  Bin 228 -> 0 bytes
 test/rel-path-quartz-ref.png                       |  Bin 0 -> 212 bytes
 test/rel-path-quartz-rgb24-ref.png                 |  Bin 0 -> 228 bytes
 test/source-clip-scale-nquartz-ref.png             |  Bin 148 -> 0 bytes
 test/source-clip-scale-quartz-ref.png              |  Bin 0 -> 148 bytes
 test/trap-clip-nquartz-ref.png                     |  Bin 5814 -> 0 bytes
 test/trap-clip-nquartz-rgb24-ref.png               |  Bin 5385 -> 0 bytes
 test/trap-clip-quartz-ref.png                      |  Bin 0 -> 5814 bytes
 test/trap-clip-quartz-rgb24-ref.png                |  Bin 0 -> 5385 bytes
 54 files changed, 0 insertions(+), 0 deletions(-)

commit be451cd83d8178bfaf28a1c7dec59601d97cff8d
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue Feb 20 12:54:03 2007 -0800

    [quartz] rename NQUARTZ -> QUARTZ in defines

 perf/cairo-perf.c          |    1 -
 src/cairo-quartz-private.h |    4 +++-
 src/cairo-quartz-surface.c |   18 +++++++++---------
 src/cairo-quartz.h         |   10 +++++-----
 4 files changed, 17 insertions(+), 16 deletions(-)

commit 4c201723ce8139c2e6620881583bc08e3aa1bad7
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue Feb 20 12:15:35 2007 -0800

    [quartz] Rename nquartz to quartz

 boilerplate/cairo-boilerplate.c |   47 +-
 configure.in                    |    7 -
 src/Makefile.am                 |    6 -
 src/cairo-atsui-font.c          |   33 +-
 src/cairo-nquartz-surface.c     | 1864 --------------------------------------
 src/cairo-nquartz.h             |   80 --
 src/cairo-quartz-private.h      |   30 +-
 src/cairo-quartz-surface.c      | 1899 ++++++++++++++++++++++++++++++++++++---
 src/cairo-quartz.h              |   39 +-
 src/cairo.h                     |    1 -
 test/get-clip.c                 |    3 +-
 11 files changed, 1819 insertions(+), 2190 deletions(-)

commit 641f0919d53691e561aa665d31cc43524d861215
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Feb 21 00:32:07 2007 +1030

    PDF/PS: Don't embed multiple copies of the same font
    
    cairo-scaled-font-subsets stores two sets of subsets -
    scaled and unscaled. The first time each glyph is mapped,
    _cairo_scaled_glyph_lookup() is called to determine if
    the glyph is bitmap or outline. Outline glyphs are put
    in the unscaled subsets. Bitmap glyphs are put in the
    scaled subsets. The unscaled subsets hash table keyed is
    the scaled_font->font_face to ensure only one font for
    each font face is created. The scaled subsets hash
    table is keyed by scaled_font.
    
    _cairo_scaled_font_subsets_create() now takes two arguments
    to specify the maximum size of the scaled and unscaled subsets.
    If the unscaled max size is set to 0 all glyphs are mapped
    to scaled subsets.
    
    A separate foreach function is provided for scaled and unscaled
    subsets. The PDF and PS backends iterate over the unscaled
    subsets to emit CFF, TrueType, and Type1 fonts. The scaled
    subsets are iterated to emit Type3 bitmap fonts.

 src/cairo-pdf-surface.c                 |   24 +++-
 src/cairo-ps-surface.c                  |   24 +++-
 src/cairo-scaled-font-subsets-private.h |   61 +++++++-
 src/cairo-scaled-font-subsets.c         |  235 +++++++++++++++++++++++++------
 src/cairo-svg-surface.c                 |    8 +-
 5 files changed, 288 insertions(+), 64 deletions(-)

commit f65c33edbecc1f0e285814995dc1a51748310e36
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Feb 20 01:00:53 2007 -0500

    [win32] Make win32-surface compile without win32-font
    
    Hacking on the win32 code, thanks to winelib.  Yay!

 src/cairo-win32-surface.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

commit 2335a23a16d84e6ebdde7afbeb1fbceb3bdbe6b6
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Feb 20 01:00:17 2007 -0500

    [test/Makefile.am] Document why svg2png and pdf2png use LDADD
    
    This is to make librsvg and poppler to use the compiled cairo instead
    of whatever is on the system, such that the test suite does not depend
    on a good version of cairo being installed already.

 test/Makefile.am |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 8133530ae5848b0a34c299e0c71360931fe383df
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Feb 20 00:57:25 2007 -0500

    [configure] Improve win32 detection
    
    We now test for windows.h availability to automatically enable win32
    backends.  This nicely enables compiling cairo against libwine by just
    setting CC=winegcc LD=winegcc during configure.  This currently only
    generates static libs though.

 configure.in    |   27 ++++++++++++++++++---------
 src/Makefile.am |    7 +++++--
 2 files changed, 23 insertions(+), 11 deletions(-)

commit 0fcd6cfe0edff25ad3d11af056ba611bd8d9d8c8
Author: Jeff Smith <whydoubt@yahoo.com>
Date:   Mon Feb 19 16:06:57 2007 -0500

    Clean up some inconsistent spacing in the stroking code

 src/cairo-path-stroke.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 89010db3ad3ce0a9afaf28fd313da86ebc864c7c
Author: Jeff Smith <whydoubt@yahoo.com>
Date:   Mon Feb 19 16:06:57 2007 -0500

    Add or reword several comments in the stroking code

 src/cairo-path-stroke.c |   14 ++++++++------
 1 files changed, 8 insertions(+), 6 deletions(-)

commit adb573d0bafd7b555bda0effcbd94b9144981ad6
Author: Jeff Smith <whydoubt@yahoo.com>
Date:   Mon Feb 19 16:06:57 2007 -0500

    Minor changes to shorten the stroking code

 src/cairo-path-stroke.c |   26 +++++++++-----------------
 1 files changed, 9 insertions(+), 17 deletions(-)

commit fb29fddd40aeb4c2f1a42f88eddec5c06adf0583
Author: Jeff Muizelaar <jrmuizel@uwaterloo.ca>
Date:   Mon Feb 19 16:06:57 2007 -0500

    Rename tmp to step_length because that is what it actually is.

 src/cairo-path-stroke.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit afd5f92195335a88d7c1ff181a1bd03ca01b424f
Author: Jeff Muizelaar <jrmuizel@uwaterloo.ca>
Date:   Mon Feb 19 16:06:57 2007 -0500

    Fix several issues with dashed stroking code, particularly 'leaky-dash'
    
    Adds some state, 'dash_starts_on', to keep track of whether a dashed path
    starts with dash_on or not. This fixes the 'leaky-dash' bug (#4863) and
    some other degenerate cases. The new version is, in my opinion,
    considerably cleaner and more understandable than the old code.
    
    Finally, the rewrite changes the behaviour of dashing to add degenerate
    caps around corners that start at the same place as a dash begins. This
    matches the behaviour seen in acroread.
    
    This rewrite is based on an initial rewrite done by Jeff Smith.

 src/cairo-path-stroke.c           |   85 +++++++++++++++++--------------------
 test/Makefile.am                  |    1 -
 test/dash-caps-joins-ref.png      |  Bin 4680 -> 4718 bytes
 test/dash-scale-ref.png           |  Bin 7791 -> 7908 bytes
 test/leaky-dash-ps-argb32-ref.png |  Bin 0 -> 286 bytes
 test/leaky-dash-ref.png           |  Bin 241 -> 243 bytes
 6 files changed, 39 insertions(+), 47 deletions(-)

commit 78ae474d96b48ccba3d18dc26c416ebd6daab502
Author: Jeff Muizelaar <jrmuizel@uwaterloo.ca>
Date:   Mon Feb 19 16:06:56 2007 -0500

    Rename has_sub_path to has_initial_sub_path
    
    has_initial_sub_path more accurately describes the condition we want to
    track. This flag is used to indicate when an initial sub_path needs capping
    but has no associated slope and thus no associated faces.

 src/cairo-path-stroke.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit 9f3fb4f753eabc84f19d808df64a718991269670
Author: Jeff Muizelaar <jrmuizel@uwaterloo.ca>
Date:   Mon Feb 19 16:06:56 2007 -0500

    Add a comment about the point choice when capping degenerate paths

 src/cairo-path-stroke.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit a1a4d6966e1d9c8ccf84c9972a4f9560553948f6
Author: Jeff Smith <whydoubt@yahoo.com>
Date:   Mon Feb 19 16:06:56 2007 -0500

    Modify how _cairo_stroker_add_caps handles zero-length sub-paths
    
    For zero-length sub-paths, _cairo_stroker_add_caps sets up a dummy face,
    then lets later parts of the function add the caps.

 src/cairo-path-stroke.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

commit 849a9ef81b99d05d8f3ceb4f73bf5e52c90b24af
Author: Jeff Smith <whydoubt@yahoo.com>
Date:   Mon Feb 19 16:06:56 2007 -0500

    Change type of cairo_stroker_t's dash_on from int to cairo_bool_t

 src/cairo-path-stroke.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 74ded42327e87b40de434a28620d0a3fc8e4d249
Author: Jeff Muizelaar <jrmuizel@uwaterloo.ca>
Date:   Mon Feb 19 16:06:56 2007 -0500

    Add a new dashing test
    
    This new dashing test, based on some code from Jeff Smith, does a pretty
    good job exploring all the cases that the dashing code needs to deal with.

 test/Makefile.am                  |    2 +
 test/dash-state-ps-argb32-ref.png |  Bin 0 -> 8652 bytes
 test/dash-state-ref.png           |  Bin 0 -> 9389 bytes
 test/dash-state.c                 |   72 +++++++++++++++++++++++++++++++++++++
 4 files changed, 74 insertions(+), 0 deletions(-)

commit 1c1697398c5ef17e38bc031e8c067113a6c10287
Author: Jeff Muizelaar <jrmuizel@uwaterloo.ca>
Date:   Mon Feb 19 16:06:56 2007 -0500

    Add two new test cases to degenerate-path test
    
    These new cases deal with degenerate paths at the end of dashed paths. They
    currently fail.

 test/degenerate-path-ps-argb32-ref.png |  Bin 303 -> 390 bytes
 test/degenerate-path-ref.png           |  Bin 216 -> 257 bytes
 test/degenerate-path-rgb24-ref.png     |  Bin 189 -> 224 bytes
 test/degenerate-path.c                 |   23 ++++++++++++++++++++++-
 4 files changed, 22 insertions(+), 1 deletions(-)

commit 9927dde5334322c97942982f9bf632e74502d628
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sat Feb 17 10:55:14 2007 +1030

    TrueType: fix bug #9998 - build error with gcc 2.95

 src/cairo-truetype-subset-private.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 9bae496a0a057bb0de70b078ee5cde265663dc86
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Thu Feb 15 23:08:40 2007 +0000

    [ATSUI] implement load_truetype_table
    
    Implements load truetype table, allowing selection of
    text and searching in pdfs generated using the atsui
    font backend.

 src/cairo-atsui-font.c |   26 +++++++++++++++++++++++++-
 1 files changed, 25 insertions(+), 1 deletions(-)

commit 16e20568a502b86d96c3087515e663bb7996f167
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Feb 16 08:38:26 2007 +1030

    TrueType: Add post table and 3,0 cmap encoding
    
    Commit 05ff2c77da86c7be95924f9af4d3ad944afbbf66 contained
    a fix for the acroread printing problem. However this
    patch caused a problem for the Mac Preview PDF viewer.
    
      http://lists.freedesktop.org/archives/cairo/2007-February/009615.html
    
    This patch fixes the Mac Preview problem. The patch
    
    - Adds a platform 3, encoding 0 cmap table
    - Adds a post table that maps the glyph names in the
      PDF truetype font dictionary (/g0 /g1 /g2 ...)
      to glyph indices in the font.

 src/cairo-truetype-subset-private.h |    1 +
 src/cairo-truetype-subset.c         |   69 +++++++++++++++++++++++++++++++----
 2 files changed, 63 insertions(+), 7 deletions(-)

commit 2715f2098127d04d2f9e304580a26cd0842c0e64
Author: Jorn Baayen <jorn@openedhand.com>
Date:   Wed Feb 14 18:28:56 2007 -0800

    [cairo-pattern] Cache surface for solid patterns
    
    We use a small cache of size 16 for surfaces created for solid patterns.
    This mainly helps with the X backends where we don't have to create a
    pattern for every operation, so we save a lot on X traffic.  Xft uses a
    similar cache, so cairo's text rendering traffic with the xlib backend
    now completely matches that of Xft.
    
    The cache uses an static index variable, which itself acts like a cache of
    size 1, remembering the most recently used solid pattern.  So repeated
    lookups for the same pattern hit immediately.  If that fails, the cache is
    searched linearly, and if that fails too, a new surface is created and a
    random member of the cache is evicted.
    
    Only surfaces that are "compatible" are used.  The definition of compatible
    is backend specific.  For the xlib backend, it means that the two surfaces
    are allocated on the same display.  Implementations for compatibility are
    provided for all backends that it makes sense.

 src/cairo-color.c            |    7 +++
 src/cairo-debug.c            |    2 +
 src/cairo-directfb-surface.c |   12 +++++-
 src/cairo-glitz-surface.c    |   24 +++++++++++-
 src/cairo-pattern.c          |   91 ++++++++++++++++++++++++++++++++++++++---
 src/cairo-surface.c          |   26 ++++++++++++
 src/cairo-win32-surface.c    |   13 ++++++-
 src/cairo-xcb-surface.c      |   17 +++++++-
 src/cairo-xlib-surface.c     |   17 +++++++-
 src/cairoint.h               |   15 +++++++
 10 files changed, 212 insertions(+), 12 deletions(-)

commit b31179478bf8c18245917caa1bee19bb61f336c1
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Feb 14 00:48:42 2007 -0800

    Bump cairo version to 1.3.15 after making the 1.3.14 snapshot

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 90e453fc22398f31996a6fdbeec6da98e25a160e
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Feb 14 00:34:18 2007 -0800

    Increment cairo version to 1.3.14 (and libtool versioning to 12:4:10)

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 513f21140bae549e088909333598e73e5dac4a44
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Feb 14 00:32:54 2007 -0800

    NEWS: Add notes for the 1.3.14 snapshot

 NEWS |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 56 insertions(+), 0 deletions(-)

commit 51ca187d3e5d613a583daf4fa5b244157e3a2c4f
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 13 23:55:03 2007 -0800

    Mark test/rotate-image-surface-paint as XFAIL
    
    This test has always failed with the ps backend since the test
    was initially written.

 test/Makefile.am                  |    1 +
 test/rotate-image-surface-paint.c |    3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 9966551dc7640ae7901ffed0e15f0fbf7e603d5d
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 13 23:49:26 2007 -0800

    Fix cairo_ft_unscaled_font_t to have a lock_count again not an is_locked Boolean
    
    This was inadvertently changed as part of fdffde8b9e7a2308b822ddef7b02a8e85cc8ba1e
    
    With the Boolean, pango-using programs that locked the same
    unscaled_font multiple times would crash with a message such as:
    
     cairo-ft-font.c:569: _cairo_ft_unscaled_font_unlock_face: Assertion `unscaled->is_locked' failed.

 src/cairo-ft-font.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 7adab2866be21207a15f07aab01fb17edd0e661f
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 13 22:05:57 2007 -0800

    Add missing call to set_scale of unscaled_font in scaled_glyph init
    
    This fixes a regression introduced with commit:
    
    	25a370d7992d7f70d8cf79f1b328e40437b40ac4
    
    This was showing up as a failure of the bitmap-font test case
    with the ps, pdf, and svg backends.

 src/cairo-ft-font.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 17b4496ae9df539c48c830b21c4477e763ba4e5d
Author: Jinghua Luo <sunmoon1997@gmail.com>
Date:   Wed Feb 14 11:52:11 2007 +0800

    type1-subset: fix error handling.
    
    This fixes potenial memory leak and leaving font face locked on error.

 src/cairo-type1-subset.c |   34 +++++++++++++++++++++++-----------
 1 files changed, 23 insertions(+), 11 deletions(-)

commit 01a133167c48e7985515ae29f4a87de7952d1373
Author: Dan Amelang <dan@amelang.net>
Date:   Sun Feb 11 00:16:52 2007 -0800

    Update Win32 makefiles
    
    Since the last time these makefiles were last updated some new source
    files have been added and one renamed. In addition, a "clean" rule
    needed to be added to the pixman makefile. And the "clean" rule in the
    main cairo makefile wasn't working properly for me.

 pixman/src/Makefile.win32 |    2 ++
 src/Makefile.win32        |    8 ++++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

commit b8987dd12c3269c1d7978338cd356b9fe3ad420e
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 13 16:47:30 2007 -0800

    ROADMAP: Note that text spacing issues for win32 are fixed

 ROADMAP |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit f0a16b5bddc5c162c78ae976093fe8bb2b756e04
Author: Dan Amelang <dan@amelang.net>
Date:   Sun Feb 11 03:34:27 2007 -0800

    Fix Win32 text spacing problem
    
    Thanks to Jordan Miner for reporting the problem and a fix.

 src/cairo-win32-surface.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit aad1374caab3a05893c9f1f2605131edd9f62409
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Feb 10 09:39:24 2007 -0800

    Rename cairo_toy_font_face_hash_table_mutex to cairo_font_face_mutex
    
    The new name more accurately reflects its recently expanded role.

 src/cairo-font.c |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 deletions(-)

commit e107b70b4d282d78ebe32f4d2381fcf98df324f6
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Feb 10 09:39:09 2007 -0800

    Add locking to cairo_font_face_reference/destroy
    
    The reference count of cairo_font_face_t is rather intimately tied,
    (for toy font faces), with the cairo_font_face_hash_table, so we
    expand the existing cairo_toy_font_face_hash_table_mutex to cover
    the manipulation of font_face->ref_count as well.
    
    This commit eliminates an assertion failure that is (occasionally)
    exposed by the pthread-show-text test case:
    
    lt-pthread-show-text: cairo-hash.c:196: _cairo_hash_table_destroy: Assertion `hash_table->live_entries == 0' failed.

 src/cairo-font.c |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

commit d6d1767f9a89bf7e16288d0a90e5fafc5ad2d9d6
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Feb 10 09:38:13 2007 -0800

    Increase pthread-show-text thread count and add cairo_select_font_face to expose more bugs.

 test/pthread-show-text.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit fdffde8b9e7a2308b822ddef7b02a8e85cc8ba1e
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Feb 10 09:14:07 2007 -0800

    Add mutex to implement _cairo_ft_unscaled_font_lock_face and _cairo_ft_unscaled_font_unlock_face
    
    Previously we just had an integer counter here, but that is not
    sufficient as multiple cairo_scaled_font_t objects, (which are
    implicitly shared through the font caches), can reference the
    same cairo_ft_unscaled_font_t so real locking is needed here.
    
    This commit eliminates an assertion failure exposed by the
    pthread-show-text test case:
    
    lt-pthread-show-text: cairo-ft-font.c:562: _cairo_ft_unscaled_font_unlock_face: Assertion `unscaled->lock > 0' failed.

 src/cairo-ft-font.c |   82 +++++++++++++++++++++++++++++++++------------------
 1 files changed, 53 insertions(+), 29 deletions(-)

commit 25a370d7992d7f70d8cf79f1b328e40437b40ac4
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 13 10:40:53 2007 -0800

    Avoid public cairo_ft_scaled_font_lock_face for internal use
    
    We're planning to change the implementation of the public function,
    (which will remove some locking safety), so use the safe, locked
    _cairo_ft_unscaled_font_lock_face for internal use instead.

 src/cairo-ft-font.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 7e1301ffb066b04d95dc71144d86e660f0155bba
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Feb 10 09:12:38 2007 -0800

    Add missing _cairo_ft_unscaled_font_unlock_face to _cairo_ft_scaled_font_create

 src/cairo-ft-font.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 6f7cfdf5c79c3c09a0241ae25ff540fb0d893d31
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Feb 13 23:53:38 2007 +1030

    PDF: Add missing character code to Differences array

 src/cairo-pdf-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 88cae7766d6006e4169da1dcddc14a52e210cae5
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Feb 13 23:29:05 2007 +1030

    output-stream: coding style fix

 src/cairo-output-stream.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 88f7ea4ad7926b135c987d3d75c029310c328010
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Feb 13 22:52:53 2007 +1030

    CFF: Fix Visual C++ compile problem
    
    Don't use structure intitialization for assigning
    structure values.
    
    Add a new field to cff_charset_t to point to the sids
    charset array instead of casting it into the data field.

 src/cairo-cff-subset.c |   25 ++++++++++++++-----------
 1 files changed, 14 insertions(+), 11 deletions(-)

commit ac01dcb5ad077d8ea08a93348fc23d4a891abaae
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Feb 11 23:14:40 2007 +1030

    PDF: Remove dead code
    
    The function _cairo_pdf_surface_write_fonts is the
    original PDF TrueType font embedding function that was
    disabled in commit f500cef19f049a4a0ed296172618db2f26794932
    shortly before Type3 font support was added.
    
    TrueType font embedding was later reintroduced as new code
    making this function obsolete.

 src/cairo-pdf-surface.c |  108 -----------------------------------------------
 1 files changed, 0 insertions(+), 108 deletions(-)

commit d6f15b26009ff8e1d52a037265bcaa80c5ce6735
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Feb 11 22:20:58 2007 +1030

    Output-stream: Omit the minus sign from negative zero

 src/cairo-output-stream.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit a2fefcc9e962e81a00fb16ae3d1bc29d9e61eaa0
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Feb 11 21:57:43 2007 +1030

    PDF: Compress Type3 fonts

 src/cairo-pdf-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 9f47879ae31f003be3b32f9ecb3efb3486d72cc7
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Feb 11 21:50:46 2007 +1030

    PDF: Fix Type3 font metrics to make text selection work

 src/cairo-pdf-surface.c |   66 +++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 56 insertions(+), 10 deletions(-)

commit 9dce321a113871ade7de244d3abf9ed08f43dd85
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sun Feb 11 01:42:22 2007 +0000

    [ATSUI] scale fonts using font size not font matrix
    
    Mozilla bug #327522 - fonts scaled up over 16pt on mac
    had nonsensical extents. The scaling was being done using
    the font matrix, it turns out this does not work for 16x
    scaling and up. This patch switches back to using the
    font size to scale fonts, with emboldening and condensing
    effects applied separately using the font matrix.

 src/cairo-atsui-font.c |   22 +++++++++-------------
 1 files changed, 9 insertions(+), 13 deletions(-)

commit eec62c297589ca20f4128c889ecad9e96736a07f
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sat Feb 10 00:20:40 2007 +0000

    Unreleased lock typo in cairo-scaled-font.c
    
    One path through _cairo_scaled_font_text_to_glyphs grabbed
    the mutex but didn't release it, causing hangs in all
    text rendering on the mac.

 src/cairo-scaled-font.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit a37f21cb17a24643f7513dff06bc2b5fd38e2583
Author: Eugeniy Meshcheryakov <eugen@debian.org>
Date:   Thu Feb 8 15:29:58 2007 -0800

    [PS/PDF/SVG] Return a write_error nil surface on write errors

 src/cairo-pdf-surface.c |    4 +++-
 src/cairo-ps-surface.c  |    4 +++-
 src/cairo-surface.c     |    1 +
 src/cairo-svg-surface.c |    4 +++-
 src/cairoint.h          |    1 +
 5 files changed, 11 insertions(+), 3 deletions(-)

commit bf3cbe7660f03f6b4139f4cf79a4007c682a84bd
Author: Eugeniy Meshcheryakov <eugen@debian.org>
Date:   Thu Feb 8 15:28:14 2007 -0800

    [cairo-surface] Use a macro definition for all nil surfaces

 src/cairo-surface.c |  139 ++++++++++++++-------------------------------------
 1 files changed, 38 insertions(+), 101 deletions(-)

commit aea0831d24c3fca59b9eb9dd8acce9d9cdd13f26
Author: Kalle Vahlman <kalle.vahlman@gmail.com>
Date:   Thu Feb 8 15:07:45 2007 -0800

    [cairoint] Make it compile with libpng disabled

 src/cairoint.h |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit 4773b8a6d25e4b228471ad48616c08367ee84809
Author: Peter Weilbacher <pmw@avila.aip.de>
Date:   Thu Feb 8 20:34:26 2007 +0100

    Oops, correct typo in previous commit
    
    FALSA -> FALSE

 src/cairoint.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e711700d5d766b4b923a10bfaabb57163b55a21d
Author: Peter Weilbacher <pmw@avila.aip.de>
Date:   Thu Feb 8 20:29:18 2007 +0100

    Correct scaled font mutex definitions for OS/2
    
    Using a zero without brackets to quiet remaining GCC compilation warning.
    Use FALSE so that the mutex does not block on creation.

 src/cairoint.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 2d1db24d1e7f3967b7ab498ce0ed29508c08a04b
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Feb 7 23:10:47 2007 +1030

    PDF: Another fix for TrueType metrics
    
    Not all TrueType fonts have an em size of 2048.

 src/cairo-pdf-surface.c                 |   20 ++++++++++----------
 src/cairo-scaled-font-subsets-private.h |    6 +++---
 src/cairo-truetype-subset.c             |   22 +++++++++++++---------
 3 files changed, 26 insertions(+), 22 deletions(-)

commit 274dfa4598bcb11b9f8330d23934a4ef1797fdbf
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Feb 7 22:35:59 2007 +1030

    PDF: Make text selection and extraction work
    
    - Add a to_unicode array to the scaled_font_subsets
      for mapping glyphs to unicode characters
    
    - Add a function to the TrueType subsetting for
      performing a reverse cmap for mapping glyph indices
      to unicode characters.
    
    - Add a new scaled font backend function for mapping
      glyph indices to unicode characters. Provide FreeType
      and Win32 implementations of the font backend mapping
      function.
    
    - Modify the PDF backend to embed ToUnicode streams
      into each font. The unicode mapping is obtained by
      first trying the reverse cmap. If this fails the font
      backend mapping function is called.

 src/cairo-atsui-font.c                  |    2 +
 src/cairo-ft-font.c                     |   33 +++++++
 src/cairo-pdf-surface.c                 |  126 +++++++++++++++++++++++++--
 src/cairo-scaled-font-subsets-private.h |   29 ++++---
 src/cairo-scaled-font-subsets.c         |   15 +++-
 src/cairo-truetype-subset-private.h     |   23 +++++
 src/cairo-truetype-subset.c             |  144 +++++++++++++++++++++++++++++++
 src/cairo-win32-font.c                  |   17 ++++
 src/cairoint.h                          |   18 ++++
 9 files changed, 385 insertions(+), 22 deletions(-)

commit 97a2522e0bbe8464028b9b42c79e0b3559b532be
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 6 21:19:30 2007 -0800

    Add missing locking to _cairo_scaled_font_text_to_glyphs
    
    We recently added locking to cairo_scaled_font_glyph_extents and
    to _cairo_surface_show_glyphs, but we had neglected the third
    separate entry point into scaled_font code that does cache-using
    glyph lookups, namely: _cairo_scaled_font_text_to_glyphs.
    
    These three separate functions are plainly visible in the
    implementation of cairo_show_text.

 src/cairo-scaled-font.c |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

commit 1503a41c7f115033b10470574027cffab0730687
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 6 20:32:08 2007 -0800

    Expand font_map locking to cover call to backend->scaled_font_create
    
    It seemed like a good idea to avoid holding the lock over the call
    into the backend. But the procedure in place was quite broken:
    
    	LOCK
    	Fail to find font in hash table
    	UNLOCK
    	Create font
    	LOCK
    	Insert font into hash table
    	UNLOCK
    
    since while we're busy creating the font and unlocked, another thread
    can insert the font. Our paranoid hash table implementation noted
    the problem quite readily.
    
    This patch simply removes the internal UNLOCK/LOCK to hold the mutex
    over the whole procedure.

 src/cairo-scaled-font.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

commit fc3ce1e80a89aab4f1ec75946771f6c2a79f0b90
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 6 20:41:58 2007 -0800

    test/pthread-show-text: Increease iterations to expose locking bug
    
    With 50 iterations I'm seeing the following assertion failure:
    
    cairo-hash.c:477: _cairo_hash_table_insert: Assertion `NOT_REACHED' failed.
    
    Thanks to Jan Slupski <jslupski@juljas.net> for pointing out this bug.

 test/pthread-show-text.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

commit d07827ba2a225f880f4bbf6980872f5ae8898288
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 6 19:06:23 2007 -0800

    ROADMAP: Drop 1.3.6 which is already in the past and note 8379 fix and pixman gradient improvements

 ROADMAP |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

commit 672a668da1002dbcecda2e4805c6b54c86d4cff7
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 6 19:05:07 2007 -0800

    ROADMAP: Note that the 8801 locking bug is fixed.

 ROADMAP |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit db3493bef7dba1e960f59563925fd9c5e75cb4ca
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 6 18:28:44 2007 -0800

    Remove dead cff_dict_remove function
    
    I assume this was just a leftover that was meant to be removed
    earlier. If not, please feel free to bring it back again.

 src/cairo-cff-subset.c |   14 --------------
 1 files changed, 0 insertions(+), 14 deletions(-)

commit 89cf8dbf522ce7ada0ee4cf9ea016ac2a89c8a75
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 6 18:27:33 2007 -0800

    Remove half-leftover debugging code from previous commit
    
    This was leading to link failures on CAIRO_LOCK_FILE, etc.

 src/cairoint.h |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 5d58e7ee66166b19e673c247fe41eae51f72fd92
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Feb 5 16:45:25 2007 -0800

    Add scaled_font->mutex to allow locking for all subordinate objects
    
    A cairo_scaled_font_t can be implicitly shared among multiple threads
    as the same cairo_scaled_font_t can be returned from different calls
    to cairo_scaled_font_create. To retain the illusion that these
    different calls produce distinct objects, cairo must internally lock
    access when modifying them.
    
    Each glyph in the scaled font is represented by a cairo_surface_t
    which is used when rendering the glyph. Instead of attempting to push
    fine-grained locking of these surfaces down to the backend rendering
    functions, a simple per-cairo_scaled_font_t lock has been introduced
    which protects the entire rendering path against re-entrancy.
    
    Some care was required to ensure that existing re-entrancy was handled
    appropriately; these cases are in the wrapping surfaces
    (cairo-paginated, test-meta and test-paginated).
    
    Thanks to Vladimir Vukicev and Peter Weilbacher for testing/providing
    the mutex definitions for win32 and os2 (respectively).

 src/cairo-paginated-surface.c |   21 ++++++++++++--
 src/cairo-scaled-font.c       |   17 ++++++++---
 src/cairo-surface.c           |   19 ++++++++-----
 src/cairoint.h                |   58 +++++++++++++++++++++++++++++++++++++++-
 src/test-meta-surface.c       |   21 ++++++++++++--
 src/test-paginated-surface.c  |   19 ++++++++++++-
 6 files changed, 132 insertions(+), 23 deletions(-)

commit 765715ad93d3daad1b8b53f6ea9fee82737923ea
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 6 17:29:03 2007 -0800

    Move scaled font holdovers magic from reference to create to fix race condition
    
    Previously, with the magic in _cairo_scaled_font_reference(),
    cairo_scaled_font_create() was releasing its lock just before
    calling into reference() which would re-acquire the lock.
    That left a window open during which a font we just discovered
    in the holdovers table could be destroyed before we had a chance
    to give it its initial reference back.

 src/cairo-scaled-font.c |   57 +++++++++++++++++++++-------------------------
 1 files changed, 26 insertions(+), 31 deletions(-)

commit 9c359d61fc5df3e925e4b63503d60dc8fe8be6b3
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 6 17:40:17 2007 -0800

    Avoid holding lock when calling _cairo_scaled_font_fini
    
    As in the previous commit with the backend->scaled_font_create
    function, we also don't want to hold the lock when calling into
    the backend's fini function.

 src/cairo-scaled-font.c |   24 ++++++++++++++----------
 1 files changed, 14 insertions(+), 10 deletions(-)

commit 258175ffcd89dcc949c3dc6ee3cd660d057a1966
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Feb 6 17:21:22 2007 -0800

    Don't hold mutex over backend->scaled_font_create
    
    This also allows some cleanup of the error-handling in
    cairo_scaled_font_create, (no more goto statements).

 src/cairo-scaled-font.c |   48 +++++++++++++++++++++++-----------------------
 1 files changed, 24 insertions(+), 24 deletions(-)

commit fc660511ec7a51be909e5ed940354d39ef7ad633
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Feb 7 11:05:33 2007 +1030

    PDF: Correct the y value of Td in show_glyphs
    
    This bug would occur if the y coordinate of all the glyphs
    in a single cairo_show_glyphs() call was not the same.

 src/cairo-pdf-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 908469b5fcdc311a89868ab44baa85d0744985d1
Author: Soren Sandmann Pedersen <ssp@dhcp83-218.boston.redhat.com>
Date:   Tue Feb 6 16:37:45 2007 -0500

    Apply patch from Marco Gritti and Jordan Crouse to correctly detect
    AMD CPU's. Bug 9615.

 pixman/src/fbpict.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 9d3f537423b3cc0cb6a4b2607e9307c1eef9e074
Author: Soren Sandmann Pedersen <ssp@dhcp83-218.boston.redhat.com>
Date:   Tue Feb 6 16:27:42 2007 -0500

    Remove left-over assert and some alpha checks from
    fbCompositeSrc_8888x0565mmx(). Bug 9893.

 pixman/src/fbmmx.c |   52 +++++++++++++---------------------------------------
 1 files changed, 13 insertions(+), 39 deletions(-)

commit a8f8efb750fd3a8857c7f519b8645e578f75442b
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Mon Feb 5 18:29:30 2007 +1030

    PS: Correct the TrueType Encoding and Charstrings
    
    The offsets and count was out by one as a result of the
    change to include .notdef on the TrueType font.

 src/cairo-ps-surface.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 28e3a20d79c3390547d3e53435c06442ca8ac8a2
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Feb 4 23:47:28 2007 +1030

    PDF: Fix TrueType font metrics

 src/cairo-pdf-surface.c |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

commit 05ff2c77da86c7be95924f9af4d3ad944afbbf66
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Feb 4 19:00:16 2007 +1030

    PDF: Add Encoding dictionary to TrueType fonts
    
    This is a fix for the bugs reported here
    
      http://lists.freedesktop.org/archives/cairo/2006-December/008984.html
    
      http://lists.freedesktop.org/archives/cairo/2007-January/009387.html
    
    Cairo PDFs will not print correctly from Adobe Reader. The symptoms are
    that all the glyphs on the page are replaced with the same glyph.
    
    According to the PDF Reference an Encoding dictionary is not required
    for the symbolic fonts used by cairo. However including the Encoding
    dictionary fixes the printing problem.

 src/cairo-pdf-surface.c |   21 +++++++++++++++++++--
 1 files changed, 19 insertions(+), 2 deletions(-)

commit 3f8d5f505af4d7569ce38452f1be5d40bf6a00b4
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Feb 4 18:21:50 2007 +1030

    TrueType: Include notdef glyph in the subset
    
    Required by the TrueType specification.

 src/cairo-truetype-subset.c |   23 ++++++++++++++++-------
 1 files changed, 16 insertions(+), 7 deletions(-)

commit d22ba141e6c78bf1fc3dfc02c9aaf6d725233444
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Feb 4 16:54:57 2007 +1030

    TrueType Subsetting: Whitespace change

 src/cairo-truetype-subset.c |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

commit e4a5011a2787bbb7ced338aaff2752aa23ac7892
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Feb 4 16:51:44 2007 +1030

    TrueType Subsetting: Add comment

 src/cairo-truetype-subset.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit 7d05b9bdd328c7ec0422f45893fa0e0d6e9bb135
Author: Eugeniy Meshcheryakov <eugen@debian.org>
Date:   Sun Feb 4 16:26:18 2007 +1030

    TrueType Subsetting: Sort table directory
    
    The TrueType specification requires the table directory
    to be sorted by tag.

 src/cairo-truetype-subset.c |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)

commit 8b3176158351e62185294d512030c7af1ec4fabc
Author: Eugeniy Meshcheryakov <eugen@debian.org>
Date:   Sun Feb 4 16:22:12 2007 +1030

    TrueType Subsetting: Correct the checksum calculation of 'head' table
    
    Checksum field should be zero before calculating checksum.

 src/cairo-truetype-subset.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 0bf5e18b14f2bbaf3be3b31c4eb54ea3183f488a
Author: Eugeniy Meshcheryakov <eugen@debian.org>
Date:   Sun Feb 4 16:19:05 2007 +1030

    TrueType Subsetting : Correct the checksum calculation

 src/cairo-truetype-subset.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2bd590b64987b7f0eb7310666ac20a8309e32842
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Feb 2 16:43:27 2007 -0800

    ROADMAP: Note that linear gradient bug is fixed.

 ROADMAP |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ae4f37e0a32c3e231c38434846e80fd90162d888
Author: David Turner <digit@mounini.par.corp.google.com>
Date:   Fri Feb 2 10:30:24 2007 +0100

    fixing gradient repeat mode computations
    
    This fixes the regression of linear gradient as demonstrated
    by the recently added linear-gradient-reflect test.

 pixman/src/fbcompose.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit 0b7ba5ccfa21265c1b36919ff08bd3a1f0d1075b
Author: T Rowley <tor@cs.brown.edu>
Date:   Fri Feb 2 16:36:12 2007 -0800

    Add linear-gradient-reflect test case
    
    This testcase works before the
    e9bef30d2bcdf41c7b7f20b3517839c37e752f75 landing, and has visual
    artifacts afterwards.

 test/Makefile.am                     |    2 +
 test/linear-gradient-reflect-ref.png |  Bin 0 -> 216 bytes
 test/linear-gradient-reflect.c       |   74 ++++++++++++++++++++++++++++++++++
 3 files changed, 76 insertions(+), 0 deletions(-)

commit 1757b49ebda3ec464a442d8c4f5ba39c88c1e3e5
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Feb 1 16:17:29 2007 -0800

    ROADMAP: Add bug about broken cairo_show_text on win32

 ROADMAP |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit c621201a41639be8ba9ee735c2859aa117ba4216
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Feb 1 16:05:59 2007 -0800

    Don't finish a finished surface in cairo_surface_destroy
    
    Calling cairo_surface_finish from cairo_surface_destroy was
    triggering an error due to finish being called twice. The
    error was usually hidden as the surface would still eventually
    be destroyed. But it did clutter things up quite badly if a
    user was trying to break on _cairo_error to track down a
    problem.
    
    Thanks again to Stuart Parmenter <stuartp@gmail.com>
    for pointing out the problem.

 src/cairo-surface.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 159359325d4f8306feef6bebabecb31cbf0b9bf5
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Feb 1 15:22:27 2007 -0800

    Fix crashes in cairo_surface_finish for NULL or nil
    
    Thanks to Stuart Parmenter for alerting us of this bug.

 src/cairo-surface.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 26ef4746e66dccd8e0eb651db3e7f2826c068029
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Feb 1 15:21:12 2007 -0800

    Add two tests of cairo_surface_finish to test/nil-surface.c
    
    This tests calling cairo_surface_finish with either NULL or
    with a nil surface, (either currently causes a crash).

 test/nil-surface.c |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

commit 382e021ccb657ab1e342e0d0eee402ff5eb89e5d
Author: Dan Amelang <dan@amelang.net>
Date:   Wed Jan 31 11:53:06 2007 -0800

    Add "rectangles" perf test
    
    This test draws many small, solid pixel-aligned rectangles one at a
    time.

 perf/Makefile.am  |    1 +
 perf/cairo-perf.c |    1 +
 perf/cairo-perf.h |    1 +
 perf/rectangles.c |   71 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 74 insertions(+), 0 deletions(-)

commit 7abfb39709342fc3d95269ad2d76a5e1e8f8d38f
Author: Eugeniy Meshcheryakov <eugen@debian.org>
Date:   Sun Jan 28 19:01:38 2007 +1030

    CFF Subsetting: Add charset data to embedded font
    
    Current code for subsetting CFF fonts does not write charset information
    into it. According to spec this means that font have ISOAdobe charset.
    This charset contains only 228 names (excluding .notdef). This is not
    enough for subfonts with 256 glyphs and causes bugs when viewing
    generated PDFs.

 src/cairo-cff-subset.c |  253 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 252 insertions(+), 1 deletions(-)

commit a63ceef06c2c015c8e5f0ad7b756ff6801996096
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jan 26 18:03:18 2007 -0800

    Fix _cairo_pattern_acquire_surface_for_surface to not clone outside surface extents
    
    Rotation and other transformations would cause extents to be
    computed which were outside the bounds of the surface to be
    cloned, (and for non repeating patterns). Now we simply
    restrict the computed extents to the surface extents.
    
    This fixes the xlib failure of the recent rotate-image-surface-paint
    test, (the apparently distinct ps failure remains).

 ROADMAP             |    2 +-
 src/cairo-pattern.c |   21 +++++++++++++++------
 2 files changed, 16 insertions(+), 7 deletions(-)

commit ebc1cd91f80ee154c02651b2db034a4335ca021c
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Jan 20 00:50:38 2007 -0800

    Add rotate-image-surface-paint test case
    
    This test exercises a clone_similar extents bug noticed by
    Benjamin Otte. As expected, the xlib backend fails due to
    that bug, (and interestingly, the ps backend is showing a
    failure as well).

 test/.gitignore                                    |    1 +
 test/Makefile.am                                   |    1 +
 test/rotate-image-surface-paint-pdf-argb32-ref.png |  Bin 0 -> 209 bytes
 test/rotate-image-surface-paint-ref.png            |  Bin 0 -> 232 bytes
 test/rotate-image-surface-paint-svg-ref.png        |  Bin 0 -> 248 bytes
 test/rotate-image-surface-paint.c                  |   97 ++++++++++++++++++++
 6 files changed, 99 insertions(+), 0 deletions(-)

commit 691f9d1c0c4c98f6e6aa7b2f41fa0b8670e6205d
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Wed Jan 24 17:34:57 2007 -0800

    [mmx] avoid casts between int32 and __m64 types
    
    The MS compiler doesn't like this; _mm_cvtsi32_si64 and _mm_cvtsi64_si32
    must be used.

 pixman/src/fbmmx.c |   10 ++++------
 1 files changed, 4 insertions(+), 6 deletions(-)

commit 8ff70d6b9106b2dc57e903104237285a7062c2f0
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Wed Jan 24 16:47:48 2007 -0800

    [win32] regression with win32 glyph y-offsets (mozbug#365021)

 src/cairo-win32-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0231d18a57dd31d9d619d53b70e71c1b916e0d75
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Wed Jan 24 16:46:36 2007 -0800

    [atsui] add function prototype for a public 10.4 function that's

 src/cairo-atsui-font.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 50136a78063137ebca16bcb839bec33e2917824e
Author: Eugeniy Meshcheryakov <eugen@debian.org>
Date:   Wed Jan 24 15:51:00 2007 -0500

    [PDF-CFF] Fix bad /LastChar value for CFF fonts in PDF backend
    
    PDF backend sets /LastChar value in Type1C font dictionary incorrectly.
    acroread then complains about incorrect /Widths in font.
    The last char is numchars - 1, since it's zero-based.

 src/cairo-pdf-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit bb02b4e5ec40ac37462f487f2ad74b0123814277
Merge: 48c2896... 3b77512...
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Tue Jan 23 22:22:20 2007 -0800

    Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo

commit 48c2896f694872a55a43e12fc375bde2ce2650a9
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Tue Jan 23 22:17:24 2007 -0800

    Turned off acclerated rectangle drawing in dfb backend
    causes bugs in gtk

 src/cairo-directfb-surface.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 3b7751279c034caf2f86464cd1936d7ce1736ccc
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jan 22 14:42:48 2007 -0500

    [pixman/src/fbmmx.c] Add comment around M64
    
    /* cast to void* in the middle to shut gcc up warning about
     * "dereferencing type-punned pointers".
     */

 pixman/src/fbmmx.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit c316b7220dcd59653533a487d81c5e3d71729218
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Mon Jan 22 01:13:50 2007 +0000

    [ATSUI] Some glyph operations cannot be 'unsupported'. (#9530)
    
    The atsui font backend returned the internal 'unsupported' error
    code for errors in operations that do not have fallbacks. Now that
    the underlying cause, deleted glyphs, has been fixed, I'm changing
    the status code returned to the public 'no memory' one; it should
    be the only condition triggering the failure now.

 src/cairo-atsui-font.c |    9 +++------
 1 files changed, 3 insertions(+), 6 deletions(-)

commit 49b9f0c082944029af8dab84da87f7746c5f72b9
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Mon Jan 22 01:10:52 2007 +0000

    [ATSUI] out-of-range glyphs should be treated as deleted. (#9530)
    
    Glyphs outside the range 0x0-0xffff are not valid in atsui, but
    scaled_glyph stores unsigned long. Ensure that invalid values do
    not cause errors.

 src/cairo-atsui-font.c |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

commit 4dfa5d33e451886b05cf767ae5a538e152ec534d
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Mon Jan 22 01:09:49 2007 +0000

    [ATSUI] Handle deleted glyphs correctly. (#9530)
    
    This code ensures that deleted glyphs are not drawn.

 src/cairo-atsui-font.c |   36 +++++++++++++++++++++++++++++++-----
 1 files changed, 31 insertions(+), 5 deletions(-)

commit 1a9d3b5185f454a63bc96c2e570c931c3ecabbb5
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Jan 21 15:11:31 2007 -0500

    [configure.in] Use AC_MSG_RESULT in PKG_CHECK_MODULES's second branch
    
    If PKG_CHECK_MODULES fails, it does not print out any check results and so, no
    newlines.  This is kinda silly, at least in the case that no second branch is
    provided, but I think that's the way it is, to let users decide what to print.
    
    We now just do a AC_MSG_RESULT(no) and continue with what we used to do.
    Inspired by Tor Lillqvist's similar change in Pango.

 configure.in |   38 ++++++++++++++++++++++++--------------
 1 files changed, 24 insertions(+), 14 deletions(-)

commit 6aa8e80cc722774191c4418c9a2cd434c0538508
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Jan 21 15:06:02 2007 -0500

    [pixman/src/fbmmx.c] Hide "dereferencing type-punned pointer" warnings
    
    The warning happens all the place when the code converts from ullong to __m64.
    The way the conversion is done is a C idiom: 1) get a pointer to the value, 2)
    convert it to the suitable pointer type for the target, 3) dereference it.
    That is "*(__m64*)(&m)" in this case.  This is necessarily (as opposed to just
    casting to target type) because the two types may not be "compatible" from the
    compiler's point of view.  Example of types that are not compatbile is structs
    vs anything.
    
    The "dereferencing type-punned pointer will break strict-aliasing rules" from
    gcc exactly means: "some code may be assuming that pointers with different
    types do not compare equal (or otherwise share the same target object).  If
    you case a pointer to a different type and dereference it, it may happen
    here."  However, in our usecase, it's clear that the compiler cannot make any
    false assumptions.  So we just go ahead and hide it by using a middle cast to
    "void *".  Since the compiler does not many any aliasing assumptions about
    generic pointers, it will not warn either. (Though the problems if any, will
    still occure.  So this is not an ideal solution to this problem and should be
    used very carefully, to no hide useful warnings for when things go loose on
    some weird architecture.)
    
    Another solution would have been to use gcc's "may_alias" function attribute,
    but trying to define a may_alias version of __m64 hit a bug in gcc.  That is,
    try replacing "__m64" with "m64" and define:
    
      typedef __m64 m64 __attribute__((may_alias));
    
    and see it fail to compile.  This seems to be because of the special vector
    type that __m64 has.

 pixman/src/fbmmx.c |   34 ++++++++++++++++++----------------
 1 files changed, 18 insertions(+), 16 deletions(-)

commit 1a8d0a33ce589367f0e46006caecb544a3945048
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Jan 20 13:01:35 2007 -0500

    PDF: Fix approximate diagonal in recent commit
    
    Use x+y as an upper bound for sqrt(x*x+y*y), not x*y.

 src/cairo-pdf-surface.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 1e52ce5a0981aac72452f1f7d7988e6382b0abcc
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Jan 20 03:20:30 2007 -0800

    doc tmpl churn

 doc/public/tmpl/cairo.sgml |   11 -----------
 1 files changed, 0 insertions(+), 11 deletions(-)

commit 53358ddc73b985b5cf6493dc48c54073fd7c59fc
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Jan 20 03:20:18 2007 -0800

    configure.in: Increment version to 1.3.13 after making the 1.3.12 snapshot

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c34a1a75fdb886b7a69875fb92d30c6dfd9d39cb
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Jan 20 03:04:31 2007 -0800

    configure.in: Increment cairo version to 1.3.12

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 26e6c73aab3fbfb4e2c893b4064cd8e85dc25346
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Jan 20 02:58:15 2007 -0800

    NEWS: Add notes for 1.3.12 snapshot

 NEWS |   93 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 93 insertions(+), 0 deletions(-)

commit 87b3ac10af6b18d57236ae7e595e84e11e12eaad
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Jan 20 02:01:29 2007 -0800

    cairo-wideint: Fix to eliminate comparison of signed and unsigned values

 src/cairo-wideint.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit d6bb0d772018809caaa215d562292c8aeb2990d3
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Jan 20 01:47:06 2007 -0800

    .gitignore: Add text-glyph-range

 test/.gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit b06222b99091796486cc0f938dd7487c66dd8420
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Jan 20 00:56:07 2007 -0800

    ROADMAP: Add 3 bugs to fix before the next snapshot

 ROADMAP |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

commit 6c40575a225e3d6d138adae9d492881b8358f881
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jan 19 23:23:32 2007 -0800

    Fix two misspellings in a recent comment.

 src/cairo-pdf-surface.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 5f9d70a56158e468683dba953d6eaceea4dfd644
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jan 19 23:11:09 2007 -0800

    PDF: Fix CAIRO_EXTEND_NONE for source surface patterns
    
    The former workaround for the lack of non-repeating patterns in PDF
    (as far as we can tell) was broken for a source pattern matrix that
    resulted in scaling the source surface pattern down. This was
    demonstrated by the failure of the scale-down-source-surface-paint
    test which now passes.
    
    The old code would have also allowed for bogus repeated pattern
    instances to appear if the source surface pattern was translated
    sufficiently far off the destination surface in just the right
    direction. This bug is also fixed.

 src/cairo-pdf-surface.c |   41 +++++++++++++++++++++++++++++++++--------
 1 files changed, 33 insertions(+), 8 deletions(-)

commit 2f6d184e6659e91909ed933d36bef441f1b5df4d
Author: Kalle Vahlman <kalle.vahlman@gmail.com>
Date:   Sat Jan 13 12:36:03 2007 +0200

    Add --use-ms option to cairo-perf-diff-files
    
    This allows for comparing perf files generation on different hardware
    platforms, (since the ticks can be very different on different hardware).

 perf/cairo-perf-diff-files.c |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

commit 8354906381b2ccc3211214bad55c1f505d3dce3a
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Sat Dec 16 22:21:36 2006 +0200

    Make UTF-8 output from cairo-perf-diff-files optional
    
    This patch adds options to disable the UTF-8 change bars and replace
    them with ASCII '*' gfx. The motivation is that UTF-8 really does some
    damage to some terminals, and some always forget to pipe stuff through
    a pager to make it safe. The new options for cairo-perf-diff-files are:
    
    	--no-utf
    	--no-bars

 perf/cairo-perf-diff-files.c |  135 ++++++++++++++++++++++++++++++------------
 1 files changed, 98 insertions(+), 37 deletions(-)

commit d91d5d12f3a40beebefcd8a5d8b912f5492e112b
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jan 19 15:52:06 2007 -0800

    Add new scale-down-source-surface-paint test
    
    This new test case demonstrates a bug in the PDF backend, (source
    surface patterns are repeated even with a pattern extend of NONE).
    
    Thanks to Romuald <mydevel@free.fr> and Claudio Saavedra
    <csaavedra@alumnos.utalca.cl> for pointing out the bug.

 test/.gitignore                              |    1 +
 test/Makefile.am                             |    2 +
 test/scale-down-source-surface-paint-ref.png |  Bin 0 -> 133 bytes
 test/scale-down-source-surface-paint.c       |   72 ++++++++++++++++++++++++++
 4 files changed, 75 insertions(+), 0 deletions(-)

commit d08502d939b44956591f2865a73264713427194b
Merge: eefcfbf... 28d6a22...
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Thu Jan 18 16:50:41 2007 -0800

    Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo

commit eefcfbf5a168569518a8dcf099b5f41b570f504b
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Thu Jan 18 16:49:42 2007 -0800

    [nquartz] add test reference files for nquartz backend

 test/caps-joins-alpha-nquartz-ref.png              |  Bin 0 -> 2466 bytes
 test/clip-nesting-nquartz-ref.png                  |  Bin 0 -> 1067 bytes
 test/clip-nesting-nquartz-rgb24-ref.png            |  Bin 0 -> 956 bytes
 test/clip-push-group-nquartz-ref.png               |  Bin 0 -> 203 bytes
 test/clip-twice-nquartz-ref.png                    |  Bin 0 -> 1171 bytes
 test/clip-twice-nquartz-rgb24-ref.png              |  Bin 0 -> 1111 bytes
 test/dash-caps-joins-nquartz-ref.png               |  Bin 0 -> 4727 bytes
 test/degenerate-path-nquartz-rgb24-ref.png         |  Bin 0 -> 188 bytes
 test/fill-and-stroke-alpha-add-nquartz-ref.png     |  Bin 0 -> 603 bytes
 test/fill-and-stroke-alpha-nquartz-ref.png         |  Bin 0 -> 550 bytes
 test/fill-and-stroke-nquartz-ref.png               |  Bin 0 -> 286 bytes
 test/fill-and-stroke-nquartz-rgb24-ref.png         |  Bin 0 -> 264 bytes
 test/fill-degenerate-sort-order-nquartz-ref.png    |  Bin 0 -> 2470 bytes
 ...ill-degenerate-sort-order-nquartz-rgb24-ref.png |  Bin 0 -> 2098 bytes
 test/fill-rule-nquartz-ref.png                     |  Bin 0 -> 2079 bytes
 test/fill-rule-nquartz-rgb24-ref.png               |  Bin 0 -> 1790 bytes
 test/new-sub-path-nquartz-ref.png                  |  Bin 0 -> 386 bytes
 test/new-sub-path-nquartz-rgb24-ref.png            |  Bin 0 -> 357 bytes
 test/operator-clear-nquartz-ref.png                |  Bin 0 -> 1195 bytes
 test/operator-clear-nquartz-rgb24-ref.png          |  Bin 0 -> 1244 bytes
 test/random-intersections-nquartz-ref.png          |  Bin 0 -> 203877 bytes
 test/random-intersections-nquartz-rgb24-ref.png    |  Bin 0 -> 179204 bytes
 test/rel-path-nquartz-ref.png                      |  Bin 0 -> 212 bytes
 test/rel-path-nquartz-rgb24-ref.png                |  Bin 0 -> 228 bytes
 test/source-clip-scale-nquartz-ref.png             |  Bin 0 -> 148 bytes
 test/trap-clip-nquartz-ref.png                     |  Bin 0 -> 5814 bytes
 test/trap-clip-nquartz-rgb24-ref.png               |  Bin 0 -> 5385 bytes
 27 files changed, 0 insertions(+), 0 deletions(-)

commit 7b67c20a013ed45a10676cb129794ccfb66dc04c
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Thu Jan 18 16:49:14 2007 -0800

    [nquartz] use pattern snapshots, and correctly setup/teardown source
    
    Use a snapshot for the pattern, to avoid the pattern being freed undreneath
    us before we actually render (as when rendering to a CG PDF context).  Also
    correctly return UNSUPPORTED from setup source, avoiding brokenness when
    the source isn't torn down correctly.

 src/cairo-nquartz-surface.c |   81 ++++++++++++++++++++++++++++++++++++-------
 1 files changed, 68 insertions(+), 13 deletions(-)

commit 28d6a228f030dbec05ab5b0ba680db272df67c49
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Jan 18 13:01:53 2007 -0800

    Fix cairo_get_dash and cairo_get_dash_count APIs
    
    Make these functions consistent with other cairo_get functions
    by making cairo_get_dash_count return the count directly, and
    removing the cairo_status_t return value from cairo_get_dash.

 src/cairo.c        |   37 +++++++++++--------------------------
 src/cairo.h        |    6 +++---
 test/get-and-set.c |   17 ++++++-----------
 3 files changed, 20 insertions(+), 40 deletions(-)

commit bc7072064e421e4c5e5043aada6cae1d8250938f
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Jan 17 15:07:12 2007 -0800

    cairo-path-fixed: Don't add redundant, succesive MOVE_TO operations to the path
    
    Instead, we can simply tweak the argument value for the last
    MOVE_TO operation that's already at the end of the path.
    
    This helps backends like pdf that are currently emitting all
    of the redundant MOVE_TO operations in the output.

 src/cairo-path-fixed.c |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

commit d9df44d8071d038060e0cc987871c185f7733a3d
Merge: 4e1c2b1... b02b86d...
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Wed Jan 17 15:08:21 2007 -0800

    Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo

commit 4e1c2b1ad84a695662dea9fbe60a975c928eb277
Author: Robert O'Callahan <robert@ocallahan.org>
Date:   Wed Jan 17 15:07:31 2007 -0800

    Rename cairo_copy_clip_rectangles to cairo_copy_clip_rectangle_list

 src/cairo-clip-private.h |    2 +-
 src/cairo-clip.c         |    2 +-
 src/cairo-gstate.c       |    4 ++--
 src/cairo.c              |    6 +++---
 src/cairo.h              |    2 +-
 src/cairoint.h           |    2 +-
 test/get-clip.c          |   26 +++++++++++++-------------
 7 files changed, 22 insertions(+), 22 deletions(-)

commit b02b86da5c6c82f9b653698f8480855a35777155
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Sep 24 00:55:20 2006 +0930

    PDF: Compress the content stream
    
    Use cairo-deflate-stream to compress all content streams emitted by the
    PDF surface.

 src/cairo-pdf-surface.c |   32 +++++++++++++++++++++++++++++---
 1 files changed, 29 insertions(+), 3 deletions(-)

commit 7f246462eb3cc2576387755fa2d554394e86225c
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Sep 24 00:52:01 2006 +0930

    Add cairo-deflate-stream.c
    
    Add a new stream type that compresses the stream using the zlib deflate method.
    This is intended for use by the PDF surface.

 src/Makefile.am                   |    1 +
 src/cairo-deflate-stream.c        |  142 +++++++++++++++++++++++++++++++++++++
 src/cairo-output-stream-private.h |    4 +
 3 files changed, 147 insertions(+), 0 deletions(-)

commit b3440e85305af4f5ceef9437af7c26d3232dc55a
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Sep 24 00:48:36 2006 +0930

    PDF: Use Td where possible instead of Tm for positioning glyphs
    
    This avoids emitting the font matrix for every single glyph.

 src/cairo-pdf-surface.c |   38 ++++++++++++++++++++++++++------------
 1 files changed, 26 insertions(+), 12 deletions(-)

commit 5c2136ea7c3aea1ae90b46b0dd645a4e1b5cc9a1
Author: Dan Williams <dcbw@redhat.com>
Date:   Wed Jan 17 15:47:24 2007 -0500

    Implement pixman fbCompositeSrc_8888x0565mmx
    
    MMX-accelerate for fbCompositeSrc_8888x0565.  Upstream X bug for the
    same issue:
    
    http://bugs.freedesktop.org/show_bug.cgi?id=9682

 pixman/src/fbmmx.c        |  122 +++++++++++++++++++++++++++++++++++++++++++++
 pixman/src/fbmmx.h        |   13 +++++
 pixman/src/fbpict.c       |   14 +++++-
 pixman/src/pixman-remap.h |    1 +
 4 files changed, 148 insertions(+), 2 deletions(-)

commit a2ec383ff128617d33efa5760ec4b5f9688e8a13
Author: Pavel Roskin <proski@gnu.org>
Date:   Sun Aug 13 01:57:56 2006 -0400

    Clean up _fbOnes()
    
    The implementation of _FbOnes in iccolor.c would not work on 64-bit
    longs correctly.  Fortunately, it's only used on integers, so make it
    explicit in the declaration.
    
    Use an inline function for the gcc builtin implementation to make sure
    that it's never used with arguments of incorrect size.
    
    There is no __INT_MIN__ in gcc 4.1.1, but it's not an issue now because
    the argument is 32-bit.
    
    Signed-off-by: Pavel Roskin <proski@gnu.org>

 pixman/src/iccolor.c |    4 ++--
 pixman/src/icint.h   |   12 ++++++------
 2 files changed, 8 insertions(+), 8 deletions(-)

commit 9e332eadad00e115fdcdbc816608a0537f5a9b9c
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Tue Jan 16 01:25:53 2007 +0000

    [test] Test handling of out-of-range glyph indexes. (#9530)
    
    Adds a test for missing and out-of-range glyph indexes. The expected
    ATSUI renderings are added as references, please replace these with
    FT renderings when they become available.

 test/Makefile.am                    |    4 +
 test/text-glyph-range-ref.png       |  Bin 0 -> 1810 bytes
 test/text-glyph-range-rgb24-ref.png |  Bin 0 -> 1645 bytes
 test/text-glyph-range.c             |  133 +++++++++++++++++++++++++++++++++++
 4 files changed, 137 insertions(+), 0 deletions(-)

commit 9cabf5b5f7dd840f91b5be29567cf11cf40fc998
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jan 15 00:26:20 2007 -0500

    [TODO] Move some items from ROADMAP, and some new ones, into TODO

 ROADMAP |   17 -----------------
 TODO    |   40 ++++++++++++++++++++++++++++++++++------
 2 files changed, 34 insertions(+), 23 deletions(-)

commit 1002d016834926a771aa0a6cc4bdf83cb009173a
Author: Kjartan Maraas <kmaraas@gnome.org>
Date:   Thu Jan 11 17:59:16 2007 -0500

    Remove unused variables (#7963)

 src/cairo-pdf-surface.c |    3 +--
 src/cairo-ps-surface.c  |    3 +--
 src/cairo-svg-surface.c |    3 +--
 3 files changed, 3 insertions(+), 6 deletions(-)

commit eff6d3c7a013476a7e4cf56c05ad95c9f01fe793
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Dec 17 15:49:50 2006 -0500

    [cairo-type1-subset] Do not use an array of pointers, to reduce .data size
    
    We use a string pool plus lookup indices tables now, generated by perl code
    embedded before the tables.  The table in question is the default PS encoding
    table, so no changes are expected in the future.

 src/cairo-type1-subset.c |  107 +++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 105 insertions(+), 2 deletions(-)

commit cf1d95e714d0814e52910c4306d090ef6d989093
Author: Soeren Sandmann <sandmann@daimi.au.dk>
Date:   Tue Jan 9 15:05:29 2007 -0800

    Add SRC and IN implementations to avoid CompositeGeneral in some cases hit by PDF rendering
    
    The patch implements a few more operations with special cases MMX
    code. On my laptop, applying the patch to cairo speeds up the
    benchmark (rendering page 14 of a PDF file[*]) from 20.9 seconds
    to 14.9 seconds, which is an improvement of 28.6%.
    
    [*] http://people.redhat.com/jakub/prelink.pdf
    
    This also benefits the recently added unaligned_clip perf case:
    
    image-rgb  unaligned_clip-100 0.11 -> 0.06: 1.65x speedup
    ▋
    image-rgba unaligned_clip-100 0.11 -> 0.06: 1.64x speedup
    ▋

 pixman/src/fbmmx.c  |  226 +++++++++++++++++++++++++++++++++++++++++++++++++++
 pixman/src/fbmmx.h  |   43 ++++++++++
 pixman/src/fbpict.c |   98 ++++++++++++++++++++++-
 3 files changed, 366 insertions(+), 1 deletions(-)

commit d5531c4f506caa9ad66fbeef1822a7036d4dd528
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Jan 9 14:27:32 2007 -0800

    Add unaligned_clip perf case courtesy of Jeff Muizelaar
    
    Conflicts:
    
    	perf/Makefile.am
    	perf/cairo-perf.c
    	perf/cairo-perf.h

 perf/Makefile.am      |    9 +++---
 perf/cairo-perf.c     |    1 +
 perf/cairo-perf.h     |    1 +
 perf/unaligned-clip.c |   66 +++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 73 insertions(+), 4 deletions(-)

commit 504cbdae37232d65f5c1f8913e55ac63397ad4f0
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Thu Jan 4 03:12:53 2007 +0000

    [ATSUI] [2/2] Implement CAIRO_SCALED_GLYPH_INFO_SURFACE support.(#9467)
    
    All non-quartz surfaces need to fall back to using glyph surfaces,
    in order to clip correctly. This second patch implements glyph
    surface support, correcting the unclipped text seen in the clip-operator
    test.

 src/cairo-atsui-font.c |  113 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 111 insertions(+), 2 deletions(-)

commit 77171cb8e23704db3eeddfe92cc4e0e83d02b36b
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Thu Jan 4 02:16:47 2007 +0000

    [ATSUI] [1/2] Implement CAIRO_SCALED_GLYPH_INFO_SURFACE support.(#9467)
    
    All non-quartz surfaces need to fall back to using glyph surfaces,
    in order to clip correctly. The bug being fixed is visible in the
    clip-operator test. This first patch takes out direct rendering support
    for non-quartz surfaces, causing all image tests to fail.

 src/cairo-atsui-font.c |   77 +++++++++++++++++++++++++++--------------------
 1 files changed, 44 insertions(+), 33 deletions(-)

commit 116ae23fc64a8477a116bd6f3b60c7b5404af1c5
Author: Jinghua Luo <sunmoon1997@gmail.com>
Date:   Mon Jan 8 16:51:28 2007 +0800

    Glitz: position large glyph correctly.
    
    I introduced this bug while fixing test glyph-cache-pressure
    (commit 3b1d0d3519a7d0328f897927d3534f10750d30db). I also changed
    GLYPH_CACHE_MAX_HEIGHT and GLYPH_CACHE_MAX_HEIGHT to 96, then we
    still can cache at least 28 glyphes per font(512 ^ 2 / 96 ^ 2).
    This make us not hit slow path too much and improve performance
    a lot.

 src/cairo-glitz-surface.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

commit aed4029a104d22cbd363ab9e365320980d22bc86
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Thu Jan 4 02:13:05 2007 +0000

    [ATSUI] Refactor code for creating CGBitmapContexts from cairo surfaces.
    
    No changes to test output. This just prepares code for reuse when
    implementing support for CAIRO_SCALED_GLYPH_INFO_SURFACE.

 src/cairo-atsui-font.c |   85 +++++++++++++++++++++++++++---------------------
 1 files changed, 48 insertions(+), 37 deletions(-)

commit 9a005c6221cc279e65d94956c74028a84baf1716
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Thu Jan 4 02:09:16 2007 +0000

    [ATSUI] correct the rotation of glyph paths. (#9378)
    
    This fixes a bug visible in the text-rotate test when
    CAIRO_TEST_GENERATE_REFERENCE_IMAGE is defined.

 src/cairo-atsui-font.c |   92 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 65 insertions(+), 27 deletions(-)

commit 58265f3508959298eabab55ec28dc6d9516eedc3
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Thu Jan 4 05:54:52 2007 +0000

    [ATSUI] Select Bitstream Vera and CSS font families reliably.
    
    Previously the code selected using the family name; this intermittently
    selected a bold or italic face instead of the regular one. The new approach
    is to select the desired font instance directly if possible, and only use
    the family lookup if that fails. This isn't 100% correct but should always
    provide the correct font instance for CSS generic font families. The
    bug was sometimes reproducible with the select-font-face test.

 src/cairo-atsui-font.c |   56 ++++++++++++++++++++++++++++++++++-------------
 1 files changed, 40 insertions(+), 16 deletions(-)

commit 22e271d687ad871a4e8a069ee2945c42062c1cb4
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Thu Jan 4 15:06:48 2007 +0000

    [perf/cairo-perf-diff] Pass CAIRO_AUTOGEN_OPTIONS to autogen.
    
    Makes it was possible to run cairo-perf-diff with different
    configurations, eg with quartz enabled.

 perf/cairo-perf-diff |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit d30b1bf157126668c4309731022b2ded2ad09571
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Thu Jan 4 01:36:32 2007 +0000

    [ATSUI] Scale glyphs using _cairo_matrix_compute_scale_factor (#9350)
    This bug shows up in the text-rotate test.

 src/cairo-atsui-font.c |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

commit ded08256ef7fdc9e9468342cf5635c5e99d4d64d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Jan 7 02:08:15 2007 -0500

    Spell check the docs

 doc/public/tmpl/cairo-version.sgml |   10 +++++-----
 src/cairo-array.c                  |    2 +-
 src/cairo-cache.c                  |   12 ++++++------
 src/cairo-font-options.c           |    6 +++---
 src/cairo-ft-font.c                |    6 +++---
 src/cairo-gstate.c                 |    4 ++--
 src/cairo-image-surface.c          |    4 ++--
 src/cairo-lzw.c                    |    2 +-
 src/cairo-meta-surface.c           |    2 +-
 src/cairo-path-stroke.c            |    4 ++--
 src/cairo-pattern.c                |   10 +++++-----
 src/cairo-pdf-surface.c            |    2 +-
 src/cairo-ps-surface.c             |    4 ++--
 src/cairo-scaled-font.c            |    4 ++--
 src/cairo-surface.c                |    2 +-
 src/cairo-type1-fallback.c         |    4 ++--
 src/cairo-unicode.c                |    4 ++--
 src/cairo-wideint.c                |    2 +-
 src/cairo-win32-surface.c          |    4 ++--
 19 files changed, 44 insertions(+), 44 deletions(-)

commit caa3c2e1e7901031488f5dae243a755a4e4daec9
Author: Alp Toker <alp@atoker.com>
Date:   Sun Jan 7 02:03:30 2007 +0000

    Fix various code/comment typos

 pixman/src/pixregion.c    |    2 +-
 src/cairo-matrix.c        |    2 +-
 src/cairo-pdf-surface.c   |   20 ++++++++++----------
 src/cairo-win32-surface.c |    2 +-
 src/cairo-xcb-surface.c   |    4 ++--
 src/cairo-xlib-surface.c  |   10 +++++-----
 6 files changed, 20 insertions(+), 20 deletions(-)

commit c96a71e709e537f690da6d4a184aa4c64fe11028
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jan 5 15:56:06 2007 -0800

    Restrict _clip_and_composite_trapezoids to destination extents
    
    This is a fix for a huge performance bug (as measured by perf/long-lines).
    Previously, if no explicit clip was set, _clip_and_composite_trapezoids
    would allocate a mask as large as the trapezoids and rasterize into it.
    With this fix, it restricts the mask by the extents of the destination
    surface.
    
    This doesn't address the identical performance problem with the xlib
    backend, which is due to a very similar bug in the X server.
    
    image-rgb  long-lines-uncropped-100 465.42 -> 5.03: 92.66x speedup
    █████████████████████████████████████████████▉
    image-rgba long-lines-uncropped-100 460.80 -> 5.02: 91.87x speedup
    █████████████████████████████████████████████▍

 src/cairo-surface-fallback.c |   28 ++++++++++++++++++----------
 1 files changed, 18 insertions(+), 10 deletions(-)

commit cc11c264ec0c7d6586c9349bcdbe3f4156e7ab6e
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Jan 3 16:27:52 2007 -0800

    Add long-lines perf case
    
    This shows some very bad slowness for lines that are mostly
    offscreen (like 100x slower than just drawing the visible
    portion).

 perf/Makefile.am  |    1 +
 perf/cairo-perf.c |    1 +
 perf/cairo-perf.h |    1 +
 perf/long-lines.c |  117 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 120 insertions(+), 0 deletions(-)

commit 11dd9eab693297961b988a73e22bf4d5850eb485
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jan 4 23:35:51 2007 -0500

    [src/Makefile.am] Don't remove cairo-features.h in "make clean"
    
    That's generated by configure, so it should be removed by "make distclean".

 src/Makefile.am |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit d4a58b2437a21794562d874f3d390e0e59688bc0
Author: Jonathan Watt <jwatt@jwatt.org>
Date:   Thu Jan 4 16:46:22 2007 +0100

    Remove WINVER from public header file

 src/cairo-win32-surface.c |   10 ++++++++++
 src/cairo-win32.h         |   10 ----------
 2 files changed, 10 insertions(+), 10 deletions(-)

commit e6369f9478e84e32ca19d5f204dbe3eee828c429
Author: Peter Weilbacher <pmw@avila.aip.de>
Date:   Thu Jan 4 00:11:44 2007 +0100

    Fix for OS/2 display drivers that cannot handle 32bit output (feed them a 24bit buffer instead).

 src/cairo-os2-surface.c |   70 ++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 60 insertions(+), 10 deletions(-)

commit 26b06516a77fbbe88f2eb081e2763c1434959137
Author: Dan Amelang <dan@amelang.net>
Date:   Sat Dec 30 21:14:14 2006 -0800

    Use the "-" option (instead of "-a") when calling "strings"
    
    This is needed to fix the AX_C_FLOAT_WORDS_BIGENDIAN macro on Mac OS X 10.2,
    which was brought up here:
    
        https://bugs.freedesktop.org/show_bug.cgi?id=9124

 acinclude.m4 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit eafd6e454a85c807f2addf7768046fea58aea3f9
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Dec 28 20:01:18 2006 -0500

    In _cairo_scaled_font_text_to_glyphs, bail if text is zero-length (#5177)

 src/cairo-scaled-font.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit ab29396ef9f68f5534f927b2b5bb0a7ffac86509
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Dec 28 19:51:20 2006 -0500

    [test] Add new test text-zero-len (#5177)
    
    The test passes an empty string to cairo_show_text, cairo_text_path, and
    cairo_text_extents, and NULL and an invalid pointer, with zero num_glyphs to
    cairo_show_glyphs, cairo_glyph_path, and cairo_glyph_extents.

 test/.gitignore            |    1 +
 test/Makefile.am           |    2 +
 test/text-zero-len-ref.png |  Bin 0 -> 130 bytes
 test/text-zero-len.c       |   88 ++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 91 insertions(+), 0 deletions(-)

commit 2d30161e8922e66b276341810c21ce1b740f6699
Author: Jinghua Luo <sunmoon1997@gmail.com>
Date:   Sun Dec 24 18:31:02 2006 +0800

    glitz: fix all compiler warnings in glitz backend.

 src/cairo-glitz-surface.c |   31 +++++++++++++++++++++++--------
 1 files changed, 23 insertions(+), 8 deletions(-)

commit 8fd7328ebb77b0a641cf30bded85e482ea63ad97
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Dec 23 17:08:04 2006 -0500

    Don't call into backends if num_glyphs is zero (#5177)
    
    Just return success in _cairo_scaled_font_show_glyphs() and
    _cairo_surface_show_glyphs() if num_glyphs is zero.

 src/cairo-scaled-font.c |    3 +++
 src/cairo-surface.c     |    3 +++
 2 files changed, 6 insertions(+), 0 deletions(-)

commit 3212fc4f0fcc66ec3a93994f253c1477eb434572
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Dec 23 16:55:44 2006 -0500

    [cairo-scaled-font] Skip invisible glyphs (like space) in glyph_extents() (#9422)
    
    When computing extents for an array of glyphs, just taking min/max of x/y for
    the bounding box of each glyph doesn't work.  The reason being that an
    invisible glyph (like the space glyph) should not modify the resulting
    extents, but it will.  So now we skip invisible glyphs.

 src/cairo-scaled-font.c |   58 +++++++++++++++++++++++++++++-----------------
 1 files changed, 36 insertions(+), 22 deletions(-)

commit 8368fa2fcfcf851b9a5b070d22905472f1f76234
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sat Dec 23 15:44:16 2006 -0500

    [test/text-rotate] Use the same text for measuring and printing

 test/text-rotate.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 261d6b805c77dacb27d29d054e48ed548f1fbcc5
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sat Dec 23 15:33:52 2006 -0500

    [ATSUI] Compute glyph extents from the bounding boxes of their paths (#9350)

 src/cairo-atsui-font.c |  156 +++++++++++++++++++++++++++++++++++------------
 1 files changed, 116 insertions(+), 40 deletions(-)

commit ee01bd9e173b6d36d6255553d0fcf1b54027dffd
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Dec 23 00:47:40 2006 -0800

    Bump version to 1.3.11 after making 1.3.10 snapshot

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b35cfde7f0e2896ccc1453f9716cb9b61c42cf94
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Dec 23 00:35:14 2006 -0800

    Increment cairo version to 1.3.10 (and libtool versioning to 12:3:10)

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit d6895af9f165a033fc7e53233994a0885c2f817f
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Dec 23 00:29:21 2006 -0800

    NEWS: Add notes for 1.3.10 snapshot

 NEWS |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 59 insertions(+), 0 deletions(-)

commit f46fcd1847031b46a73780177f9cb16033169a44
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Dec 23 00:29:01 2006 -0800

    Annoying template churn

 doc/public/tmpl/cairo-text.sgml |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit c08bd4ec377c6b97c9edb75a25101beb9568fd5e
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Dec 23 00:03:31 2006 -0800

    Ignore another test case binary

 test/.gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit ba531642f79d492ecbad8f086f1e44b56e157e36
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Dec 19 21:34:16 2006 -0800

    Add optimization for rectilinear stroke
    
    This custom stroking code allows backends to use optimized region-based
    drawing operations for rectilinear strokes. This results in a 5-25x
    performance improvement when drawing rectilinear shapes:
    
    image-rgb          box-outline-stroke-100 0.18 -> 0.01: 25.58x speedup
    ████████████████████████▋
    image-rgba         box-outline-stroke-100 0.18 -> 0.01: 25.57x speedup
    ████████████████████████▋
     xlib-rgb          box-outline-stroke-100 0.49 -> 0.06:  8.67x speedup
    ███████▋
     xlib-rgba         box-outline-stroke-100 0.22 -> 0.04:  5.39x speedup
    ████▍
    
    In other words, using cairo_stroke instead of cairo_fill to draw the
    same shape was 5-15x slower before, but is 1.2-2x faster now.

 src/cairo-path-fixed-private.h                 |    3 +-
 src/cairo-path-fixed.c                         |    4 +
 src/cairo-path-stroke.c                        |  318 +++++++++++++++++++++++-
 src/cairo.c                                    |   11 +-
 test/ft-text-vertical-layout-type3-ref.png     |  Bin 3933 -> 3934 bytes
 test/ft-text-vertical-layout-type3-svg-ref.png |  Bin 3956 -> 3957 bytes
 6 files changed, 329 insertions(+), 7 deletions(-)

commit b1189118532a1fe93e126843af739809d38a62bd
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Dec 22 17:11:08 2006 -0800

    Put ft-text-vertical-layout-type1 back on the XFAIL list
    
    I must not have the right font available, (test result is coming out
    looking like the result of ft-text-vertical-layout-type3, Vera?).
    
    We should switch this test to load a bundled font, (should do that for
    all font-using tests, too).

 test/Makefile.am                     |    1 +
 test/ft-text-vertical-layout-type1.c |    3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 7b1509f4f37118d14bd5d70365d1608ead5e2819
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Dec 19 13:13:11 2006 -0800

    Reimplement path.has_current point as a 1-bit bitfield

 src/cairo-path-fixed-private.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 9d2d3b95e359cd2829c8d02a378dbfec2065e832
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 21 08:20:20 2006 -0800

    Add new rectilinear-stroke test
    
    This is in preparation for an optimized implementation of cairo_stroke
    for rectilinear paths.

 test/.gitignore                 |    1 +
 test/Makefile.am                |    2 +
 test/rectilinear-stroke-ref.png |  Bin 0 -> 213 bytes
 test/rectilinear-stroke.c       |  138 +++++++++++++++++++++++++++++++++++++++
 4 files changed, 141 insertions(+), 0 deletions(-)

commit 39ce31ade64e1c3b9e5880134ab77ca96f48f1b9
Author: Jinghua Luo <sunmoon1997@gmail.com>
Date:   Fri Dec 22 22:05:20 2006 +0800

    Glitz: fix a potential use after free bug in _cairo_glitz_surface_old_show_glyphs.
    
    There is a race condition between glyph unlocking and glyph cache thawing.
    Moving down _cairo_scaled_font_thaw_cache a few lines fixes the problem and make
    crashes go away.

 src/cairo-glitz-surface.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 344901a1a128b7e843c3bff0a4a12c36be7acbc8
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Dec 20 18:03:33 2006 -0500

    [test] Fix typo in test comment, again

 test/ft-text-vertical-layout-type1.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 473ae3aa9510b750f54cbf889180e3c4784da1b7
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Dec 18 17:00:17 2006 -0800

    Rename remaining cairo_path_data to cairo_path in function names, etc.

 src/cairo-path-private.h |   19 ++--
 src/cairo-path.c         |  237 +++++++++++++++++++++++-----------------------
 src/cairo.c              |   10 +-
 3 files changed, 134 insertions(+), 132 deletions(-)

commit def0e6d41d1a9108693db112f95d76bb6cfd0aaa
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Dec 18 16:37:53 2006 -0800

    Rename cairo-path-data.c to cairo-path.c (and similar)

 src/Makefile.am               |    4 +-
 src/cairo-path-data-private.h |   58 -----
 src/cairo-path-data.c         |  497 -----------------------------------------
 src/cairo-path-private.h      |   58 +++++
 src/cairo-path.c              |  497 +++++++++++++++++++++++++++++++++++++++++
 src/cairo.c                   |    2 +-
 6 files changed, 558 insertions(+), 558 deletions(-)

commit 13c143bb52cab62a7a857a38a8463a8fa56f4632
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Dec 18 16:33:32 2006 -0800

    Rename cairo-path.c to cairo-path-fixed.c

 src/Makefile.am        |    2 +-
 src/cairo-path-fixed.c |  639 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/cairo-path.c       |  639 ------------------------------------------------
 3 files changed, 640 insertions(+), 640 deletions(-)

commit 267afe7be398db4ab90956660828ed25cfd19acf
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Dec 18 16:05:42 2006 -0800

    test/.gitignore: Ignore binarries for some recently added tests

 test/.gitignore |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit f3b9f486cd763c7805ec041319817cfb8c51128a
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sun Dec 17 22:26:02 2006 -0500

    [ATSUI] Use screen metrics instead of ideal metrics to compute glyph extents
    
    The glyph extent computation was totally busted.  It was using "logical"
    extents and it was not correctly handling rotations, etc.  It all looks a lot
    better now.

 src/cairo-atsui-font.c |   32 +++++++++++++++++---------------
 1 files changed, 17 insertions(+), 15 deletions(-)

commit c6ec6ed696f55f65abbcfccb1e9d2c5678cf491a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Dec 17 18:42:05 2006 -0500

    [tests/ft-text-vertical-layout-type3] Remove comment that this emits Type3 font
    
    This test used to be named -truetype, which reflected the type of font used in
    the test, in contrast to the -type1 test that uses a Type1 font.  However, we
    renamed this test to -type3 to emphasize the fact that a TrueType subset is
    not emitted for vertical fonts and a Type3 fallback font is generated.
    
    Now things have changed: we try generating a Type1 fallback font which is what
    is happening for this test.  Moreover, the -typ1 test also is generating a
    Type1 fallback font since the Type1 subset font is not useful for vertical
    fonts.

 test/ft-text-vertical-layout-type3.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 50efd71935d0aa8d5b780b3ea2c3fd4c5333ca82
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Dec 17 18:35:16 2006 -0500

    [type1-subset] Return UNSUPPORTED for vertical fonts
    
    This fixes the last problem with vertical fonts in PS/PDF.  As such, remove
    ft-text-vertical-layout-type1 test from XFAIL and add PS-specific ref image
    to pass.

 src/cairo-type1-subset.c                           |    3 +++
 test/Makefile.am                                   |    2 +-
 ...ft-text-vertical-layout-type1-ps-argb32-ref.png |  Bin 0 -> 1877 bytes
 3 files changed, 4 insertions(+), 1 deletions(-)

commit 207e38e8ba009a5e4d7994ee490d478c6a695336
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Dec 17 18:25:48 2006 -0500

    [PS] Fix typo in comment emitted for Type1 fallback font subsets

 src/cairo-ps-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0bea2ce7f7e9c4b46d1125b07ed719fbb8b7102c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Dec 17 14:31:39 2006 -0500

    [pdiff] Define _GNU_SOURCE to get correct symbols out of <math.h>
    
    math.h does not define __USE_ISOC99 otherwise.

 test/pdiff/pdiff.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 2ca6a767ee067742205ee76f891e36c8ec36135e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Dec 17 14:24:57 2006 -0500

    [pdiff] Don't use float math functions if not using gcc with C99
    
    The float version of many math functions were introduced in C99, and were
    causing compile failure on systems like OS X.  We now define them to their
    double variant if __USE_ISOC99 is not defined.  We may want to expand it later
    to cover non-gcc compilers too, but since this is pdiff only, it's not really
    important.

 test/pdiff/pdiff.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

commit 0d9b2d041578c183b026b90c3760ce8dc59e2834
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Dec 17 14:09:15 2006 -0500

    [configure] Use AC_C_INLINE to correctly define inline
    
    Previously we were defining a symbol INLINE and use that in one place, while
    other places were using straight inline.  With the AC_C_INLINE macro we can
    just leave it to autoconf to correctly choose what inline should be defined
    to.

 configure.in    |    1 +
 src/cairo-png.c |    2 +-
 src/cairoint.h  |    7 +------
 3 files changed, 3 insertions(+), 7 deletions(-)

commit 294d1a3c4e1865763ba1c9ac8d55827cd470280b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Dec 17 01:06:16 2006 -0500

    [test] Add ft-text-vertical-layout-type3-ps-argb32-ref.png
    
    The PS output for ft-text-vertical-layout-type3 looks correct, except for some
    antialiasing mismatch.  Ading ref image to fix this, and so, remove the test
    from XFAIL.

 test/Makefile.am                                   |    4 ++--
 ...ft-text-vertical-layout-type3-ps-argb32-ref.png |  Bin 0 -> 1879 bytes
 2 files changed, 2 insertions(+), 2 deletions(-)

commit cab3f84ad334050739e6fa05e8dbc2a7dcb9eca7
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Dec 16 18:48:59 2006 -0500

    [test] Fix typo in test comment

 test/ft-text-vertical-layout-type1.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 46add53973de5ba4ae4d6d02d1dd87e5487336c3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Dec 16 18:46:54 2006 -0500

    [cairo-gstate] Don't bypass glyph transformation if font_matrix has translation (#9365)
    
    We have tests for this (ft-text-vertical-*), but unfortunately they didn't
    prevent the regression here because they have been marked XFAIL, since we didn't
    quite fix them for PS.

 src/cairo-gstate.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 57589a90490f9bb9e4926c0b138eb95f16db374b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Dec 16 18:18:47 2006 -0500

    [pdiff] Use CAIRO_CFLAGS, to make sure warnings are enabled

 test/pdiff/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 8f2ad0affd4fe4821992e87487bc2737e9c538e5
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Dec 16 18:16:46 2006 -0500

    [pdiff] Fix compiler warnings, that were causing crashes

 test/pdiff/pdiff.c |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit be6edd64a3f45f7fb33f7d57b71b1ef467b474e1
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sat Dec 16 15:43:46 2006 -0500

    [ATSUI] Round glyph locations to nearest pixel
    
    This is what cairo_scaled_font_show_glyphs() does, as well as backends like
    xlib and win32.

 src/cairo-atsui-font.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

commit bf1c2ef1e2b6cffffb0f02fe5cb8df0728026642
Author: Brian Ewins <Brian.Ewins@gmail.com>
Date:   Sat Dec 16 15:40:21 2006 -0500

    [ATSUI] Support disabling antialiased text

 src/cairo-atsui-font.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit 4c95e2b7bf15c2c12498ae07a16d95ae98501431
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Sat Dec 16 20:00:56 2006 +0200

    New performance test case "mosaic" for splines.

 perf/Makefile.am  |    4 +-
 perf/cairo-perf.c |    1 +
 perf/cairo-perf.h |    1 +
 perf/mosaic.c     |  168 ++
 perf/mosaic.h     | 4387 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 4560 insertions(+), 1 deletions(-)

commit fe21f9d8ca1e509952b1dd84a5c0430953ca663a
Author: Frederic Crozat <fcrozat@mandriva.com>
Date:   Sat Dec 16 13:55:21 2006 -0500

    [check-defs.sh] Fix make check for OPD platforms
    
    Make symbol checks work on OPD platform (such as IA64 or PPC64).

 src/check-def.sh |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit fa618df6e216f9418d4769ba01cd305f3f12a113
Merge: 2b946cb... 81a620f...
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 21:10:21 2006 -0800

    Merge branch 'master' of git.cairographics.org:/git/cairo into cairo

commit 2b946cba0e2e0bc1ddfda2aad87f1e482568c1b1
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 21:09:45 2006 -0800

    Bump cairo version to 1.3.9 after making 1.3.8 snapshot

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 129b55f5fcc4c2ae5b63ac6eb73fce8a708e4874
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 20:44:25 2006 -0800

    Increment cairo version to 1.3.8 (and libtool versioning to 12:2:10)

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 8fa86e897091ad8ce4c286896df56d44892040ee
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 20:43:31 2006 -0800

    NEWS: Add notes for cairo 1.3.8 snapshot

 NEWS |   21 +++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)

commit 81a620fb66a1eb341fefaad26c9d452e494890cb
Author: Jonathan Watt <jwatt@jwatt.org>
Date:   Fri Dec 15 04:52:28 2006 +0100

    revert accidental mode changes in my previous commit

 0 files changed, 0 insertions(+), 0 deletions(-)

commit 15e8486ef1558b8049a4c7a5c2f50a7e4a2599da
Merge: bf78be6... 8b31038...
Author: U-JONATHAN-X60S\jonathan <jonathan@Jonathan-X60s.(none)>
Date:   Fri Dec 15 02:31:13 2006 +0100

    Merge branch 'master' of git://git.cairographics.org/git/cairo

commit bf78be63fc35dc13899209ee818f37fe3f564fed
Author: U-JONATHAN-X60S\jonathan <jonathan@Jonathan-X60s.(none)>
Date:   Fri Dec 15 00:48:54 2006 +0100

    Fix a couple of character spacing issues on Windows

 src/cairo-win32-surface.c |  105 +++++++++++++++++++++++++--------------------
 src/cairo-win32.h         |   10 ++++
 src/cairoint.h            |   10 +++-
 3 files changed, 76 insertions(+), 49 deletions(-)

commit 8b31038b9fb7f8fc3eb2729c3d14de5c0b130873
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 10:16:34 2006 -0800

    Fix a couple of more stale images holding up 'make distcheck'

 test/Makefile.am |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit e9bef30d2bcdf41c7b7f20b3517839c37e752f75
Author: David Turner <david@alice.localdomain>
Date:   Thu Dec 14 06:55:58 2006 -0800

    Optimize gradient computations
    
    We update the test suite reference images where needed, (pdiff
    avoided a few, but most still needed updating). We take advantage
    of the need for new reference images to shrink some of the giant
    tests to speed them up a bit.
    
    This optimization provides a 2x improvement in linear gradient
    generation performance (numbers from an x86 laptop):
    
    image-rgb    paint_linear_rgba_source-512 26.13 -> 11.13: 2.35x speedup
    █▍
    image-rgb    paint_linear_rgba_source-256  6.47 ->  2.76: 2.34x speedup
    █▍
    image-rgba      paint_linear_rgb_over-256  6.51 ->  2.86: 2.28x speedup
    █▎
    image-rgb      paint_linear_rgba_over-512 28.62 -> 13.70: 2.09x speedup
    █▏
    image-rgba       fill_linear_rgb_over-256  3.24 ->  1.94: 1.66x speedup
    ▋
    image-rgb     stroke_linear_rgba_over-256  5.68 ->  4.10: 1.39x speedup
    ▍

 pixman/src/fbcompose.c                |  425 +++++++++++++++++++++++----------
 test/clip-operator-ref.png            |  Bin 36956 -> 8262 bytes
 test/clip-operator-rgb24-ref.png      |  Bin 16507 -> 3258 bytes
 test/clip-operator.c                  |    6 +-
 test/mask-ref.png                     |  Bin 87899 -> 8381 bytes
 test/mask-rgb24-ref.png               |  Bin 71010 -> 7041 bytes
 test/mask-svg-argb32-ref.png          |  Bin 87728 -> 8405 bytes
 test/mask-svg-rgb24-ref.png           |  Bin 81753 -> 0 bytes
 test/mask.c                           |    6 +-
 test/operator-clear-ref.png           |  Bin 4933 -> 1084 bytes
 test/operator-clear-rgb24-ref.png     |  Bin 4218 -> 965 bytes
 test/operator-clear.c                 |    6 +-
 test/operator-source-ref.png          |  Bin 19763 -> 4422 bytes
 test/operator-source-rgb24-ref.png    |  Bin 14666 -> 3201 bytes
 test/operator-source.c                |    6 +-
 test/text-pattern-ref.png             |  Bin 1721 -> 1717 bytes
 test/text-pattern-rgb24-ref.png       |  Bin 1418 -> 1414 bytes
 test/trap-clip-ref.png                |  Bin 71832 -> 5723 bytes
 test/trap-clip-rgb24-ref.png          |  Bin 63049 -> 5365 bytes
 test/trap-clip-svg-argb32-ref.png     |  Bin 71728 -> 0 bytes
 test/trap-clip.c                      |    6 +-
 test/unbounded-operator-ref.png       |  Bin 11964 -> 2777 bytes
 test/unbounded-operator-rgb24-ref.png |  Bin 6047 -> 1315 bytes
 test/unbounded-operator.c             |    6 +-
 24 files changed, 316 insertions(+), 145 deletions(-)

commit af9cce6aa295327b5256f55900b3debf9112b6ca
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 09:18:26 2006 -0800

    Fix 'make distcheck' after recent file removals

 pixman/src/Makefile.am |    3 +--
 test/Makefile.am       |   20 --------------------
 2 files changed, 1 insertions(+), 22 deletions(-)

commit 4888a02666972e9c09d9ffd9854538191cf59d77
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 04:56:19 2006 -0800

    test: Remove ps-specific reference images no longer needed thanks to pdiff

 test/caps-joins-ps-argb32-ref.png              |  Bin 1463 -> 0 bytes
 test/caps-sub-paths-ps-argb32-ref.png          |  Bin 240 -> 0 bytes
 test/close-path-ps-argb32-ref.png              |  Bin 311 -> 0 bytes
 test/dash-offset-negative-ps-argb32-ref.png    |  Bin 204 -> 0 bytes
 test/glyph-cache-pressure-ps-argb32-ref.png    |  Bin 1672 -> 0 bytes
 test/infinite-join-ps-argb32-ref.png           |  Bin 220 -> 0 bytes
 test/leaky-polygon-ps-argb32-ref.png           |  Bin 355 -> 0 bytes
 test/line-width-ps-argb32-ref.png              |  Bin 244 -> 0 bytes
 test/select-font-face-ps-argb32-ref.png        |  Bin 1333 -> 0 bytes
 test/show-text-current-point-ps-argb32-ref.png |  Bin 1479 -> 0 bytes
 test/transforms-ps-argb32-ref.png              |  Bin 420 -> 0 bytes
 11 files changed, 0 insertions(+), 0 deletions(-)

commit 5e0818d79d13f5942485b411a04a4eebd56d36f8
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 04:33:08 2006 -0800

    test: Remove svg-specific reference images no longer needed thanks to pdiff
    
    This doesn't get rid of all the SVG reference images, but it
    does clean up quite a few.

 test/fill-and-stroke-alpha-svg-ref.png   |  Bin 509 -> 0 bytes
 test/glyph-cache-pressure-svg-ref.png    |  Bin 3165 -> 0 bytes
 test/mask-ctm-svg-rgb24-ref.png          |  Bin 118 -> 0 bytes
 test/mask-surface-ctm-svg-rgb24-ref.png  |  Bin 118 -> 0 bytes
 test/push-group-svg-rgb24-ref.png        |  Bin 2887 -> 0 bytes
 test/select-font-face-svg-ref.png        |  Bin 2430 -> 0 bytes
 test/set-source-svg-rgb24-ref.png        |  Bin 104 -> 0 bytes
 test/show-text-current-point-svg-ref.png |  Bin 2398 -> 0 bytes
 test/trap-clip-svg-rgb24-ref.png         |  Bin 73082 -> 0 bytes
 9 files changed, 0 insertions(+), 0 deletions(-)

commit c426e71141d75dbfd39730bf9c4847309fcd9d9e
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 04:17:07 2006 -0800

    Hook up pdiff to the test suite now that its written in C

 test/Makefile.am   |    2 ++
 test/buffer-diff.c |   30 ++++++++++++++++++++++++++++++
 test/cairo-test.c  |   12 +++++-------
 3 files changed, 37 insertions(+), 7 deletions(-)

commit 305cbd8e71a2d21a2c71ed2c382daa5bfcec3992
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 04:14:24 2006 -0800

    pdiff: Remove casts since we're out of the land of X++ where void* is stupidly broken

 test/pdiff/lpyramid.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

commit f175b23559f3ba759d222538fd28922c1cbe2196
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 03:49:31 2006 -0800

    pdiff: Rename everything to .c and fix an last littele C++ isms.
    
    The only things we had missed were a few new/delete pairs, and some
    obvious header file fixups, (like not doing <string>).

 test/pdiff/CompareArgs.cpp    |  114 -------------
 test/pdiff/Makefile.am        |    6 +-
 test/pdiff/PerceptualDiff.cpp |  101 ------------
 test/pdiff/args.c             |  119 ++++++++++++++
 test/pdiff/args.cpp           |  118 --------------
 test/pdiff/args.h             |    2 +-
 test/pdiff/lpyramid.c         |  113 +++++++++++++
 test/pdiff/lpyramid.cpp       |  113 -------------
 test/pdiff/pdiff.c            |  361 +++++++++++++++++++++++++++++++++++++++++
 test/pdiff/pdiff.cpp          |  347 ---------------------------------------
 test/pdiff/pdiff.h            |   16 +-
 test/pdiff/perceptualdiff.c   |  101 ++++++++++++
 12 files changed, 706 insertions(+), 805 deletions(-)

commit 18a4fa448fcdb6a72f427e997ee2b234f96a56f7
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 03:25:51 2006 -0800

    pdiff: Replace CompareArgs class with args_t struct
    
    This gets rid of nearly the last vestiges of C++ from the pdiff code.

 test/pdiff/CompareArgs.cpp    |    4 +-
 test/pdiff/CompareArgs.h      |   41 --------------
 test/pdiff/Makefile.am        |    4 +-
 test/pdiff/PerceptualDiff.cpp |   39 +++++++------
 test/pdiff/args.cpp           |  118 +++++++++++++++++++++++++++++++++++++++++
 test/pdiff/args.h             |   46 ++++++++++++++++
 6 files changed, 190 insertions(+), 62 deletions(-)

commit 871aba6c80b8f3101eac51cc055ad9ca26770a95
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 03:16:18 2006 -0800

    pdiff: Fix return value from perceptualdiff program

 test/pdiff/PerceptualDiff.cpp |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 2174ee247554feef6a24792390d858b12fd44acd
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 03:15:14 2006 -0800

    pdiff: Remove all uses of std::string

 test/pdiff/CompareArgs.cpp    |   18 ++++++------------
 test/pdiff/CompareArgs.h      |    1 -
 test/pdiff/PerceptualDiff.cpp |   24 ++++++++----------------
 3 files changed, 14 insertions(+), 29 deletions(-)

commit 91b156b82e0219b2b851c218813f24024cad7c69
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 03:02:48 2006 -0800

    pdiff: Remove RGBAImage classes now that we're just using cairo image surfaces

 test/pdiff/CompareArgs.cpp    |    1 -
 test/pdiff/CompareArgs.h      |    3 -
 test/pdiff/Makefile.am        |    4 +-
 test/pdiff/PerceptualDiff.cpp |    1 -
 test/pdiff/RGBAImage.cpp      |  144 -----------------------------------------
 test/pdiff/RGBAImage.h        |  105 ------------------------------
 test/pdiff/pdiff.cpp          |   80 +++++++++++++++++++----
 test/pdiff/pdiff.h            |    2 +
 8 files changed, 69 insertions(+), 271 deletions(-)

commit 4c812c38e4ec9885b9451185127e5c8877354d75
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 02:10:35 2006 -0800

    pdiff: Remove hideous C++ reference passing

 test/pdiff/pdiff.cpp |   26 +++++++++++++-------------
 1 files changed, 13 insertions(+), 13 deletions(-)

commit 2457756afd66b69840640eff3aaf72e7ea0f64e8
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 02:08:30 2006 -0800

    pdiff: Remove intermingled statements and declarations

 test/pdiff/pdiff.cpp |   74 +++++++++++++++++++++++++++++--------------------
 1 files changed, 44 insertions(+), 30 deletions(-)

commit e947f5a4bdf4a4134faa8961406a10f32cf4e2d6
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 01:09:05 2006 -0800

    pdiff: Add .gitignore for perceptualdiff binary

 test/pdiff/.gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit bb4d4dc77117ded253d1f507e771de7f98c69fb8
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 01:06:42 2006 -0800

    pdiff: Remove old, unused Yee_Compare interface

 test/pdiff/Makefile.am |    2 +-
 test/pdiff/Metric.cpp  |  295 ------------------------------------------------
 test/pdiff/pdiff.cpp   |  281 +++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 282 insertions(+), 296 deletions(-)

commit 53c3a2f75b7f065b4c769ad087bbc9aaaaf6d7ee
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 01:00:43 2006 -0800

    pdiff: Rewrite main program to use cairo-based pdiff_compare interface

 test/pdiff/CompareArgs.cpp    |   23 ++++++++-----------
 test/pdiff/CompareArgs.h      |    5 ++-
 test/pdiff/Makefile.am        |    1 -
 test/pdiff/Metric.cpp         |   35 ++++++++++++++---------------
 test/pdiff/Metric.h           |   32 ---------------------------
 test/pdiff/PerceptualDiff.cpp |   47 ++++++++++++++++++++++++++++++----------
 6 files changed, 65 insertions(+), 78 deletions(-)

commit 358645d6eb68b4eaf79159e7aefa01bca4cb0acf
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 00:42:52 2006 -0800

    pdiff: Rip out unused ImgDiff code, (dropping -output option)

 test/pdiff/CompareArgs.cpp    |    7 -------
 test/pdiff/CompareArgs.h      |    1 -
 test/pdiff/Metric.cpp         |   11 -----------
 test/pdiff/PerceptualDiff.cpp |   14 --------------
 test/pdiff/README.txt         |    4 ++--
 5 files changed, 2 insertions(+), 35 deletions(-)

commit 4438fb6dca1b4b6c0a30d66508339c3997ee94a4
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 00:38:39 2006 -0800

    pdiff: Move function that depends on command-line argument class to same file as main

 test/pdiff/Metric.cpp         |   61 -----------------------------------------
 test/pdiff/Metric.h           |    9 +++++-
 test/pdiff/PerceptualDiff.cpp |   54 ++++++++++++++++++++++++++++++++++++
 test/pdiff/RGBAImage.h        |    2 +-
 4 files changed, 62 insertions(+), 64 deletions(-)

commit c7379fcea478fbd3fc5e09a10828586e641e2375
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 00:30:54 2006 -0800

    pdiff: Rewrite Laplacian pyramid code from C++ to C

 test/pdiff/LPyramid.cpp       |   87 -------------------------------
 test/pdiff/LPyramid.h         |   38 --------------
 test/pdiff/Makefile.am        |    4 +-
 test/pdiff/Metric.cpp         |   22 ++++----
 test/pdiff/PerceptualDiff.cpp |    2 +-
 test/pdiff/lpyramid.cpp       |  113 +++++++++++++++++++++++++++++++++++++++++
 test/pdiff/lpyramid.h         |   32 ++++++++++++
 7 files changed, 159 insertions(+), 139 deletions(-)

commit 29456d38658b8ba7267fadeac9820a68227df787
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Dec 14 00:13:23 2006 -0800

    pdiff: Convert C++-style comments to good old-fashioned C-style comments

 test/pdiff/CompareArgs.cpp |    2 +-
 test/pdiff/CompareArgs.h   |   20 ++++++++++----------
 test/pdiff/LPyramid.cpp    |   12 ++++++------
 test/pdiff/LPyramid.h      |    4 ++--
 test/pdiff/Metric.cpp      |   24 +++++++++++++-----------
 test/pdiff/Metric.h        |    5 +++--
 test/pdiff/RGBAImage.cpp   |    6 +++---
 test/pdiff/RGBAImage.h     |    2 +-
 8 files changed, 39 insertions(+), 36 deletions(-)

commit 34a6af3c55cf8bba292cec8dc42fdc1917759a08
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Dec 13 18:10:21 2006 -0800

    pdiff: Delete all trailing whitespace.

 test/pdiff/CompareArgs.cpp    |    4 +-
 test/pdiff/CompareArgs.h      |    4 +-
 test/pdiff/LPyramid.cpp       |    4 +-
 test/pdiff/LPyramid.h         |    4 +-
 test/pdiff/Metric.cpp         |   52 ++++++++++++++++++++--------------------
 test/pdiff/PerceptualDiff.cpp |    2 +-
 test/pdiff/RGBAImage.cpp      |    8 +++---
 test/pdiff/RGBAImage.h        |    2 +-
 8 files changed, 40 insertions(+), 40 deletions(-)

commit d421a856d08fba2fa0fdbd362d947497a952b347
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Dec 13 18:08:25 2006 -0800

    pdiff: Re-indent all code
    
    I've given up on trying to preserve the old code formatting
    for compatibility. We're not planning on augmenting the algorithm
    itself, just integrating it into cairo. So I don't expect to
    make changes that we'll be all that interested in pushing
    upstream.

 test/pdiff/CompareArgs.cpp    |  162 +++++++-------
 test/pdiff/CompareArgs.h      |   46 ++--
 test/pdiff/LPyramid.cpp       |  100 ++++----
 test/pdiff/LPyramid.h         |   38 ++--
 test/pdiff/Metric.cpp         |  514 ++++++++++++++++++++--------------------
 test/pdiff/PerceptualDiff.cpp |   52 ++--
 test/pdiff/RGBAImage.cpp      |  168 +++++++-------
 test/pdiff/RGBAImage.h        |   86 ++++----
 test/pdiff/pdiff.h            |   20 +-
 9 files changed, 593 insertions(+), 593 deletions(-)

commit 4f6611ef6cac3928427b6fc28dab40829ef0d748
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Dec 13 17:40:59 2006 -0800

    pdiff: Fix line endings

 test/pdiff/LPyramid.cpp |  174 +++++++++++++++++++++++-----------------------
 test/pdiff/LPyramid.h   |   76 ++++++++++----------
 2 files changed, 125 insertions(+), 125 deletions(-)

commit ccb3a6c4deadeaecf133dce6f1b152507ab5a14f
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Dec 12 16:49:27 2006 -0800

    pdiff: Compile pdiff algorithm as a libtool convenience library
    
    The convenience library provides a pdiff_compare function with a
    cairo interface into the perceptual diff algorithm.

 test/Makefile.am       |    2 +-
 test/pdiff/Makefile.am |   14 +++++++++-----
 test/pdiff/Metric.cpp  |   18 ++++++++++++++++++
 test/pdiff/RGBAImage.h |    2 +-
 test/pdiff/pdiff.h     |   38 ++++++++++++++++++++++++++++++++++++++
 5 files changed, 67 insertions(+), 7 deletions(-)

commit 55f776876d231a035cdc5da9bb90cbba14f19248
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Dec 12 16:37:35 2006 -0800

    test: Rework buffer_diff interface as new compare_surfaces
    
    This is a slightly kinder interface that accepts cairo_image_surface_t
    pointers rather than pointers to the raw image data and width, height,
    stride. This brings us closer to hooking up the pdiff code.

 test/buffer-diff.c |   28 +++++++++++++---------------
 test/buffer-diff.h |   15 ++++++---------
 2 files changed, 19 insertions(+), 24 deletions(-)

commit 0d7870b6bf13edfe513e2de25a5814a0a1b78c79
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Dec 12 16:15:08 2006 -0800

    pdiff: Teach pdiff code to accept cairo image surfaces
    
    This is a second small step in enabling cairo's test suite and the
    pdiff code to start working together.

 test/pdiff/CompareArgs.cpp |   49 ++++++++++++++-------------------
 test/pdiff/CompareArgs.h   |    1 +
 test/pdiff/Makefile.am     |    1 +
 test/pdiff/RGBAImage.h     |   64 ++++++++++++++++++++++++++++++++++++++-----
 4 files changed, 79 insertions(+), 36 deletions(-)

commit a87f494d4b91f3acc78d6d7dd737939633f28d71
Author: Dan Amelang <dan@amelang.net>
Date:   Tue Dec 12 16:34:50 2006 -0800

    Don't use the GNU-only grep option "-a"
    
    We now use strings first, then grep to find the magic value, as suggested
    by various people in the reports for the bugs that this fixes:
    
        https://bugs.freedesktop.org/show_bug.cgi?id=9247
        https://bugs.freedesktop.org/show_bug.cgi?id=9124

 acinclude.m4 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 41e01d95edd7eb573a8b79acd0ab2b9de8cdab40
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Dec 12 03:13:38 2006 -0800

    pdiff: Factor out a comparison function that doesn't read the 'args' structure
    
    This is one small step in "libifying" pdiff which will make it
    easier to share this code inside cairo's test suite.

 test/pdiff/Metric.cpp |  112 +++++++++++++++++++++++++++++++-----------------
 1 files changed, 72 insertions(+), 40 deletions(-)

commit b50b8db6d7d3d0a887ee18ad5e8e0455ed794429
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Dec 12 02:17:19 2006 -0800

    test: Simplify buffer_diff by handling device offset in advance
    
    In a manner similar to flattening in advance, we now extract the sub-
    surface of interest (when testing with device offsets) before calling
    into the buffer_diff functions. This allows these functions to accept
    a single stride value once again instead of one for each of the three
    images.

 test/buffer-diff.c  |  103 ++++++++++++++++++++++++++++++++-------------------
 test/buffer-diff.h  |    8 +---
 test/xlib-surface.c |    4 --
 3 files changed, 67 insertions(+), 48 deletions(-)

commit 1781e6018c17909311295a9cc74b70500c6b4d0a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Dec 11 03:31:10 2006 -0500

    [Xlib] Rewrite an optimized cairo_xlib_show_glyphs()
    
    The old implementation was a very naive one that used to generate one XRender
    glyph element per glyph.  That is, position glyphs individually.  This was
    raised here:
    
      http://lists.freedesktop.org/archives/cairo/2006-December/008835.html
    
    The new implmentation is a free rewriting of the Xft logic, that is,
    compressing glyphs with "natural" advance into elements, but with various
    optimizations and improvements.
    
    In short, it works like this: glyphs are looped over, skipping those that are
    not desired, and computing offset from "current position".  Whenever a glyph
    has non-zero offsets from the current position, a new element should be
    started.  All these are used to compute the request size in the render
    protocol.  Whenever the request size may exceed the max request size, or at
    the end, glyphs are flushed.  For this to work, we now set non-zero glyph
    advances when sending glyphs to the server.
    
    Notable optimizations and improvements include:
    
      - Reusing the input glyph array (with double glyph positions) as a working
        array to compute glyph offsets.
    
      - Reusing the input glyph array as the output glyph-index array to be passed
        to XRender.
    
      - Marking glyphs to be skipped as so, avoiding a copy of the glyph array,
        which is what the old code was doing.
    
      - Skip glyphs with positions "out-of-range".  That is, those with positions
        that would cause an overflow in Xrender's glyph offset calculations.
    
    On my Fedora desktop on Pentium 4, and on a Nokia 770, it shows a 6% speedup on
    the timetext test.

 src/cairo-xlib-surface.c |  477 +++++++++++++++++++++++++---------------------
 1 files changed, 257 insertions(+), 220 deletions(-)

commit 198c1439ab21b1b19310335d93242709d1398ff3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Dec 11 03:16:50 2006 -0500

    Cache rounded glyph advance values
    
    This is done in cairo_scaled_glyph_t->x/y_advance.  The value is mostly useful
    for raster backends, for example to set as default advance of a glyph, and
    later on optimize glyph positionings that use the default advance.

 src/cairo-scaled-font.c |   10 ++++++++++
 src/cairoint.h          |    2 ++
 2 files changed, 12 insertions(+), 0 deletions(-)

commit e7ed9eee767c85853d6d2fb823ff3317c490948c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Dec 11 03:13:34 2006 -0500

    [cairo-gstate] Use a local buffer on the stack for small glyph operations
    
    We duplicate the incoming glyph array for two reasons: 1) applying
    transformations, and 2) to let the lower level functions have a glyph array
    they can modify.  By using a 2kb array on the stack we can avoid malloc() for
    requests of less than 100 glyphs.  The size of the array can be tuned by
    setting CAIRO_STACK_BUFFER_SIZE.

 src/cairo-gstate.c |   30 +++++++++++++++++++++++-------
 1 files changed, 23 insertions(+), 7 deletions(-)

commit da60bc45f295b15c62089874fb30cedc1d70bcd2
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Dec 11 03:10:05 2006 -0500

    [cairoint] Define CAIRO_STACK_BUFFER_SIZE (defaults to 2kb)
    
    This is the suggested size in bytes of buffers allocated on the stack per
    function, mostly used for glyph rendering.  We typically use a local buffer on
    the stack to avoid mallocing for small requests.  Requests that do not fit are
    malloc()ed automatically.  The default value should be enough for about a
    100-glyph cairo_show_glyphs() operation.

 src/cairoint.h |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

commit 5a9642c5746fd677aed35ce620ce90b1029b1a0c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Dec 11 01:39:51 2006 -0500

    Add/remove const to cairo_glyph_t* arguments consistently
    
    The rule is: cairo_glyph_t* is always passed as const for measurement
    purposes.  This was not reflected in our public api previously.  Fixed
    
    Showing glyphs used to have cairo_glyph_t* always as const.  With this
    changed, it is only const on cairo_t and cairo_gstate_t operations.
    cairo_surface_t, cairo_scaled_font_t, and individual backends receive
    cairo_glyph_t* as non-const.  The desired semantics is that they may modify
    the contents of the array as long as they do not return
    CAIRO_STATUS_UNSUPPORTED.  This makes it possible to avoid copying the glyph
    array again and again, and edit it in-place.  Backends are in fact free to use
    the array as a generic buffer as they see fit.

 src/cairo-analysis-surface.c         |    2 +-
 src/cairo-atsui-font.c               |    2 +-
 src/cairo-directfb-surface.c         |    2 +-
 src/cairo-glitz-surface.c            |    2 +-
 src/cairo-gstate.c                   |   12 ++++++------
 src/cairo-meta-surface.c             |    2 +-
 src/cairo-nquartz-surface.c          |    2 +-
 src/cairo-paginated-surface.c        |    2 +-
 src/cairo-pdf-surface.c              |    2 +-
 src/cairo-ps-surface.c               |    2 +-
 src/cairo-scaled-font.c              |    4 ++--
 src/cairo-surface-fallback-private.h |    2 +-
 src/cairo-surface-fallback.c         |    4 ++--
 src/cairo-surface.c                  |    4 ++--
 src/cairo-svg-surface.c              |    2 +-
 src/cairo-win32-font.c               |    2 +-
 src/cairo-win32-surface.c            |    2 +-
 src/cairo-xcb-surface.c              |    4 ++--
 src/cairo-xlib-surface.c             |    4 ++--
 src/cairo.c                          |    4 ++--
 src/cairo.h                          |    6 +++---
 src/cairoint.h                       |   28 +++++++++++-----------------
 src/test-meta-surface.c              |    2 +-
 src/test-paginated-surface.c         |    2 +-
 24 files changed, 47 insertions(+), 53 deletions(-)

commit 70695f5c62b89b417c1e8b42451470a5a8920bf3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Dec 10 02:32:52 2006 -0500

    [FreeType] Remove "UNSUPPORTED" show_glyphs stub and NULL its entry
    
    The fallback paths always assume UNSUPPORTED if a method is NULL, so, no need
    for a method to just return UNSUPPORTED.

 src/cairo-ft-font.c |   19 +------------------
 1 files changed, 1 insertions(+), 18 deletions(-)

commit fea60c7283172be5efb42332a96fe322466bd6ed
Author: Dan Amelang <dan@amelang.net>
Date:   Sat Dec 9 18:54:47 2006 -0800

    Change _cairo_lround to correctly handle edge cases previously missed
    
    A nice side effect of this new approach is that the valid input range
    was expanded back to (INT_MIN, INT_MAX]. No performance regressions observed.
    Also included is documentation about the internal mysteries of _cairo_lround,
    as previously promised.

 src/cairo.c |  205 +++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 179 insertions(+), 26 deletions(-)

commit cc75159587a4479951da354cfa282d81c74b0377
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Dec 8 16:10:57 2006 -0500

    [FreeType] Do not return large structs from functions
    
    Pass cairo_ft_options_t around by pointer, not by value.  That's what we do
    with cairo_font_options_t anyway, and there is no reason to not do the same
    here.  (makes -Waggregate-return warnings go away btw).

 src/cairo-ft-font.c |   25 +++++++++++++------------
 1 files changed, 13 insertions(+), 12 deletions(-)

commit beadc7da864c974558b8e98723e9d2533baab630
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Dec 8 15:42:24 2006 -0500

    [docs] Update templates

 doc/public/tmpl/cairo-pattern.sgml     |   76 +++++++++++++++++++++
 doc/public/tmpl/cairo-status.sgml      |   50 +++++++-------
 doc/public/tmpl/cairo-surface.sgml     |  114 ++++++++++++++++----------------
 doc/public/tmpl/cairo-text.sgml        |    1 +
 doc/public/tmpl/cairo-win32-fonts.sgml |   18 +++++
 doc/public/tmpl/cairo-win32.sgml       |   21 ++++++
 doc/public/tmpl/cairo.sgml             |   69 +++++++++++++++++++
 7 files changed, 267 insertions(+), 82 deletions(-)

commit cdd79c104dd940077b1f3193c31272f9a4673bb5
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Dec 8 15:41:52 2006 -0500

    [docs] Generate index of new symbols in 1.4

 doc/public/cairo-docs.xml |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 16c7587f2dcab5abbbe62505e64c1ac9441dfb8e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Dec 8 15:40:59 2006 -0500

    [slim] Define slim macros to dummy prototypes for non-gcc compilers (#9150)

 src/cairoint.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 6122c30930525c0d672166eab8b05e0951c7b039
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Dec 8 15:38:34 2006 -0500

    [pixman] Remove unused slim_internal.h

 pixman/src/slim_internal.h |  103 --------------------------------------------
 1 files changed, 0 insertions(+), 103 deletions(-)

commit 734b321aab3df046716a54cfdcefbe42fa6b1a8b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Dec 7 00:14:37 2006 -0500

    [doc] Minor wording improvement.

 doc/public/tmpl/cairo-version.sgml |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit eedd86165efed065bf79469b1cf57c0127012b98
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Dec 7 00:08:09 2006 -0500

    [docs] Document CAIRO_VERSION_STRING.

 doc/public/tmpl/cairo-version.sgml |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 9b87fab8ce283e966da7ac850980397cb9e199cc
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Dec 6 23:52:22 2006 -0500

    [docs] Hook various new API into cairo-sections.txt

 doc/public/cairo-sections.txt |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

commit 0e028ee0f3bfb95d8483bb4c84b84c4bd53b8c53
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Dec 6 23:40:08 2006 -0500

    [doc/public/Makefile.am] Move the list of private headers generatable
    
    Move the list of private headers into separate file Headers.mk that
    Makefile.am includes (using automake).  To update the list, just remove
    Headers.mk and make.

 doc/public/Headers.mk  |   31 +++++++++++++++++++++++++
 doc/public/Makefile.am |   59 +++++++++++++++++++----------------------------
 2 files changed, 55 insertions(+), 35 deletions(-)

commit b8e1f3778e61e3c5a809f610a1af97ea56a9960e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Dec 6 23:38:20 2006 -0500

    [docs] Document various CAIRO_VERSION_* macros

 doc/public/tmpl/cairo-version.sgml |   20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 deletions(-)

commit fd03991a6a78d849e2184f53a2b1b6915a6a64d0
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Thu Dec 7 04:46:07 2006 +0200

    test: random-intersections
    
    The purpose of this test case is to help make
    sure that changes to the trapezoid generation or
    intersection computation in the tessellator
    don't break it.

 test/Makefile.am                            |    4 ++
 test/random-intersections-ps-argb32-ref.png |  Bin 0 -> 107578 bytes
 test/random-intersections-ref.png           |  Bin 0 -> 177153 bytes
 test/random-intersections-rgb24-ref.png     |  Bin 0 -> 132210 bytes
 test/random-intersections.c                 |   79 +++++++++++++++++++++++++++
 5 files changed, 83 insertions(+), 0 deletions(-)

commit 6301f92d2af2fd7928352965bcab42bab9deb59d
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Thu Dec 7 02:30:41 2006 +0200

    Rework the in-fill-empty-trapezoid test to not use the cairo_test() framework.
    
    As suggested by Behdad Esfahbod, we can not use the cairo_test() framework
    when it is getting in the way.  The test itself doesn't depend on any
    particular backend.
    
    http://lists.freedesktop.org/archives/cairo/2006-December/008809.html

 test/Makefile.am                           |    2 -
 test/in-fill-empty-trapezoid-ref.png       |  Bin 108 -> 0 bytes
 test/in-fill-empty-trapezoid-rgb24-ref.png |  Bin 107 -> 0 bytes
 test/in-fill-empty-trapezoid.c             |   54 ++++++++++++++++------------
 4 files changed, 31 insertions(+), 25 deletions(-)

commit c13a1a2ed0ce8ba2b43e4e70c66cdc5b98e80eb4
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Thu Dec 7 01:42:07 2006 +0200

    Replace point sampling in the fill-degenerate-sort-order with rendering.
    
    Clean up the test to not even check the ps backend as per:
    
    http://lists.freedesktop.org/archives/cairo/2006-December/008806.html

 boilerplate/cairo-boilerplate.c               |    3 ++
 test/fill-degenerate-sort-order-ref.png       |  Bin 643 -> 2397 bytes
 test/fill-degenerate-sort-order-rgb24-ref.png |  Bin 611 -> 2060 bytes
 test/fill-degenerate-sort-order.c             |   32 ++----------------------
 4 files changed, 6 insertions(+), 29 deletions(-)

commit 565a715d119d00ac141d1b235dab7985ed78113a
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Thu Dec 7 01:16:43 2006 +0200

    Change license of tessellator tests to the MIT license.
    
    The blurb for the fill-degenerate-sort-order, fill-missed-stop and
    in-fill-empty-trapezoid tests changed to this one:
    
    http://www.opensource.org/licenses/mit-license.php
    
    c.f. http://lists.freedesktop.org/archives/cairo/2006-December/008806.html

 test/fill-degenerate-sort-order.c |   35 ++++++++++++++++++-----------------
 test/fill-missed-stop.c           |   35 ++++++++++++++++++-----------------
 test/in-fill-empty-trapezoid.c    |   35 ++++++++++++++++++-----------------
 3 files changed, 54 insertions(+), 51 deletions(-)

commit e857ac325a048799016196bc65ce6ff279c01431
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Thu Dec 7 00:52:43 2006 +0200

    tessellator bug fix: linking fails on x86_64 due to superfluous inline attribute.
    
    Remove inline attribute from cairo_bo_event_compare_abstract()
    to fix the linking issue reported by Jinghua Luo on the mailing list:
    
    http://lists.freedesktop.org/archives/cairo/2006-November/008574.html

 src/cairo-bentley-ottmann.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 16c0db0d6843184e79b73a3613f65c0cc06a684d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Dec 6 19:02:09 2006 -0500

    [test] Break the "make clean" target into serveral rm calls
    
    Some systems cannot handle very long list of arguments.  Carl was hitting this
    for "make clean".  Break it out into several rm calls triggered by the
    clean-local target.

 test/Makefile.am |   15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

commit 3cf994779580fe3355356c00e20a93ddb676355e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Dec 6 18:52:45 2006 -0500

    [.gitignore] Add big-trap

 test/.gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 4b43a3a1c4d4f4659e604cea1d79e1b5e18ce107
Author: Peter Weilbacher <pmw@avila.aip.de>
Date:   Thu Dec 7 00:27:29 2006 +0100

    Add OS/2 backend and its requirement to INSTALL and README, following the example of BeOS.

 INSTALL |    1 +
 README  |    9 ++++++++-
 2 files changed, 9 insertions(+), 1 deletions(-)

commit 652f73f0907c0d4b4bee155a73acb4a6a0cf5f37
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Dec 6 13:40:52 2006 -0800

    Bump version to 1.3.7 after making 1.3.6 snapshot

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 648ef4487dfa43f20fb2c73e7b8e567f8a25497a
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Dec 6 13:22:24 2006 -0800

    Increment cairo version to 1.3.6 (and libtool versioning to 12:1:10)

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit f0459b3c53d3319822ef6e5f8bc118e742dcbf5f
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Dec 6 13:20:04 2006 -0800

    NEWS: Add notes for 1.3.6 snapshot

 NEWS |   65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 65 insertions(+), 0 deletions(-)

commit e840c120ddc5ad3adeba95c2baf5262aae57d9d1
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Dec 6 13:19:30 2006 -0800

    Fix 'make distcheck' by mentioning test/pdiff in DIST_SUBDIRS

 test/Makefile.am |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit b83f9e766a0925a59f0db488ef8c905f3fcbcbe4
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Dec 6 13:17:41 2006 -0800

    ROADMAP: Note that the Banker's rounding bug is fixed

 ROADMAP |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ce58f874fe25334961807a2cecf6066b18569c05
Author: Dan Amelang <dan@amelang.net>
Date:   Tue Dec 5 23:45:15 2006 -0800

    Change _cairo_lround to use arithmetic rounding
    
    This fixes the text rendering bug reported here:
    
        https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=217819
    
    No performance impact on x86. On the 770, I see minor speedups in text_solid
    and text_image (~1.05x).

 src/cairo.c |   57 +++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 45 insertions(+), 12 deletions(-)

commit d0eff3919646e8a4c9981c349e33060fdb27c94e
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Wed Dec 6 05:53:53 2006 +0200

    tessellator: input validation and guard bit removal
    
    This patch removes the guard bits from the tessellator internal
    coordinates and reworks the input validation to make sure that the
    tessellator code should never die on an assert.  When the extent of a
    polygon exceeds a width or height of 2^31-1, then the rightmost
    (resp. bottommost) points are clamped to within 2^31-1 of the leftmost
    (resp. topmost) point of the polygon.  The clamping produces bad
    rendering for really large polygons, and needs to be fixed in a saner
    manner.
    
    Cleaned up as per
    
    http://lists.freedesktop.org/archives/cairo/2006-December/008806.html

 src/cairo-bentley-ottmann.c |  147 +++++++++++++++++++++++--------------------
 1 files changed, 78 insertions(+), 69 deletions(-)

commit f8ba74917296be226f7a957ad1a26685bb6d846c
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Tue Dec 5 22:56:22 2006 +0200

    tessellator: offset working coordinates to be nonnegative
    
    This patch improves the translation invariance of the tessellator
    by offsetting all input coordinates to be nonnegative and paves
    the way for future optimisations using the coordinate range.
    
    Also changes the assertions to make sure that it is safe to add
    the guard bits.  This needs to be changed to do something sensible
    about input coordinates that are too large instead of croaking.
    The plan is to steal the guard bits from the least significant
    instead of the most significant user bits, and having all coordinates
    nonnegative will make the rounding involved there easier.

 src/cairo-bentley-ottmann.c |  126 ++++++++++++++++++++++++++++++++----------
 1 files changed, 96 insertions(+), 30 deletions(-)

commit 633c51b4426f5405db0eac5edb81651b7e1491ef
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Tue Dec 5 21:55:50 2006 +0200

    tessellator bug fix: in-fill-empty-trapezoid
    
    The cairo_in_fill() function sometimes gives false positives
    when it samples a point on the edge of an empty trapezoid.
    This patch alleviates the bug (but doesn't fix it completely),
    for the common(?) case where the left and right edges of the
    empty trapezoid have equal top and bottom points.

 src/cairo-bentley-ottmann.c |   31 +++++++++++++++++++++----------
 1 files changed, 21 insertions(+), 10 deletions(-)

commit e6c8febca7a24f6cf4138a25c96a36e4e7721a92
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Tue Dec 5 21:38:25 2006 +0200

    tessellator bug fix: fill-missed-stop
    
    Fixes the regression exhibited by the test fill-missed-stop,
    where the tessellator would sometimes extend a trapezoid
    too far below the end of the right edge.

 src/cairo-bentley-ottmann.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

commit 614117e487f36c66f2a479c96e1cb4daef625608
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Tue Dec 5 21:31:23 2006 +0200

    tessellator bug fix: fill-degenerate-sort-order
    
    Fixes the regression fill-degenerate-sort-order, where
    confusion arises in the event order for collinear edges.
    Also fixes (or at least hides) the issues with zrusin-another
    sometimes generating different trapezoids depending on the
    state of the random number generator in cairo-skiplist.c.

 src/cairo-bentley-ottmann.c |   40 +++++++++++++++++++++++++++++-----------
 1 files changed, 29 insertions(+), 11 deletions(-)

commit 48b42efcfee470a1224d6ad0646525964ac640c6
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Tue Dec 5 13:02:47 2006 +0200

    test: check for tessellator regression from missed stop events
    
    The new tessellator contains a regression where stop events
    that aren't followed by start events sometimes cause the
    trapezoid to the left of an edge to be too high.

 test/Makefile.am                        |    4 ++
 test/fill-missed-stop-ps-argb32-ref.png |  Bin 0 -> 564 bytes
 test/fill-missed-stop-ref.png           |  Bin 0 -> 466 bytes
 test/fill-missed-stop-rgb24-ref.png     |  Bin 0 -> 394 bytes
 test/fill-missed-stop.c                 |   89 +++++++++++++++++++++++++++++++
 5 files changed, 93 insertions(+), 0 deletions(-)

commit e94e0a1ca262ef67b527b13a5e9691ad42a43204
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Tue Dec 5 12:20:17 2006 +0200

    test: check if cairo_in_fill() is reporting false positives for empty trapezoids.
    
    cairo_in_fill() may report true if a query point lands on an edge of an
    empty trapezoid.

 test/Makefile.am                           |    3 +
 test/in-fill-empty-trapezoid-ref.png       |  Bin 0 -> 108 bytes
 test/in-fill-empty-trapezoid-rgb24-ref.png |  Bin 0 -> 107 bytes
 test/in-fill-empty-trapezoid.c             |   89 ++++++++++++++++++++++++++++
 4 files changed, 92 insertions(+), 0 deletions(-)

commit 00d7b6acdd263f7b46ea98c4a5b777fc93a65be5
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Tue Dec 5 11:21:14 2006 +0200

    test: tessellator event comparator test case for degenerate edges.
    
    There's currently a regression bug in the tessellation code from
    switching to the new tessellator.  The bug is caused by
    confusion in the comparator used to order events when there are
    degenerate edges.  This test is derived from the zrusin-another
    performance test case.

 test/Makefile.am                              |    3 +
 test/fill-degenerate-sort-order-ref.png       |  Bin 0 -> 643 bytes
 test/fill-degenerate-sort-order-rgb24-ref.png |  Bin 0 -> 611 bytes
 test/fill-degenerate-sort-order.c             |  110 +++++++++++++++++++++++++
 4 files changed, 113 insertions(+), 0 deletions(-)

commit c92f23caa549651a05863ecda19c55c112350528
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Dec 5 11:14:49 2006 -0800

    ROADMAP: Add _cairo_lround bug for 1.3.6. Note some completed items for 1.4.0

 ROADMAP |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

commit 4057a98f88947730bb0678f361278cc71cc33751
Author: M Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Tue Dec 5 05:46:26 2006 +0200

    cairo-perf-diff-files: Don't segfault reading cooked perf reports.
    
    Fixes cairo-perf-diff-files for non-raw cairo-perf reports.  Similar
    to the patch on the mailing list, only applied to the caller of
    _cairo_stats_compute():
    
    http://lists.freedesktop.org/archives/cairo/2006-December/008720.html

 perf/cairo-perf-diff-files.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit a4f5463cdd5e2b088cd009de332db821ef0bd806
Author: Mathieu Lacage <Mathieu.Lacage@sophia.inria.fr>
Date:   Tue Dec 5 03:59:11 2006 +0200

    bugfix: fix cairo-wideint.c uint64_t usage and const return qualifiers
    
    These patches were sent to the cairo mailing list by Mathieu Lacage
    <Mathieu.Lacage@sophia.inria.fr>:
    
    http://lists.freedesktop.org/archives/cairo/2006-December/008741.html
    
      _cairo_uint_96by64_32x64_divrem(): fixes misuse of the uint64_t type
      and cairo-wideint-private.h functions.
    
    http://lists.freedesktop.org/archives/cairo/2006-December/008742.html
    
      Remove const qualifiers from return types from cairo-wideint.c functions.
    
    http://lists.freedesktop.org/archives/cairo/2006-December/008747.html
    
      Fixes a typo in cairo-wideint-private.h: _cairo_uint128_to_int128_
      had an extra trailing underscore.

 src/cairo-wideint-private.h |    2 +-
 src/cairo-wideint.c         |   14 +++++++-------
 2 files changed, 8 insertions(+), 8 deletions(-)

commit 94e086b7b9f4129bde3e32b7005e2a33788f334a
Author: Dan Amelang <dan@amelang.net>
Date:   Sat Dec 2 11:24:35 2006 -0800

    [configure] Fix --disable-some-floating-point to force value to 'no' if none given
    
    As suggested by Behdad here:
    
        http://lists.freedesktop.org/archives/cairo/2006-December/008700.html

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 392f27bf2b210aec6f511e5dba890d5f4c3b8802
Author: Dan Amelang <dan@amelang.net>
Date:   Sat Dec 2 11:02:36 2006 -0800

    [configure] Add -a option to grep calls in AX_C_FLOAT_WORDS_BIGENDIAN
    
    This fixes bug #9124 reported here:
    
        https://bugs.freedesktop.org/show_bug.cgi?id=9124

 acinclude.m4 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 3dbe468fd6071adfba5f608da788502f1840af36
Author: Dan Amelang <dan@amelang.net>
Date:   Fri Dec 1 14:12:16 2006 -0800

    [perf] Provide watered-down implementations of getline and strndup for
    building on non-GNU toolchains.

 perf/cairo-perf-diff-files.c |   58 +++++++++++++++++++++++++++++++++++++++--
 1 files changed, 55 insertions(+), 3 deletions(-)

commit d5fcbfc29f2ae6eacdab1d00d9e7ce8d1cf39431
Author: Dan Amelang <dan@amelang.net>
Date:   Fri Dec 1 12:46:55 2006 -0800

    Purge cairo-test of all calls to round()
    
    Although round() is in the C99 standard, it isn't available in all
    toolchains on which cairo is compiled (VC++, for example).

 test/clip-operator.c      |    4 ++--
 test/operator-clear.c     |    4 ++--
 test/operator-source.c    |    4 ++--
 test/unbounded-operator.c |    4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

commit cb9a3c264086d0d11b74c504e5d3f891f929b00e
Author: Dan Amelang <dan@amelang.net>
Date:   Fri Dec 1 12:41:55 2006 -0800

    Add configure option --disable-some-floating-point
    
    See discussion here: http://lists.freedesktop.org/archives/cairo/2006-November/008602.html

 configure.in |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

commit 7fb4e978735bd7c9f3cff970ac6757feff3e74bb
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Nov 30 09:15:00 2006 -0800

    BIBLIOGRAPHY: Add Joseph O'Rourke's book as recommended by Rafael Villar Burke

 BIBLIOGRAPHY |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

commit 7fbe594d3d04137daca4d3c3a28057b71b03f33d
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Nov 30 08:43:27 2006 -0800

    Add a textbook recommendation to the bibliography
    
    Thanks to Mathieu Lacage for the recommendation of:
    
    	"Computational Geometry, Algorithms and Applications", M. de
    	Berg, M. van Kreveld, M. Overmars, M. Schwarzkopf

 BIBLIOGRAPHY |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

commit 170d35b034150b69717e52dd85f0f93c392d9f3c
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 29 23:01:30 2006 -0800

    pdiff: Add missing newlins at end of files.

 test/pdiff/CompareArgs.h |    2 +-
 test/pdiff/LPyramid.cpp  |    1 -
 test/pdiff/LPyramid.h    |    2 +-
 test/pdiff/Metric.cpp    |    2 +-
 test/pdiff/Metric.h      |    2 +-
 test/pdiff/RGBAImage.h   |    2 +-
 6 files changed, 5 insertions(+), 6 deletions(-)

commit c863315285911d38b64b8429e279c5e55d0089b8
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 21 14:19:35 2006 -0800

    Hook up Makefiles for perceptualdiff.

 configure.in           |    1 +
 test/pdiff/Makefile.am |   14 ++++++++++++++
 2 files changed, 15 insertions(+), 0 deletions(-)

commit 6e06b68452ec68b7ab227c54284f28a605512ce4
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 21 14:19:55 2006 -0800

    Remove all libtiff-related code by #ifdef

 test/pdiff/CompareArgs.cpp |    8 ++++++++
 test/pdiff/RGBAImage.cpp   |    3 +++
 2 files changed, 11 insertions(+), 0 deletions(-)

commit 2b92556abe440e9834174aed7395e2827f62897c
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 29 22:55:00 2006 -0800

    Use uint32_t instead of the non-standard uint32

 test/pdiff/RGBAImage.cpp |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 812fd53499d308ff881751e57c1e3287498ddd0f
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 21 12:15:16 2006 -0800

    Add perceptualdiff program totest/pdiff.
    
    The perceptualdiff program was written by Hector Yee with contributions
    from Scott Corley and Mick Weiss. It is hosted at http://pdiff.sourceforge.net
    The source code added here was obtained by:
    
    	svn co https://svn.sourceforge.net/svnroot/pdiff/trunk pdiff
    
    which gave revision 22 of the source code.
    
    The perceptualdiff program is available under the terms of the GNU GPL,
    so I've added a note to COPYING about this program, (and the fact that
    it is auxiliary only, and does not affect the license of the implementation
    of cairo itself).

 COPYING                       |   21 +++-
 test/pdiff/CMakeLists.txt     |   55 +++++++
 test/pdiff/CompareArgs.cpp    |  128 +++++++++++++++
 test/pdiff/CompareArgs.h      |   44 ++++++
 test/pdiff/LPyramid.cpp       |   88 +++++++++++
 test/pdiff/LPyramid.h         |   38 +++++
 test/pdiff/Metric.cpp         |  316 ++++++++++++++++++++++++++++++++++++++
 test/pdiff/Metric.h           |   26 +++
 test/pdiff/PerceptualDiff.cpp |   45 ++++++
 test/pdiff/README.txt         |   45 ++++++
 test/pdiff/RGBAImage.cpp      |  141 +++++++++++++++++
 test/pdiff/RGBAImage.h        |   57 +++++++
 test/pdiff/gpl.txt            |  340 +++++++++++++++++++++++++++++++++++++++++
 13 files changed, 1341 insertions(+), 3 deletions(-)

commit d9fd942e4774aa29967f908001b62dbc987d2f66
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 29 17:18:50 2006 -0800

    Add an initial BIBLIOGRAPHY for cairo

 BIBLIOGRAPHY |   70 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 70 insertions(+), 0 deletions(-)

commit 8f08daade0430bf965050a81e654aac2a2375b07
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 29 17:15:29 2006 -0800

    RELEASING: Fix typo

 RELEASING |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit facffb7ea3e03d131a79486b80d4efc58c303b87
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Nov 28 19:41:52 2006 -0500

    [configure] Remove the pkg-config minimum version requirement
    
    It was added in commit 157663e1fdf120a71c6cc8222b88d2915a5a73eb because there
    was a serious bug in the pkg.m4 file from pkg-config 0.18.  However, it was
    fixed two days later.  So, instead of requireing 0.18.1 or greater which is
    not available on Nokia 770 SDK, we just ignore the broken pkg-config 0.18.
    The problem only happens if one runs autogen.sh with against a broken
    pkg-config.  Configuring tarballs is not affected.

 configure.in |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 72a4a9834626ddd05c57c6b3f59e936969f0eee9
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Nov 27 13:23:13 2006 -0500

    [test|perf|boilerplate/Makefile.am] Add -I$(top_builddir)/src to INCLUDES
    needed to find cairo-features.h when building out of tree.

 boilerplate/Makefile.am |    1 +
 perf/Makefile.am        |    1 +
 test/Makefile.am        |    1 +
 3 files changed, 3 insertions(+), 0 deletions(-)

commit 9c3b161c7067d8eda7f8d1cfb36ca285e4e7fa35
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 22 19:31:56 2006 -0800

    Bump version to 1.3.5 after making 1.3.4 snapshot

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 143c56cb12ee5d0b0fbc5e4039dd4fc88764254d
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 22 19:15:31 2006 -0800

    Increment cairo version to 1.3.4

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e9dd52a337082cebbab2224e3a09702ada8f8e87
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 22 19:15:00 2006 -0800

    NEWS: Add notes for 1.3.4 snapshot

 NEWS |  152 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 152 insertions(+), 0 deletions(-)

commit 3329abba391ebd502ba74b00ff02b7902a39945a
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 22 19:11:51 2006 -0800

    Add Daniel Amelang and Joonas Pihlaja to the AUTHORS file

 AUTHORS |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit a8f6d27fba582cc8e935676d26c703fa7b253822
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 22 18:42:48 2006 -0800

    Add some missing cairo_private decorators

 src/cairo-freelist-private.h |   12 +++++++-----
 src/cairo-skiplist-private.h |   14 ++++++++------
 src/cairoint.h               |    4 ++--
 3 files changed, 17 insertions(+), 13 deletions(-)

commit fac3684e686a259658151dac13907fa69f43f727
Author: Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Wed Nov 22 08:30:28 2006 +0200

    perf: new-tessellator: Deferred trapezoid generation (first try)

 src/Makefile.am              |    2 +
 src/cairo-bentley-ottmann.c  |  163 ++++++++++++++++++++++++++++++++++++------
 src/cairo-freelist-private.h |   71 ++++++++++++++++++
 src/cairo-freelist.c         |   72 ++++++++++++++++++
 4 files changed, 285 insertions(+), 23 deletions(-)

commit 6bd72ce74aba4a576e5aa76a5c92bd5557ae97f1
Author: Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Mon Nov 20 04:19:17 2006 +0200

    Sort pointers instead of cairo_bo_events in the tessellator.
    
    We were spending a lot of time in memcpy.

 src/cairo-bentley-ottmann.c |   54 +++++++++++++++++++++++++++----------------
 1 files changed, 34 insertions(+), 20 deletions(-)

commit b177573b729401117a061cd6f07743fa81c01724
Author: Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Mon Nov 20 03:56:07 2006 +0200

    Make the skip list check for uniqueness.
    
    This patch removes a redundant call to skip_list_find()
    that was being used to detect duplicate intersection events.
    Instead, skip_list_insert() now takes an additional parameter
    letting it know what to do with duplicates.

 src/cairo-bentley-ottmann.c  |   12 ++++--------
 src/cairo-skiplist-private.h |    8 +++++---
 src/cairo-skiplist.c         |   25 +++++++++++++++----------
 3 files changed, 24 insertions(+), 21 deletions(-)

commit 8bec0bac56785434f5e5860cf5f3560cac82ebb2
Author: Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Mon Nov 20 03:45:26 2006 +0200

    Malloc less using a free list of nodes.

 src/cairo-skiplist-private.h |    1 +
 src/cairo-skiplist.c         |   45 ++++++++++++++++++++++++++++++++++-------
 2 files changed, 38 insertions(+), 8 deletions(-)

commit de0e327b3d9aec50d970d8cfc881fb3949df59cc
Author: Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Mon Nov 20 03:14:20 2006 +0200

    Tweak comparators.

 src/cairo-bentley-ottmann.c |   60 ++++++++++++++++++++----------------------
 1 files changed, 29 insertions(+), 31 deletions(-)

commit 67359d7a58c14851936345417833b1e610987c19
Author: Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Sat Nov 18 14:59:23 2006 +0200

    Separate start and stop events from intersections (first try.)
    
    Don't use the skip list for start and stop events, but presort
    those first.

 src/cairo-bentley-ottmann.c  |  119 ++++++++++++++++++++++++++++++++++--------
 src/cairo-skiplist-private.h |    7 +++
 src/cairo-skiplist.c         |   10 ++++
 3 files changed, 114 insertions(+), 22 deletions(-)

commit 97f02dca5d97c9ab815abf881525542ba86cbb11
Author: Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Sat Nov 18 01:08:56 2006 +0200

    Avoid a skip-list lookup when deactivating edges.

 src/cairo-bentley-ottmann.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 99f8a5313d336a2779689122feef03b874ed930e
Author: Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Sat Nov 18 01:01:04 2006 +0200

    Special cases for skip list comparators.

 src/cairo-bentley-ottmann.c |   39 +++++++++++++++++++++++++++++++++++++--
 1 files changed, 37 insertions(+), 2 deletions(-)

commit fd8cd39cda7bfde429d840ffd7d5c78ac3045505
Author: Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Fri Nov 17 12:24:44 2006 +0200

    Use an LFSR instead of random().

 src/cairo-skiplist.c |  189 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 188 insertions(+), 1 deletions(-)

commit d957e59744ba6fc482d3ddbce041877e703c0489
Author: Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Wed Nov 15 19:58:54 2006 +0200

    Replace the 128 bit divrem by a 96/64 bit one.

 src/cairo-bentley-ottmann.c |   78 +++++++++++++++++++++++--------------------
 1 files changed, 42 insertions(+), 36 deletions(-)

commit 1da14262ea059836ae63b875c987fdb5c526db83
Author: Joonas Pihlaja <jpihlaja@cc.helsinki.fi>
Date:   Wed Nov 15 19:57:04 2006 +0200

    A 96 by 64 bit divrem that produces a 32 bit quotient and 64 bit remainder.

 src/cairo-wideint-private.h |    8 ++
 src/cairo-wideint.c         |  152 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 160 insertions(+), 0 deletions(-)

commit 762bd1330d5e3148ddd60949866227cb75b782d6
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Sep 22 17:28:00 2006 -0700

    Make event_queue_insert ignore duplicate intersection events (not duplicate start/stop events)
    
    This fixes the failures of the new tessellator with the 3 tests:
    bitmap-font, rectangle-rounding-error, and close-path
    The problem was that identical edges from separate polygons
    were not being added to the event queue, (because of a check
    that was actually only intended to prevent an intersection
    event from being scheduled multiple times).

 src/cairo-bentley-ottmann.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

commit 4cd871b6f371e86c252c2fa8d8af481d822a1dec
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 20 10:47:58 2006 -0700

    Switch from old tessellator to new tessellator

 src/Makefile.am         |    3 +++
 src/cairo-path-fill.c   |    6 +++---
 src/cairo-path-stroke.c |    2 +-
 src/cairo-pen.c         |    2 +-
 src/cairo-traps.c       |    7 +------
 src/cairoint.h          |   10 ++++++++++
 6 files changed, 19 insertions(+), 11 deletions(-)

commit 0f7c488906128557807ca98aed5c442abf0a0b75
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 20 10:47:01 2006 -0700

    Adapt new tessellator to match the interface provided by the old tessellator.

 src/cairo-bentley-ottmann.c |  163 ++++++++++++++++++++++++++++++-------------
 1 files changed, 114 insertions(+), 49 deletions(-)

commit 8921f733995bc003c6977fd071f0be9e346e0f79
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 20 10:41:42 2006 -0700

    Add new tessellator (unused) in cairo-bentley-ottmann.c
    
    This is the implementation as it cooked in the new-tessellator branch
    available from:
    
    	git://people.freedesktop.org/~cworth/cairo
    
    The file here comes from commit eee4faf79900be2c5fda1fddd49737681a9e37d6 in
    that branch. It's sitting here not hooked up to anything in cairo yet,
    and still with a main function with test cases, etc.

 src/cairo-bentley-ottmann.c | 1383 +++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 1383 insertions(+), 0 deletions(-)

commit c2509f8a721ec489e1b44fa8a68be165363787a7
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 20 10:27:35 2006 -0700

    Add skip list implementation (many thanks to Keith Packard)
    
    The files here are copied directly from the standalone skiplist module
    available from:
    
    	git clone git://cworth.org/~cworth/skiplist
    
    In particular the files come from the double branch and the following
    commit on that branch:
    
    	8b5a439c68e220cf1514d9b3141a1dbdce8af585
    
    Also of interest is the original skiplist module hosted by Keith Packard
    that is the original implementation on which these files were based.
    Since the cworth/skiplist branched off of keithp's, Keith has also
    now implemented a doubly-linked variant which might be interesting for
    further simplification of the code. See:
    
    	git clone git://keithp.com/git/skiplist
    
    and the double-link branch there.

 src/cairo-skiplist-private.h |   87 +++++++++++++++
 src/cairo-skiplist.c         |  238 ++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 325 insertions(+), 0 deletions(-)

commit 02804773e7ef521adfbd26f90f303879198acde5
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 22 16:52:18 2006 -0800

    give the big-trap test the XFAIL treatment.
    
    We'll need to rewrite this test (and the way cairo is compiled for
    testing) before it can exercise the bug of interest. In the
    meantime, let's just give it an "expected failure" status.

 test/Makefile.am |    1 +
 test/big-trap.c  |   36 +++++++++++++++++++++++++++++++++++-
 2 files changed, 36 insertions(+), 1 deletions(-)

commit fdbb820ece5e6ab970cf6a9b756eebf7283c0597
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 22 16:43:45 2006 -0800

    test: Use round to pass only integers to cairo_show_glyphs (in 3 more tests)
    
    This is the same fix as in the recent commit (166dffc96aa26b21f87f12af22b11630583cc85b)
    but for the same idiom that appears in the operator-clear,
    operator-source, and unbounded-operator tests. This fixes
    the failures that were introduced by the recent switch to
    _cairo_lround.

 test/operator-clear.c     |    4 ++--
 test/operator-source.c    |    4 ++--
 test/unbounded-operator.c |    4 ++--
 3 files changed, 6 insertions(+), 6 deletions(-)

commit 11d21dbaa3604951f73b641e4d88723696157a8e
Author: Dan Amelang <dan@amelang.net>
Date:   Tue Nov 21 14:50:29 2006 -0800

    Change _cairo_matrix_to_pixman_matrix to use a pixman_transform_t as the template, thus avoiding a forced memcpy

 src/cairo-matrix.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

commit 8a5e296239d1cac705c3c397ab1fd7f7f2ff8d58
Author: Dan Amelang <dan@amelang.net>
Date:   Tue Nov 21 12:14:05 2006 -0800

    Optimize _cairo_matrix_to_pixman_matrix for the common case of an identity matrix

 src/cairo-matrix.c |   35 ++++++++++++++++++++++++-----------
 1 files changed, 24 insertions(+), 11 deletions(-)

commit b7cd46ddc2a2523b4d33b22e07cdbdc09b90fa7d
Author: Dan Amelang <dan@amelang.net>
Date:   Mon Nov 20 14:31:28 2006 -0800

    Add and incorporate _cairo_gstate_transform_glyphs_to_backend
    
    After changing _cairo_gstate_show_glyphs and _cairo_gstate_glyph_path to use
    this function, we see a significant speedup due to the elimination of redundant
    FP calculations.

 src/cairo-gstate.c |   92 ++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 72 insertions(+), 20 deletions(-)

commit 6cfb4a01e005cb0f4f797ff9aa02e80b3d755a9e
Author: Dan Amelang <dan@amelang.net>
Date:   Mon Nov 20 14:08:46 2006 -0800

    Refactor _cairo_matrix_is_integer_translation
    
    Now that we have _cairo_matrix_is_translation, we can change
    _cairo_matrix_is_integer_translation to use it and thus reduce code
    duplication.

 src/cairo-matrix.c |   42 +++++++++++++++++++-----------------------
 1 files changed, 19 insertions(+), 23 deletions(-)

commit ca79307bdf9bc8042c9afd570bf10d605d3dfc1e
Author: Dan Amelang <dan@amelang.net>
Date:   Mon Nov 20 10:42:50 2006 -0800

    Add _cairo_matrix_is_translation

 src/cairo-matrix.c |    7 +++++++
 src/cairoint.h     |    3 +++
 2 files changed, 10 insertions(+), 0 deletions(-)

commit 57fba8d9b6915fe4b0f506ecb2ef18a9002de370
Author: Daniel Amelang <dan@ereba.localdomain>
Date:   Thu Nov 2 22:24:34 2006 -0800

    Replace existing rounding code with _cairo_lround

 src/cairo-directfb-surface.c |   12 ++++++------
 src/cairo-ft-font.c          |    4 ++--
 src/cairo-glitz-surface.c    |    4 ++--
 src/cairo-scaled-font.c      |   14 ++++++--------
 src/cairo-win32-font.c       |   14 ++++++++------
 src/cairo-win32-surface.c    |    7 ++++---
 src/cairo-xcb-surface.c      |   28 ++++++++++++++--------------
 src/cairo-xlib-surface.c     |   16 ++++++++--------
 8 files changed, 50 insertions(+), 49 deletions(-)

commit efb483c3a36f8168d52086c2f61162f5a0306c15
Author: Daniel Amelang <dan@ereba.localdomain>
Date:   Thu Nov 2 22:22:17 2006 -0800

    Add _cairo_lround for much faster rounding
    
    This function uses the same "magic number" approach as _cairo_fixed_from_double.

 src/cairo.c    |   25 +++++++++++++++++++++++++
 src/cairoint.h |    3 +++
 2 files changed, 28 insertions(+), 0 deletions(-)

commit 166dffc96aa26b21f87f12af22b11630583cc85b
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 21 20:57:01 2006 -0800

    test/clip-operator: Use round to pass only integers to cairo_show_glyphs
    
    We were previously passing half-integer values here, which will
    not be robust to changes in the rounding mode used for
    cairo_show_glyphs. Use round() to match the rounding expected
    by the reference images.

 test/clip-operator.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit eaaeba170d4c8313443412d88ee63311723b546d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Nov 21 19:05:16 2006 -0500

    [SVG] Fix compiler warning
    
    cairo-svg-surface.c:980: warning: 'id' might be used uninitialized in this function

 src/cairo-svg-surface.c |  112 +++++++++++++++++++++++------------------------
 1 files changed, 55 insertions(+), 57 deletions(-)

commit c6fceb6721a26d801be0fa8ed3028f9dc8b7dfed
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Nov 21 17:52:58 2006 -0500

    [PS] Rename n_glyphs to num_glyphs_unsigned
    
    Follow-up on my previous commit.  Use a more descriptive name to avoid
    confusion between n_glyphs and num_glyphs.

 src/cairo-ps-surface.c |   18 +++++++++---------
 1 files changed, 9 insertions(+), 9 deletions(-)

commit 75eeb889767468b374df5f0aa6fb7ba1fe6addf9
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Nov 21 12:10:36 2006 -0500

    [PS] Eliminate compiler warnings about unoptimizable loops
    
    An innocient-looking loop like this:
    
      for (j = 0; j <= last; j++)
        something();
    
    cannot be optimized, because it may loop forever!
    Imagine the case that last is MAXINT, the loop will never end.  The correct
    way to write it is:
    
      for (j = 0; j < last+1; j++)
        something();
    
    In this case, if last is MAXINT, the loop will never run.  Not correct, but
    better than looping forever.
    
    Still better would be to correctly handle the MAXINT case (even though it
    doesn't make any sense to show MAXINT number of glyphs in one operation!)  To
    do that, we can use the fact that the input num_glyphs is a signed.  If
    there is one good thing about using signed int as input length, it's that you
    can use an unsigned looping variable to avoid looping forever.  That is
    exactly what this patch does.

 src/cairo-ps-surface.c |   28 +++++++++++++++-------------
 1 files changed, 15 insertions(+), 13 deletions(-)

commit 2dbb3dfd5f7e3d802f1c3c57b39f9d69b2b7ee1e
Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
Date:   Tue Nov 21 14:43:43 2006 +0100

    SVG: plug a memory leak
    
    What's the point in creating a memory stream if we overload the
    pointer a couple of lines below ?

 src/cairo-svg-surface.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit 12f8718a3ed40e51e3edd678874d0a13e0eaaa74
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Nov 21 00:10:03 2006 -0500

    [SVG] Define enum _cairo_svg_version.

 src/cairo-svg.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 9cffc56228498e9d9fb1c047e1e1f2daaabac698
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Mon Nov 20 15:30:04 2006 -0800

    [test] add big-trap test
    
    This test fills a single path (a trapezoid, even) that's larger than the
    16.16 precision used in pixman and other code.  It leads to memory
    scribbling and a crash.  Note that there is no crash if a clip is not set.

 test/Makefile.am |    1 +
 test/big-trap.c  |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 61 insertions(+), 0 deletions(-)

commit a91c1e3ea6c5d338f2d7cd61db5eede5076de3b2
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Nov 20 14:01:50 2006 -0800

    Require librsvg 2.15.0 (was 2.14.0) for testing of SVG backend.
    
    Bryce Harrington saw off-by-one errors in output image size with
    a 2.14.x version of librsvg.

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e5bd21136cc43f569cdf424d2fd47d8298b53fb6
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Nov 20 09:32:00 2006 -0800

    Add const qualifier to cairo_path_t* parameter of cairo_append_path

 src/cairo-path-data-private.h |    4 ++--
 src/cairo-path-data.c         |    4 ++--
 src/cairo.c                   |    4 ++--
 src/cairo.h                   |    4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

commit 10920c1326362b4fadfa01019223647c23351127
Merge: 1ed3811... 2928f6e...
Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
Date:   Sat Nov 18 12:59:12 2006 +0100

    Merge branch 'svgprint'

commit 1ed3811338a03068b7ce60f83fdd23fe01fec972
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Nov 17 17:50:14 2006 -0800

    perf: Add box_outline test case.
    
    This test shows that drawing a 100x100 single-pixel wide box outline is
    currently 5 to 16 times slower when using the natural cairo_stroke() as
    compared to a rather awkward cairo_fill() of two rectangles.
    
    [ # ]  backend-content                    test-size min(ticks)  min(ms) median(ms) stddev. iterations
    [  0]    image-rgba         box-outline-stroke-100     301321    0.218    0.219  0.39%   5
    [  1]    image-rgba           box-outline-fill-100      18178    0.013    0.013  0.43%   5
    [  0]     xlib-rgba         box-outline-stroke-100     379177    0.275    0.276  1.39%   6
    [  1]     xlib-rgba           box-outline-fill-100      83355    0.060    0.060  0.17%   5

 perf/Makefile.am   |    1 +
 perf/box-outline.c |   93 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 perf/cairo-perf.c  |    1 +
 perf/cairo-perf.h  |    2 +
 4 files changed, 97 insertions(+), 0 deletions(-)

commit a8faa0aef11abbd743ac9dc0b3127f9384325ee2
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Nov 17 17:48:39 2006 -0800

    cairo-perf: When iteration count is given on command-line, never execute fewer

 perf/cairo-perf.c |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit a97b697d8fbba4ffc5a45a256603232ab5a4e86d
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Nov 16 10:38:53 2006 -0800

    ROADMAP: Set cairo 1.4 to early January for sake of Gnome 2.18

 ROADMAP |   16 +++++++---------
 1 files changed, 7 insertions(+), 9 deletions(-)

commit db603d66476a7a8e6b7e52b907212d289f9fbdb4
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 15 15:33:52 2006 -0800

    Increment cairo version to 1.3.3 after 1.3.2 snapshot

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 804e20b55d049a26fe4d96bb6d79890c65e43ab5
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 15 13:32:15 2006 -0800

    Update cairo version and libtool version for 1.3.2 snapshot

 configure.in |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit c63fd9437b69bd2ce5d9e0f5784d13a05ac7b867
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 15 13:30:16 2006 -0800

    NEWS: Add notes for 1.3.2 snapshot

 NEWS |  179 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 179 insertions(+), 0 deletions(-)

commit a2d625edc62f35b4fbcefa6986918060f23fa1e6
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Nov 2 19:52:03 2006 -0500

    Add notes for the 1.2.6 release.

 NEWS |   60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 0 deletions(-)

commit eeb1fa42aa44e1422dcfcdc6eb772b764c3ced58
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 14 14:44:03 2006 -0800

    Add missing pattern-getters-ref.png to Makefile to avoid breaking distcheck target

 test/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 28a9f1dd1407b0070a2ba1c780a6f763acb47810
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 14 14:35:35 2006 -0800

    Fix get-clip test for surfaces not implementing set_clip_region

 test/get-clip.c |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

commit 7b86cf513e9f6bdf68e391f6df6f859eba05ba9c
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 14 14:34:36 2006 -0800

    Remove non-existent reference images from Makefile to avoid breaking distcheck target

 test/Makefile.am |    9 ---------
 1 files changed, 0 insertions(+), 9 deletions(-)

commit 0f7381b26eae74903754b4fb5c1220a8626df5f4
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 14 13:27:52 2006 -0800

    cairo-perf-diff: Run git-ls-tree from the correct directory
    
    Before this change, cairo-perf-diff would work correctly only
    if run from the top-level directory, (and if run from any other
    directory it would not pull in the latest boilerplate and perf
    files).

 perf/cairo-perf-diff |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit f3f6ea3092072defb958ee3a6b2271cb51b4a4ca
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Nov 14 17:58:09 2006 -0500

    Fix typo.

 src/cairo-traps.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 29b01f93ca9b29699420700ea9e2817898afa3ca
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Nov 11 10:43:11 2006 -0800

    Make miter join code use tessellate_convex_quad rather than tessellate_polygon
    
    This provides an additional 22-29% speedup on top of the previous
    fix for stroking paths with many miter joins:
    
    image-rgba  world_map-800  459.73 0.27% -> 356.80 0.32%:  1.29x speedup
    ▎
    image-rgb   world_map-800  458.83 0.37% -> 358.08 0.41%:  1.28x speedup
    ▎
     xlib-rgba  world_map-800  566.57 0.23% -> 463.84 0.31%:  1.22x speedup
    ▎
     xlib-rgb   world_map-800  562.31 0.64% -> 460.51 0.83%:  1.22x speedup
    ▎

 src/cairo-path-stroke.c |   20 +++++++-------------
 1 files changed, 7 insertions(+), 13 deletions(-)

commit 3d53f623faed4aed2517e207d77a6da7e3b74fbd
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Nov 10 12:56:32 2006 -0800

    Make _cairo_stroker_add_sub_edge use tessellate_convex_quad rather than tessellate_polygon
    
    This gives a 17-20% speedup for stroking polygons with many
    straight line segments as seen in the world_map test case:
    
    Speedups
    ========
    image-rgba  world_map-800  555.41 0.17% -> 460.69 0.20%:  1.21x speedup
    ▎
    image-rgb   world_map-800  554.91 0.25% -> 460.73 0.26%:  1.20x speedup
    ▎
     xlib-rgb   world_map-800  669.85 3.70% -> 570.31 0.24%:  1.17x speedup
    ▏
     xlib-rgba  world_map-800  663.71 0.46% -> 567.74 0.19%:  1.17x speedup
    ▏

 src/cairo-path-stroke.c |   31 ++++++-------------------------
 1 files changed, 6 insertions(+), 25 deletions(-)

commit fefa7d9b993b1fc0759cfe1f8faff8dec9dc5c85
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Nov 10 12:53:33 2006 -0800

    Rewrite tessellate_rectangle as tessellate_convex_quad to make it more useful
    
    Currently there aren't even any users of this code, (they had
    stopped using it when they realized what they really wanted
    was tessellate_convex_quad).

 src/cairo-traps.c |  127 ++++++++++++++++++++++++++++++++++++++++++++++-------
 src/cairoint.h    |    2 +-
 2 files changed, 112 insertions(+), 17 deletions(-)

commit e324bbcbc6ca86a714aa91fe5cd010a4ce4f1753
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Nov 10 12:37:01 2006 -0800

    Add a status field to cairo_traps_t to enable less error checking

 src/cairo-traps.c |  148 +++++++++++++++++++++++------------------------------
 src/cairoint.h    |    2 +
 2 files changed, 67 insertions(+), 83 deletions(-)

commit 74f5fe241e6ce424a7d56a0ae48ddad202b82248
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Nov 13 14:44:07 2006 -0800

    cairo-perf-diff: rsync only git-managed files from boilerplate/perf
    
    Previously, we were using rsync to recursively copy all files
    from boilerplate and perf when doing the performance tests. This
    had the fatal flaw that pre-built binaries would be hard coded to
    link against the cairo library from $CAIRO_DIR with an absolute
    path, (due to libtool rpath stuff).
    
    By only copying git-managed files, we only get source and the compiled
    binaries (or libtool wrappers) will now be hard-coded to link against
    the library under test.

 perf/cairo-perf-diff |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

commit 2928f6eb5f5bd207f8f41a628ad95d6552aa8246
Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
Date:   Sun Nov 12 20:49:34 2006 +0100

    test/pixman-rotate.c: Don't issue a show_page, it's already done in cairo-test.c

 test/pixman-rotate.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit 4f02395267dc0cccef231e548a914329dce2831f
Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
Date:   Sun Nov 12 20:45:50 2006 +0100

    Use SVG multipage capability.

 test/fallback-resolution.c |   33 +++------------------------------
 1 files changed, 3 insertions(+), 30 deletions(-)

commit ad6d3a8369569cefde4984c0102cacf56b159cc7
Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
Date:   Sun Nov 12 20:45:10 2006 +0100

    Add SVGPrint support.
    
    It's only activated when svg version >= 1.2.
    Last page without a show page call is ignored if blank.

 src/cairo-svg-surface.c |  127 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 113 insertions(+), 14 deletions(-)

commit 26b74049e79a6137e8556e1b3e5c3aedd780abb0
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Nov 10 10:31:14 2006 -0800

    cairo-perf-diff: Use rsync instead of cp to avoid some unnecessary rebuilding

 perf/cairo-perf-diff |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit f1f189b81a24730b7c5b5761165ab30bb8310bca
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Nov 10 10:20:49 2006 -0800

    cairo-perf-diff: Separate old and new build directories
    
    With the fancy new, incremental cairo-perf-diff we don't want to keep
    resetting the same working tree back and forth between the old and new
    versions and rebuilding everything all over again. So use two different
    build directories instead of one.
    
    This fixes the rebuild of the library itself, but the perf stuff is still
    being rebuilt, (since it's being re-copied each time).

 perf/cairo-perf-diff |   19 ++++++++++++-------
 1 files changed, 12 insertions(+), 7 deletions(-)

commit d9b697c46ceb4849436df162d0574b08856680bb
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Nov 10 10:04:01 2006 -0800

    cairo-perf-diff: Allow incremental refinement of performance results
    
    cairo-perf-diff now accepts a -f command-line option to force it to
    re-generate performance results even if something exists in the cache
    already. It also now uses raw mode and appends to the cached file
    rather than rewriting the results.
    
    Finally, it also now allows a -- option on the command line and passes
    all the subsequent command-line options to cairo-perf. This is handy for
    limiting cairo-perf to run only on a subset of the tests of interest.

 perf/cairo-perf-diff |   50 +++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 41 insertions(+), 9 deletions(-)

commit 439bf81e56955ea543a890d5e89622745598c8ea
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Nov 10 10:00:31 2006 -0800

    Fix broken size calculation for xrealloc
    
    Another one of those "untested code == broken code" situations.

 perf/cairo-perf-diff-files.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit f6b400a292759a7d603843afa6030ebb01349855
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 8 05:45:09 2006 -0800

    perf: Add world-map performance test case.
    
    The map for this test case was originally demonstrated as a
    performance problem in this mozilla bug report:
    
    	A very slow SVG file with <path>s
    	https://bugzilla.mozilla.org/show_bug.cgi?id=332413
    
    I obtained permission from the creator of the original file to
    include the data here, (see comments in world-map.h for details).

 perf/Makefile.am  |    2 +
 perf/cairo-perf.c |    1 +
 perf/cairo-perf.h |    1 +
 perf/world-map.c  |  107 +++++++++++++++++++++++++++++
 perf/world-map.h  |  196 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 307 insertions(+), 0 deletions(-)

commit 2d927eaefa1188d11c056a055321763faf43573e
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 8 05:40:17 2006 -0800

    perf/Makefile.am: Add missing zrusin-another.h file to list

 perf/Makefile.am |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 0d1340f7169920c901a0f6d6f8ecb4529e57ada4
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Nov 8 05:39:06 2006 -0800

    perf: Eliminate CAIRO_STATS_MIN_VALID_SAMPLES
    
    We don't need this at this deep level since callers can now
    implement this limiting manually since stats.iterations is
    now returned. Also, this was interfering with the -i option
    to cairo-perf anyway.

 perf/cairo-perf.c  |    7 ++-----
 perf/cairo-stats.c |    7 +------
 perf/cairo-stats.h |    9 +--------
 3 files changed, 4 insertions(+), 19 deletions(-)

commit 6d5df0e3e2e9804cede77cfd0d3659bd2d36a918
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 7 13:06:01 2006 -0800

    cairo-perf-diff-files: Add support for diffing "raw" files from "cairo-perf -r"

 perf/cairo-perf-diff-files.c |  161 +++++++++++++++++++++++++++++++++---------
 1 files changed, 128 insertions(+), 33 deletions(-)

commit d1e1192090c56b5fa0794faae319cfaa88fc1788
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 7 12:59:57 2006 -0800

    cairo-perf: Print ticks_per_ms value in raw mode so raw analysis tools can report times

 perf/cairo-perf.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)

commit 5393989272881f9128df3c4a3fc6bb2c08b06a1e
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 7 12:57:48 2006 -0800

    perf: Move statistics code into new cairo-stats.h for sharing

 perf/Makefile.am   |    6 ++-
 perf/cairo-perf.c  |  106 +++------------------------------------------------
 perf/cairo-perf.h  |    6 ++-
 perf/cairo-stats.c |  108 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 perf/cairo-stats.h |   51 ++++++++++++++++++++++++
 5 files changed, 174 insertions(+), 103 deletions(-)

commit 7673e3ac3fc36042efcbccc3836d8bc81bdb94b3
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 7 12:50:52 2006 -0800

    boilerplate: Add xrealloc function

 boilerplate/xmalloc.c |   12 ++++++++++++
 boilerplate/xmalloc.h |    3 +++
 2 files changed, 15 insertions(+), 0 deletions(-)

commit 1e4515c548bd2a1440c630d779a948e5b02890e9
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue Nov 7 13:15:28 2006 -0800

    [win32] implement EXTEND_REPEAT in composite when possible
    
    Optimizes EXTEND_REPEAT, especially when DDBs are in use through the
    use of PatBlt or manually expanding out the repeated blits (up to a
    limit).  Will still fall back to fallback code as necessary.

 src/cairo-win32-surface.c |  386 +++++++++++++++++++++++++++++++--------------
 1 files changed, 266 insertions(+), 120 deletions(-)

commit 6db219c3a16bbbe736653946ea5a4758656a9cd9
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Fri Nov 3 10:04:28 2006 -0800

    [win32] clean up win32_surface_composite
    
    Make sure that all operations are correct (the operations chosen
    are listed in cairo-win32-surface.c); in particular, deal with the extra
    byte present in FORMAT_RGB24 surfaces correctly.
    
    Also adds support for calling StretchDIBits to draw RGB24
    cairo_image_surfaces directly.

 src/Makefile.win32        |    3 +-
 src/cairo-win32-private.h |    5 +-
 src/cairo-win32-surface.c |  318 +++++++++++++++++++++++++++++----------------
 src/cairoint.h            |    5 +
 test/Makefile.win32       |    1 -
 5 files changed, 218 insertions(+), 114 deletions(-)

commit 3e002a474b64c83f8768ba8918209eca9d7599a3
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Fri Nov 3 09:47:31 2006 -0800

    [win32] Update pixman MMX code to work with MSVC
    
    Patch from Tor Lillqvist.

 pixman/src/Makefile.win32 |    3 +-
 pixman/src/fbmmx.c        |  187 +++++++++++++++++++++++++++-----------------
 pixman/src/fbpict.c       |   57 ++++++++++++++
 3 files changed, 174 insertions(+), 73 deletions(-)

commit fc87d4148131ce01f645aec12a5e1b6d6b55d337
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Nov 7 15:07:33 2006 -0500

    [configure] Err if a suitable pkg-config is not found

 configure.in |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit fc584e1fbb87752f6123fbc02c1c27e538dd13f0
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 7 01:42:21 2006 -0800

    Rewrite _cairo_matrix_transform_bounding_box to actually accept a box not a rectangle
    
    It turns out that all of the callers want a box anyway, so this
    simplfies the code in addition to being more honest to the name.
    
    (For those new to the convention, a "box" is an (x1,y2),(x2,y2)
    pair while a "rectangle" is an (x,y),(width,height) pair.)

 src/cairo-gstate.c  |    9 ++-------
 src/cairo-matrix.c  |   39 +++++++++++++++++----------------------
 src/cairo-pattern.c |   19 ++++++++-----------
 src/cairoint.h      |    4 ++--
 4 files changed, 29 insertions(+), 42 deletions(-)

commit 777eaf326a56bb3b2ec3e6408309336d2bf6754f
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 7 01:33:40 2006 -0800

    test/Makefile.am: Fix typo in EXTRA_DIST that was breaking distcheck

 test/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0564b5074c431c3e723d906769b5383eddae659d
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Nov 7 01:29:38 2006 -0800

    cairo-perf: Add command line options for test cases to run, listing tests, and new raw mode.

 perf/cairo-perf.c |  163 +++++++++++++++++++++++++++++++++++++++++++----------
 perf/cairo-perf.h |    7 ++
 2 files changed, 139 insertions(+), 31 deletions(-)

commit 49b72f004d4de50de86f7f350ce01aa5b48f35ae
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Nov 6 23:56:19 2006 -0800

    Add zrusin-another test cases (tessellate and fill).
    
    This new test case is the 0th polygon polygon from Zack Rusin's
    recent cairorender program as made avaialable here:
    
    	http://ktown.kde.org/~zrusin/examples/cairorender.tar.bz2
    
    This polygon contains about 1000 coordinates and looks like a
    hand-drawn version of the word another.

 perf/Makefile.am      |    3 +-
 perf/cairo-perf.c     |    1 +
 perf/cairo-perf.h     |    1 +
 perf/zrusin-another.h |  668 +++++++++++++++++++++++++++++++++++++++++++++++++
 perf/zrusin.c         |   90 +++++++
 5 files changed, 762 insertions(+), 1 deletions(-)

commit 52eb7134bd22c648a10e2b9b8c5d1409de309887
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Nov 3 15:32:57 2006 -0800

    cairo-perf-diff: Use two-part hash to avoid stale data when perf suite changes.
    
    The perf tree's sha1 is now in the cache file name, so that
    if the performance suite itself ever changes then new data
    will be generated rather than using stale stuff from the cache.
    
    Also, we now use the src tree's sha1 rather than the commit's
    so that commits that don't change the src directory are also
    treated as identical, (which they really should be as far as
    performance of the library itself is concerned).

 perf/cairo-perf-diff |   18 +++++++++++++++---
 perf/cairo-perf.c    |    2 +-
 2 files changed, 16 insertions(+), 4 deletions(-)

commit e760d0927ee5b732392284fc19fda225f137f909
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Nov 3 14:58:30 2006 -0800

    Don't rely on NQUARTZ or OS2 surface types unless they exist.
    
    This allows the cairo-perf stuff to build on older checkouts,
    (such as 1.2.4), so that we can usefully do things like:
    
    	cairo-perf-diff 1.2.4 HEAD

 perf/cairo-perf.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 4cd50965a1935bf934f39f9e35b7d1a055ae7e16
Author: Dan Amelang <dan@amelang.net>
Date:   Sun Oct 29 21:31:23 2006 -0800

    Change _cairo_fixed_from_double to use the "magic number" technique
    
    See long thread here:
    http://lists.freedesktop.org/archives/cairo/2006-October/008285.html
    
    This patch provides a 3x performance improvement (on x86) for the
    conversion of floating-point to fixed-point values as measured by
    the recent pattern_create_radial performance test:
    
    image-rgba      pattern_create_radial-16     8.98 3.36% ->   2.97 1.03%:  3.38x speedup
    ██▍
    image-rgb       pattern_create_radial-16     8.94 3.21% ->   2.97 0.18%:  3.36x speedup
    ██▍
     xlib-rgb       pattern_create_radial-16     9.55 3.17% ->   3.64 0.51%:  2.93x speedup
    █▉
     xlib-rgba      pattern_create_radial-16     9.63 3.53% ->   3.69 0.66%:  2.91x speedup
    █▉

 src/cairo-fixed.c |   48 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 47 insertions(+), 1 deletions(-)

commit 5376e474255b80d084dd250cab6ea5c14220a3f3
Author: Dan Amelang <dan@amelang.net>
Date:   Sun Oct 29 21:30:08 2006 -0800

    Add autoconf macro AX_C_FLOAT_WORDS_BIGENDIAN
    
    The symbol that this macro defines (FLOAT_WORDS_BIGENDIAN) can be used
    to make double arithmetic tricks portable.

 acinclude.m4 |   65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 configure.in |    1 +
 2 files changed, 66 insertions(+), 0 deletions(-)

commit 941b517024c79dfd157337565477b0a440924702
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Nov 3 13:26:48 2006 -0800

    cairo-perf-diff: Build and run latest cairo-perf program rather than whatever was in the old checkout

 perf/cairo-perf-diff |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit e2ede57fbb8d729f066bc592e33bae23a11fa4d9
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Nov 3 12:40:09 2006 -0800

    cairo-perf-diff: Fix to still function if run from the top-level directory containing .git

 perf/cairo-perf-diff |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 8e74f9f945f4a498ec64930ddd46cc89129812bc
Author: Jinghua Luo <sunmoon1997@gmail.com>
Date:   Mon Nov 6 12:21:25 2006 +0800

    glitz: fix a memory leak in _cairo_glitz_surface_composite_trapezoids.

 src/cairo-glitz-surface.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit e759959fd6a59d439fe5fe147326401619cb939b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Nov 2 21:15:41 2006 -0500

    [Makefile.am] Pass tag message to git-tag in release-publish
    
    (cherry picked from 7cac87c8041f63fac2e0a2f5a29e36ed80d8d51a commit)

 Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 91ffb36faa121ccfaa57d8857c239dd3a6bb3e95
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Nov 2 21:13:49 2006 -0500

    [Makefile.am] Minor fixes in release-publish output
    
    (cherry picked from 953332d128120e7c4f4197390984be11a80a368b commit)

 Makefile.am |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 16bc72feafac4f78552cd003680ae7133562b6f4
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Nov 2 17:16:52 2006 -0800

    Increment CAIRO_VERSION to 1.3.1 now that a 1.2.6 release exists

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 5500c59b9be9f7f32e8b3d0d9b5fa775e50fbe98
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Nov 2 12:27:17 2006 -0800

    Remove typo (mean vs median)
    
    This didn't end up making a difference in practice since the
    median is assigned again later on.

 perf/cairo-perf.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit b717e987776d60cbc37434f7c918ad438e29b1a4
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Nov 2 12:21:26 2006 -0800

    cairo-perf: Change outlier elimination and report minimum times.
    
    Instead of just discarding the worst 15% of the results, we now
    do IQR-based detection and elimination of outliers. Also, instead
    of reporting mean times we now report minimum and median times.
    We still do compute the mean and standard deviation for the
    detection of when results seem stable for early bailout. And we
    do still report the standard deviation.
    
    A statistician might complain that it looks funny to report the
    median and the standard deviation together, (instead of median
    and average absolute deviation from the median, say), but I liked
    the standard deviation since it is always larger, so it might
    ensure better separatation if we use it to determine when two
    sets of results are sufficiently different to be interesting.

 perf/cairo-perf-diff-files.c |   43 +++++++++----------
 perf/cairo-perf.c            |   92 +++++++++++++++++++++++++++++++++--------
 2 files changed, 94 insertions(+), 41 deletions(-)

commit d2d0d11bdefa012d65364b24477bb86c8475ca86
Author: Dan Amelang <dan@amelang.net>
Date:   Tue Oct 31 23:47:35 2006 -0800

    Add new perf test "pattern_create_radial"
    
    This test is really just for hammering the double to fixed-point conversion
    (in _cairo_fixed_from_double) that happens as doubles from API calls gets
    translated into internal cairo fixed-point numbers.

 perf/Makefile.am             |    1 +
 perf/cairo-perf.c            |    1 +
 perf/cairo-perf.h            |    1 +
 perf/pattern_create_radial.c |   98 ++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 101 insertions(+), 0 deletions(-)

commit a618fd2cf90575ac7695b614328f1123db86b372
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Oct 27 00:51:24 2006 -0700

    cairo-perf-diff: Simplify git usage and just run cairo-perf that gets built with cairo revision
    
    Many thanks to Josh Triplett for help with theses fixes:
    
    1. Simplify the usage of git to eliminate the fragile and nasty
       stuff we were doing previously, (such as manually symlinking
       things under .git rather than just using git-clone -s).
    
    2. Don't try running latest cairo-perf with LD_LIBRARY_PATH
       pointing to built cairo version. Apparently stupid libtool
       and its use of rpath is foiling us here. Instead just run
       whatever cairo-perf gets built as part of the source that
       gets checked out.
    
    This second point means that cairo-perf-diff won't yet be useful
    for comparing the performance of old cairo revisions that pre-date
    cairo-perf. I've since been reasing and we might be able to use
    --disable-rpath to the configure script to get what we want.

 perf/cairo-perf-diff |   22 ++++++----------------
 1 files changed, 6 insertions(+), 16 deletions(-)

commit 504ea250f7c052525cf28536c767d4f9f57e7cc9
Author: Jamey Sharp <jamey@minilop.net>
Date:   Sun Oct 29 13:48:14 2006 -0800

    XCB/perf: implement boilerplate_xcb_synchronize for fair performance tests.
    
    It sure was nice when some tests showed XCB to be 1300 times faster
    than Xlib though...

 boilerplate/cairo-boilerplate.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

commit bc983700c463671128822e2eb9f74cbe834a1c1b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Oct 29 14:49:06 2006 -0500

    [autogen.sh] Make sed script portable

 autogen.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 7442b4086667ed67d9086e817af3d3c081a2b6f1
Author: Jamey Sharp <jamey@minilop.net>
Date:   Sun Oct 29 11:18:09 2006 -0800

    perf: cairo-perf-diff-files.c should generate cairo-perf-diff-files
    
    ... rather than overwriting the new cairo-perf-diff script, which
    should (by the way) be included in dist tarballs.

 perf/Makefile.am |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit b0f5af3b473e5d58e0fc07a38948c83897e1b1fc
Author: Jamey Sharp <jamey@minilop.net>
Date:   Sun Oct 29 10:59:30 2006 -0800

    Add clip-push-group to .gitignore.

 test/.gitignore |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit a34ba73136a1b34c413eff78a44c28a6f1ba80f6
Author: Christian Biesinger <cbiesinger@web.de>
Date:   Fri Oct 27 23:50:57 2006 +0200

    [beos] Allow a pixel error of 1 for BeOS tests
    
    That allows us to delete the BeOS-specific reference images.

 boilerplate/cairo-boilerplate.c           |    9 ++++++---
 test/mask-beos-bitmap-argb32-ref.png      |  Bin 87641 -> 0 bytes
 test/mask-beos-bitmap-rgb24-ref.png       |  Bin 71028 -> 0 bytes
 test/mask-beos-rgb24-ref.png              |  Bin 71028 -> 0 bytes
 test/set-source-beos-bitmap-rgb24-ref.png |  Bin 124 -> 0 bytes
 test/set-source-beos-rgb24-ref.png        |  Bin 124 -> 0 bytes
 test/trap-clip-beos-bitmap-rgb24-ref.png  |  Bin 63088 -> 0 bytes
 test/trap-clip-beos-rgb24-ref.png         |  Bin 63088 -> 0 bytes
 8 files changed, 6 insertions(+), 3 deletions(-)

commit 2ec0237051cd4f756a8205cb9ecafc7bfe285a06
Author: Christian Biesinger <cbiesinger@web.de>
Date:   Fri Oct 27 23:47:15 2006 +0200

    [beos] make tests compile again

 boilerplate/cairo-test-beos.cpp |   44 +++++++++++++++++++++++++++++---------
 boilerplate/cairo-test-beos.h   |   16 ++++++++++---
 2 files changed, 45 insertions(+), 15 deletions(-)

commit e29aea745aa2c23ac9d60612813d5e415e1f8e57
Author: Christian Biesinger <cbiesinger@web.de>
Date:   Fri Oct 27 12:07:26 2006 +0200

    [win32] Add parentheses around & operator
    
    This fixes a GCC warning. Also, it fixes a bug: The precedence
    of & is not what you might expect.

 src/cairo-win32-surface.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 61bf9b009b47312c20d54198790542cd20fc5576
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Oct 26 15:52:21 2006 -0700

    Make xlib and xcb backends tolerant of single-bit errors in the test suite output.

 boilerplate/cairo-boilerplate.c |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

commit 05a259d49368fb128b99d99f3776f8783df9d4ed
Author: Christian Biesinger <cbiesinger@web.de>
Date:   Thu Oct 26 21:40:35 2006 +0200

    [beos] Fix build error
    
    Rename cairo_rectangle_fixed_t to cairo_rectangle_int16_t
    as needed per commit 746f66c3fce6de39ac9afa7be8bcf8f74c750e85.

 src/cairo-beos-surface.cpp |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

commit acac0c19667d2166e2a26b07445fa78640dc8a33
Author: Ian Osgood <iano@quirkster.com>
Date:   Thu Oct 26 09:56:13 2006 -0700

    don't squish tiny images in test/index.html

 test/make-html.pl |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit bd0f9919086f2978eb1df22cd5c1fffb7621d33f
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Fri Oct 27 00:00:24 2006 +0930

    Add OpenType/CFF Subsetting

 src/Makefile.am                         |    1 +
 src/cairo-cff-subset.c                  | 1452 +++++++++++++++++++++++++++++++
 src/cairo-pdf-surface.c                 |  107 +++
 src/cairo-scaled-font-subsets-private.h |   40 +
 src/cairo-truetype-subset-private.h     |    1 +
 5 files changed, 1601 insertions(+), 0 deletions(-)

commit e4c3da80806804574c99170b1df3cb92f6493283
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Oct 26 23:41:57 2006 +0930

    PS: Use xshow/yshow/xyshow for strings of glyphs
    
    Optimize show glyphs by looking for strings of glyphs from the same subset
    and use the xyshow operator to display. As a further optimization the xshow
    and yshow operators are used for displaying horizontal and vertical text.

 src/cairo-ps-surface.c |  149 +++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 121 insertions(+), 28 deletions(-)

commit e1ded5b1e042c8cefa7f136228d5a63a7bdf84b5
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Oct 25 21:40:08 2006 -0400

    [PDF] Set CTM before path construction
    
    The previous order is undefined according to the PDF spec.  The resulting PDF
    was being misrendered using OS X Preview viewer.  This was reported in this
    thread:
    
      http://lists.freedesktop.org/archives/cairo/2006-October/008271.html

 src/cairo-pdf-surface.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit a9f51c29733a5124e0d04d8dcc00d55ff3aeb05a
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 25 17:15:22 2006 -0700

    Add new cairo-perf-diff for finding the performance difference between any 2 revisions.
    
    The old cairo-perf-diff is now named cairo-perf-diff-files, but
    the new one calls out to it and can still be used in an identical
    way.
    
    The new cairo-perf-diff can also be used to see what the performance
    impact of a single commit is like so:
    
    	cairo-perf-diff HEAD
    
    or between two commits:
    
    	cairo-perf-diff 1.2.4 HEAD
    
    The script is careful to always run the latest cairo-perf program
    even when testing old versions of the library. Also, the output
    from any given performance run is cached so it gets less painful
    to run as the cache gets primed (the cache is in .perf next to
    .git).
    
    The script is still a bit fragile in spots. In particular it depends
    on cairo-perf being built in advance but doesn't do anythin to ensure
    that happens.

 perf/.gitignore              |    2 +-
 perf/Makefile.am             |    7 +-
 perf/cairo-perf-diff         |  106 +++++++++
 perf/cairo-perf-diff-files.c |  482 ++++++++++++++++++++++++++++++++++++++++++
 perf/cairo-perf-diff.c       |  482 ------------------------------------------
 5 files changed, 594 insertions(+), 485 deletions(-)

commit c7b9f84744cd3fe4a6c9dead1e128d91f9cfc3cb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Oct 25 16:07:15 2006 -0400

    Require automake 1.7 again
    
    We are not using the slash-in-SUBDIRS feature of automake 1.9 anymore, so bump
    required version down.

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit f85aca4c3ff02a38b83da48b618e420b79b29c37
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Oct 25 16:06:42 2006 -0400

    Make autogen.sh extract required versions from configure.in

 autogen.sh   |   42 ++++++++++++++++++++++++++----------------
 configure.in |   19 +++++++++++--------
 2 files changed, 37 insertions(+), 24 deletions(-)

commit 838ff68cd5d866ca373af95f43afe0219fdd6159
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Oct 25 15:44:03 2006 -0400

    [perf] Remove SUBDIRS=../boilerplate and add explicit dependencies
    
    This is quite like what I just did in test/.  We can now require an older
    version of automake as we used to.

 perf/Makefile.am |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

commit 02096f66f365c109ddf41432b9a818726d45cbae
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 25 12:51:35 2006 -0700

    Fix typo

 src/cairo-pdf-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 7955fe63cc6bdb3a525535c7f052ea354cc7497c
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 25 12:51:17 2006 -0700

    Fix offset/extent bug in ps output for repeating source surface patterns
    
    The bug was exposed by the recent addition of the paint-repeat test.
    The ps output was crashing various interpreters by using infinite
    extents for repeating patterns. Fixing that was easy enough, but
    the offset of the repeating pattern was still being lost. The fix
    for both involved imitating the style of emit_surface_pattern as
    it exists in cairo-pdf-surface.c, (though the details are quite
    different due to differences in the models of PS and PDF).

 src/cairo-ps-surface.c |   84 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 57 insertions(+), 27 deletions(-)

commit 76f816c765a19a4fcda0500b5495bb969d014958
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 25 10:44:53 2006 -0700

    test/paint-repeat: Use offset larger than source surface for better stress testing

 test/paint-repeat.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 06d3786b2c76e05939bff1065a57db3059ccbc95
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 25 10:43:19 2006 -0700

    Add new paint-repeat test
    
    I added this test originally to make it easier to debug
    some recent bugs, (the test suite did have some repeating
    in the checkered backgrounds, but with an offset of 0,
    and then also in trap clip with an offset larger than the
    surface itself). This test exercises repeating more directly.
    
    It also triggers a bug in the PostScript backend that I've
    not yet investigated. So the test does fail currently.

 test/.gitignore           |    1 +
 test/Makefile.am          |    2 +
 test/paint-repeat-ref.png |  Bin 0 -> 145 bytes
 test/paint-repeat.c       |   66 +++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 69 insertions(+), 0 deletions(-)

commit 7421e8af0ca3b5c80dd3c7b145c639196f6036a5
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Oct 25 15:28:36 2006 -0400

    [test] Make sure tests are not relinked unnecessarily
    
    What was causing it was making all tests depend on all, to make sure
    ../boilerplate is built first.  I'm not making all tests depend on
    ../boilerplate/libcairoboilerplate.la and ../src/libcairo.ls and added rules
    to build those (by changing dir and making them).

 test/Makefile.am |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)

commit 7e9aad228971a81783e09edfef58c5165a3c932e
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 25 10:32:37 2006 -0700

    Fix repeating source surface patterns with xlib backend.
    
    This broke with the clone_similar optimization in
    8d7a02ed58e06584eb09575e6ca11d0a81094ab6 The optimization added an
    interest rectangle to clone_similar, but with a repeating source
    pattern, the interest rectangle might not intersect the extents of the
    surface at all.
    
    The test suite caught this with the trap-clip case.
    
    The fix here is to clone the entire surface if the pattern has an
    extend mode of REPEAT.

 src/cairo-pattern.c |   54 ++++++++++++++++++++++++++++++++------------------
 src/cairoint.h      |   10 +++++++++
 2 files changed, 44 insertions(+), 20 deletions(-)

commit 804e5b58cd3a4032bfa1d0c8cccac92a70c3c635
Author: Jinghua Luo <sunmoon1997@gmail.com>
Date:   Wed Oct 25 13:29:06 2006 +0800

    glitz: further fix for clone_similar.
    
    Don't try to get pixels outside image extent. The failure number of
    tests cut down to 19 with this fix, not too bad;).

 src/cairo-glitz-surface.c |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

commit 69f740913d6841708831668ef2a3bf124f373031
Author: Ian Osgood <iano@quirkster.com>
Date:   Tue Oct 24 08:24:30 2006 -0700

    bug: wrong xcb_copy_area param order

 src/cairo-xcb-surface.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 8381e53cc741af73fddebe61d9a0b28a8329c18b
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Oct 23 20:44:29 2006 -0700

    8711: Fix transformed source surface patterns with xlib backend.
    
    This broke with the clone_similar optimization in
    	 8d7a02ed58e06584eb09575e6ca11d0a81094ab6
    The optimization added an interest rectangle to clone_similar,
    but the acquire_surface path was neglecting to transform its
    rectangle by the pattern matrix.
    
    The test suite did catch this, but apparently we were too
    distracted by the performance improvements to notice. Only
    backends other than image that implemented clone_similar
    would be affected by the bug, (which meant I only saw xlib
    failures in my testing).
    
    This fixes bug #8711

 src/cairo-pattern.c |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

commit 670b3ce2432154cc0611a31c5b5e37c8a3ddf1f5
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Oct 23 11:57:16 2006 -0700

    test: Update reference images due to previous change to _cairo_color_compute_shorts
    
    The previous change was in b62710d4f8602203d848daf2d444865b611fff09
    We just forgot to update the reference images at the time so there
    have been false failure results in the test suite until now.

 test/caps-joins-alpha-ref.png              |  Bin 2434 -> 2463 bytes
 test/fill-and-stroke-alpha-add-ref.png     |  Bin 588 -> 591 bytes
 test/fill-and-stroke-alpha-ref.png         |  Bin 532 -> 519 bytes
 test/linear-gradient-ref.png               |  Bin 1023 -> 1021 bytes
 test/mask-ref.png                          |  Bin 87890 -> 87899 bytes
 test/mask-rgb24-ref.png                    |  Bin 70978 -> 71010 bytes
 test/operator-source-ref.png               |  Bin 19726 -> 19763 bytes
 test/operator-source-rgb24-ref.png         |  Bin 14701 -> 14666 bytes
 test/paint-source-alpha-pdf-argb32-ref.png |  Bin 475 -> 471 bytes
 test/paint-source-alpha-ref.png            |  Bin 258 -> 256 bytes
 test/paint-with-alpha-ref.png              |  Bin 268 -> 256 bytes
 test/push-group-ref.png                    |  Bin 2996 -> 3005 bytes
 test/push-group-rgb24-ref.png              |  Bin 2840 -> 2849 bytes
 test/set-source-ref.png                    |  Bin 120 -> 120 bytes
 test/set-source.c                          |    4 +---
 test/trap-clip-ref.png                     |  Bin 71753 -> 71832 bytes
 16 files changed, 1 insertions(+), 3 deletions(-)

commit 9e4a48557ee42f13c427adfd7e097942ef315006
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Mon Oct 23 23:17:06 2006 +0930

    type1 fallback: ensure all functions perform correct status checking

 src/cairo-type1-fallback.c |   58 ++++++++++++++++++++++++++++---------------
 1 files changed, 38 insertions(+), 20 deletions(-)

commit bd5d7c1fb2331c487c934c20f6067455e0a4ca3d
Author: Christian Biesinger <cbiesinger@web.de>
Date:   Sun Oct 22 20:08:07 2006 +0200

    Don't return an uninitialized value if _cairo_output_stream_create fails

 src/cairo-type1-fallback.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 2313f69066152034ac977776bee88f0c77b76aca
Author: Christian Biesinger <cbiesinger@web.de>
Date:   Sun Oct 22 20:07:57 2006 +0200

    Fix prototype warning by including cairo-test-directfb.h

 boilerplate/cairo-test-directfb.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 153f2d1cad171eba7b63d6ceefea2a26ffd8b532
Author: Christian Biesinger <cbiesinger@web.de>
Date:   Sun Oct 22 20:07:25 2006 +0200

    Actually return a value from _cairo_type1_fallback_init_*

 src/cairo-type1-fallback.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit d6ebe07be214461b6d456ebdbdc5acfd432e0178
Author: Christian Biesinger <cbiesinger@web.de>
Date:   Sun Oct 22 12:47:43 2006 +0200

    Add missing ) in comment

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit f29a1920b0447be9e0fe21afc2d3a3d03fd097fc
Author: Jinghua Luo <sunmoon1997@gmail.com>
Date:   Sun Oct 22 12:31:40 2006 +0800

    glitz: my previous changes in _cairo_glitz_surface_create_similar is
    incorrect.

 src/cairo-glitz-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1a90d28c3f70d6347746779354713c3de515f3c4
Author: Ian Osgood <iano@quirkster.com>
Date:   Sat Oct 21 11:57:03 2006 -0700

    XCB: make create_internal match Xlib
    
    minus font options and buggy repeat
    plus some cleanup and removal of more Xlib diffs

 src/cairo-xcb-surface.c |  149 +++++++++++++++++++++--------------------------
 1 files changed, 66 insertions(+), 83 deletions(-)

commit 343d9ef030a6a15f779f12e13a03a9451d2fff8b
Author: Jinghua Luo <sunmoon1997@gmail.com>
Date:   Sat Oct 21 17:27:28 2006 +0800

    glitz: don't go fackback path for bitmap glyphs.
    
    Test case bitmap font still passes with changes and improves performance
     a lot.

 src/cairo-glitz-surface.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit 3b1d0d3519a7d0328f897927d3534f10750d30db
Author: Jinghua Luo <sunmoon1997@gmail.com>
Date:   Sat Oct 21 17:23:11 2006 +0800

    glitz: fix test case glyph-cache-pressure.
    
    Glitz backend need freeze glyph cache as xlib backend otherwise it'll
    crash, let's fix it now.

 src/cairo-glitz-surface.c |   47 ++++++++++++++------------------------------
 1 files changed, 15 insertions(+), 32 deletions(-)

commit f3c58350713b46c6e0e26a40898dc4da85e10279
Author: Jinghua Luo <sunmoon1997@gmail.com>
Date:   Sat Oct 21 17:18:51 2006 +0800

    glitz: fix for clone similar.
    
    This corrects mosts of changes in clone similar commit. But it's
    still a problem in _cairo_glitz_surface_set_image, it'll crash if
    source region is outside image extents.

 src/cairo-glitz-surface.c |   20 ++++++++++++--------
 1 files changed, 12 insertions(+), 8 deletions(-)

commit 2ef9c7d9e8fcd0bda138f2b1965b3b06491cae00
Author: Jinghua Luo <sunmoon1997@gmail.com>
Date:   Sat Oct 21 17:07:19 2006 +0800

    glitz: fix a crash in _cairo_glitz_surface_get_image.
    
    The previous changes in _cairo_glitz_surface_get_image causes test
    clip-fill-rule-pixel-aligned and clip-fill-rule fail with a pretty
    crash, this fix that.

 src/cairo-glitz-surface.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

commit a34a4a2bd745c07f0d6034acf066252ae55fbb81
Author: Ian Osgood <iano@quirkster.com>
Date:   Fri Oct 20 11:17:03 2006 -0700

    XCB: bring composite, trapezoids up-to-date with Xlib
    
    Categorize & recategorize
    Distinguish DO_COPYAREA and DO_XTILE
    Create trapezoid mask
    Fixup unbounded

 src/cairo-xcb-surface.c |  268 ++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 241 insertions(+), 27 deletions(-)

commit b1944e1672ee6faa034dba4d8cf730886c35e848
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Oct 19 15:48:13 2006 -0700

    Fix bug in _cairo_clip_init_deep_copy (fixes clip-push-group crash)
    
    Thanks to Miklós Erdélyi <erdelyim@gmail.com> for reporting
    the original problem and suggesting the fix.

 src/cairo-clip.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit f894ebf98022ecf5844cd50840e916d6ddbea0bf
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Oct 19 15:45:53 2006 -0700

    clip-push-group: Adjust test slightly to ensure mask-based clip is not anchored at the origin
    
    This should help us test if there's an offset problem in copying
    the mask-based clip during cairo_push_group.

 test/clip-push-group-ref.png |  Bin 200 -> 199 bytes
 test/clip-push-group.c       |    3 ++-
 2 files changed, 2 insertions(+), 1 deletions(-)

commit f880f5e57bc44c2c2e70a80f0df21ea89084cd8c
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Oct 19 15:43:02 2006 -0700

    test: Add clip-push-group to demonstrate crash in cairo_push_group
    
    The crash happens anytime mask-based clipping is in effect
    at the time of cairo_push_group. The crash was first reported
    here:
    	http://lists.freedesktop.org/archives/cairo/2006-August/007698.html

 test/Makefile.am             |    2 +
 test/clip-push-group-ref.png |  Bin 0 -> 200 bytes
 test/clip-push-group.c       |   74 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 76 insertions(+), 0 deletions(-)

commit 8d2f0367527cb23f5902db0526b69b7d83b97f9c
Author: Ian Osgood <iano@quirkster.com>
Date:   Thu Oct 19 13:42:04 2006 -0700

    XCB: implement subimage_copy fix
    
    Needs further testing and review.

 src/cairo-xcb-surface.c |   80 +++++++++++++++++++++++++++++++++++++---------
 1 files changed, 64 insertions(+), 16 deletions(-)

commit 8d7a02ed58e06584eb09575e6ca11d0a81094ab6
Author: Christopher (Monty) Montgomery <xiphmont@gmail.com>
Date:   Wed Oct 18 17:06:23 2006 -0700

    Add extents to clone_similar (fixing subimage_copy performance bug)
    
    This fixes a huge performance bug (entire image was being pushed to X
    server in order to copy a tiny piece of it). I see up to 50x improvement
    from subimage_copy (which was designed to expose this problem) but also
    a 5x improvement in some text performance cases.
    
     xlib-rgba              subimage_copy-512    3.93 2.46% ->   0.07 2.71%: 52.91x faster
    ███████████████████████████████████████████████████▉
     xlib-rgb               subimage_copy-512    4.03 1.97% ->   0.09 2.61%: 44.74x faster
    ███████████████████████████████████████████▊
     xlib-rgba              subimage_copy-256    1.02 2.25% ->   0.07 0.56%: 14.42x faster
    █████████████▍
     xlib-rgba        text_image_rgb_over-256   63.21 1.53% ->  11.87 2.17%:  5.33x faster
    ████▍
     xlib-rgba       text_image_rgba_over-256   62.31 0.72% ->  11.87 2.82%:  5.25x faster
    ████▎
     xlib-rgba     text_image_rgba_source-256   67.97 0.85% ->  16.48 2.23%:  4.13x faster
    ███▏
     xlib-rgba      text_image_rgb_source-256   68.82 0.55% ->  16.93 2.10%:  4.07x faster
    ███▏
     xlib-rgba              subimage_copy-128    0.19 1.72% ->   0.06 0.85%:  3.10x faster
    ██▏

 src/cairo-clip.c             |    7 ++++++-
 src/cairo-directfb-surface.c |   18 +++++++++++++-----
 src/cairo-glitz-surface.c    |   30 ++++++++++++++++++++++--------
 src/cairo-image-surface.c    |    4 ++++
 src/cairo-nquartz-surface.c  |    9 +++++++--
 src/cairo-pattern.c          |   38 ++++++++++++++++++++------------------
 src/cairo-surface.c          |   14 ++++++++++++--
 src/cairo-xcb-surface.c      |    9 +++++++++
 src/cairo-xlib-surface.c     |   18 ++++++++++++++----
 src/cairoint.h               |    8 ++++++++
 10 files changed, 115 insertions(+), 40 deletions(-)

commit 99e2e99a78e492196a76e76cb47e463223db3012
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 18 15:47:18 2006 -0700

    Use zero-size change bar for a speedup/slowdown of 1.0
    
    Also use speedup/slowdown rather than faster/slower in the output

 perf/cairo-perf-diff.c |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

commit 40e1c0246da1e79b70d4b89b7735e6fec329c56e
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 18 15:18:11 2006 -0700

    Add neglected reference images for infinite-join test

 test/.gitignore                      |    1 +
 test/Makefile.am                     |    2 ++
 test/infinite-join-ps-argb32-ref.png |  Bin 0 -> 220 bytes
 test/infinite-join-ref.png           |  Bin 0 -> 194 bytes
 4 files changed, 3 insertions(+), 0 deletions(-)

commit e21c155e73569f6533dd01bdd7ec62461e7f215f
Merge: a53eabf... 10cd23d...
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 18 15:03:04 2006 -0700

    Merge branch '8379' into cairo

commit 10cd23d51fbfc99d6e3e401440eebb56df3b3327
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 21 15:17:59 2006 -0700

    Fix infinite-join test case (bug #8379)
    
    The trick for this was to carefully ensure that the pen always has
    at least 4 vertices. There was a previous attempt at this in the
    code already but the test case had a combination of matrix and radius
    that resulted in a value that was just able to sneak past the previous
    check.

 src/cairo-pen.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit 5b7a7f39ad8b726e9ee582bcd10500a1e5b16554
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 18 15:01:58 2006 -0700

    test/infinite-join: Modify to draw something visible, and make the output a more reasonable size.
    
    The modification was performed with care to ensure that the bug
    is still exercised. Also, reference images are added.

 test/infinite-join.c |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

commit a53eabf0a505bcf01e52af1b47b194a482eddf51
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 18 12:14:38 2006 -0700

    Add cairo-perf-diff program for comparing two cairo-perf reports.

 perf/.gitignore        |    1 +
 perf/Makefile.am       |    6 +-
 perf/cairo-perf-diff.c |  478 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 483 insertions(+), 2 deletions(-)

commit 5c7798a646ecad59dfabac1f9afb96006470054e
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 18 12:10:00 2006 -0700

    perf: Print ticks as well as ms in output.
    
    The ticks value is a bit more reliable since it won't exhibit
    variation due to estimating the CPU frequency like the ms value
    will.

 perf/cairo-perf.c |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit bb3d4b2f88dca258389d7ca4cae51a5b64c0dfc9
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Oct 17 19:18:22 2006 -0700

    cairo-perf: Remove wasted whitespace in output. Squelch wanring.

 perf/cairo-perf.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit d8c23d5ed747fa216d8070accdb80d665033233b
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Oct 17 17:53:43 2006 -0700

    perf: Change minimum size of paint test to 256
    
    The paint tests at sizes less than 256 were just too fast to be
    significant.

 perf/cairo-perf.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c1f134fa13928f31c903d513920448b127749a4b
Merge: 968ceee... 157663e...
Author: Ian Osgood <iano@quirkster.com>
Date:   Wed Oct 18 08:15:47 2006 -0700

    Merge branch 'master' of git+ssh://iano@git.cairographics.org/git/cairo

commit 968ceeec1d2223e823ec56883bc00da512549ea5
Author: Ian Osgood <iano@quirkster.com>
Date:   Wed Oct 18 08:14:55 2006 -0700

    XCB: find_standard_format using wrong enumeration.
    
    Requires latest xcb/util/renderutil library from git.

 boilerplate/cairo-boilerplate.c |    8 ++++----
 src/cairo-xcb-surface.c         |   20 ++++++++++----------
 2 files changed, 14 insertions(+), 14 deletions(-)

commit 157663e1fdf120a71c6cc8222b88d2915a5a73eb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Oct 18 10:59:10 2006 -0400

    [configure.in] Require pkg-config 0.19. (#8686)

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e2a0c57c1fc20f3e2ee641273b5f059ca221d265
Author: Ian Osgood <iano@quirkster.com>
Date:   Tue Oct 17 08:09:29 2006 -0700

    XCB: glyph rendering support
    
    todo: get_font_options, testing

 src/cairo-xcb-surface.c |  926 ++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 885 insertions(+), 41 deletions(-)

commit 25353fdb57cd987fff01538be2c0fd27e7155879
Author: Jamey Sharp <jamey@minilop.net>
Date:   Mon Oct 16 11:44:08 2006 -0700

    XCB: Move slim_hidden_def to cairo-xcb-surface.c, not cairo-xcb-xrender.h.
    
    I didn't understand that the _def does not need to be public any more
    than the _proto does.

 src/cairo-xcb-surface.c |    1 +
 src/cairo-xcb-xrender.h |    1 -
 2 files changed, 1 insertions(+), 1 deletions(-)

commit aa017161a59bd643f3b369875ae3ba54e4a6c425
Author: Ian Osgood <iano@quirkster.com>
Date:   Thu Oct 12 20:17:22 2006 -0700

    Move XCB sections next to XLIB sections.

 configure.in    |   16 ++++++++--------
 src/Makefile.am |   14 +++++++-------
 2 files changed, 15 insertions(+), 15 deletions(-)

commit 8dabfc7ffe36649f85873043f8fc4f06714e5845
Author: Jamey Sharp <jamey@minilop.net>
Date:   Mon Oct 16 11:23:38 2006 -0700

    XCB: Add the have_clip_rects field to cairo_xcb_surface, to match the Xlib surface.
    
    Correction to my previous commit. *sigh*

 src/cairo-xcb-surface.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 7988f2cc6ac596de61ef4378df66cbafece5f747
Author: Ian Osgood <iano@quirkster.com>
Date:   Mon Oct 16 07:20:15 2006 -0700

    XCB: Remove unnecessary differences with the Xlib surface.

 src/cairo-xcb-surface.c |   84 ++++++++++++++++++++++++-----------------------
 1 files changed, 43 insertions(+), 41 deletions(-)

commit b62710d4f8602203d848daf2d444865b611fff09
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Aug 30 14:43:21 2006 -0700

    Bug #7497: Change _cairo_color_compute_shorts to not rely on any particular floating-point epsilon value.

 src/cairo-color.c |   24 ++++++++++++++++--------
 1 files changed, 16 insertions(+), 8 deletions(-)

commit 71037f3612da9d11431567c05c17807499ab1746
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Oct 16 09:07:40 2006 -0700

    Rename wait_for_rendering to syncrhonize
    
    We're not using this call both before and after rendering
    so the old name just didn't make sense anymore.

 boilerplate/cairo-boilerplate.c |    6 +++---
 boilerplate/cairo-boilerplate.h |    2 +-
 perf/cairo-perf.c               |    2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

commit 6c9508340620c5981393a3455304e774712ddc83
Author: Christian Biesinger <cbiesinger@web.de>
Date:   Mon Oct 16 17:51:41 2006 +0200

    Fix win32 build when pthreads are available
    
    _cairo_win32_initialize always needs a definition.

 src/cairo-win32-surface.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

commit 7d136864382f8b17e6c672892a00d4bb0ea3ed90
Author: Christian Biesinger <cbiesinger@web.de>
Date:   Mon Oct 16 17:27:23 2006 +0200

    [win32] Add missing void
    
    This fixes a GCC compile warning

 src/cairo-win32-private.h |    2 +-
 src/cairo-win32-surface.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

commit 445251cc79d87b73a2ccd7891f9a5a33b89927a4
Author: Jamey Sharp <jamey@minilop.net>
Date:   Sun Oct 15 17:23:58 2006 -0700

    [slim] hide cairo_version_string()
    
    Adrian's recent commits broke PLT hiding by calling cairo_version_string
    from inside cairo. Add slim_hidden_def and slim_hidden_proto for it.

 src/cairo.c    |    1 +
 src/cairoint.h |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

commit 830804c7aec0334953bdc6f4704da6d404fc030a
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Oct 15 23:11:30 2006 +0930

    PDF: Add cairo version to document info dictionary

 src/cairo-pdf-surface.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

commit 5aaa1988c7e27ed7acd002ee0fb8d344444b46dd
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Oct 15 23:11:01 2006 +0930

    PS: Add cairo version to PS header

 src/cairo-ps-surface.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 753763ff258760688ef5a594a204fa8f2be7e4a4
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Oct 15 23:09:35 2006 +0930

    Type1 subsetting: Don't put .notdef in Encoding when there are 256 glyphs
    
    Type1 subsetting adds the .notdef glyph to the subset because the Type 1
    spec requires that it be defined. However if the subset already has
    256 glyphs, this will cause the Encoding vector to have 257 entries
    which ghostscript does not like.

 src/cairo-type1-subset.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 216c759d463ca407e1baea4090c782074567cbe2
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Oct 15 23:07:38 2006 +0930

    Type 1 fallback fonts - use binary encoding in PDF files
    
    PDF files require that embedded Type 1 fonts have the encrypted
    portion of the font encoded in binary.

 src/cairo-pdf-surface.c                 |    2 +-
 src/cairo-ps-surface.c                  |    2 +-
 src/cairo-scaled-font-subsets-private.h |   32 +++++++++++++++++++++++----
 src/cairo-type1-fallback.c              |   36 +++++++++++++++++++++++++------
 4 files changed, 58 insertions(+), 14 deletions(-)

commit d1fb02b5b93c9a456411e9eb56f3ee136b33d9e7
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Oct 15 23:02:20 2006 +0930

    Correct an unsigned to signed conversion problem in truetype subsetting bbox

 src/cairo-truetype-subset.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 9ee0c15941b029ea3fb4fbf30e78bb917b7f8c66
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Sun Oct 15 22:48:43 2006 +0930

    cairo-type1-fallback.c: return correct error status

 src/cairo-type1-fallback.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit f7068de7f78890df9fbadba8b15d1c3b58166c2d
Author: Jamey Sharp <jamey@minilop.net>
Date:   Thu Oct 12 23:43:45 2006 -0700

    Update .gitignore in boilerplate and test.

 boilerplate/.gitignore |    1 +
 test/.gitignore        |    4 ++++
 2 files changed, 5 insertions(+), 0 deletions(-)

commit 2d30e58ccd14ae707afcc311f49e32fe6d6d4061
Author: Jamey Sharp <jamey@minilop.net>
Date:   Thu Oct 12 23:42:50 2006 -0700

    XCB: update cairo-boilerplate to test for an error connection rather than NULL.

 boilerplate/cairo-boilerplate.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 02e7b892bcb75a69eb28902e7f67e2e7778bfe7b
Merge: 151e29d... 648f4bc...
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Thu Oct 12 20:40:11 2006 -0700

    Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo

commit 151e29d8070986b9e60b4c70ebedb25e9fe71ab8
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Thu Oct 12 20:39:26 2006 -0700

    Fixed test to compile

 boilerplate/cairo-test-directfb.h |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 29f483326f127ec60e26801732da2486eb84b7ef
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Thu Oct 12 20:39:16 2006 -0700

    Fixed test to compile

 boilerplate/cairo-test-directfb.c |   75 +++++++++++++++++++++++--------------
 1 files changed, 47 insertions(+), 28 deletions(-)

commit e521562ebf9c827508b997acda2d4292014d6938
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Thu Oct 12 20:38:47 2006 -0700

    Fixed directfb test code

 boilerplate/cairo-boilerplate.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 648f4bc830ab7cc89ffa2ba03d2757d0979a5671
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Oct 12 15:12:01 2006 -0700

    perf: Make iterations adaptive (bailing as soon as std. deviation is <= 3% for 5 consecutive iterations
    
    This makes the entire performance test suite about 10 times faster
    on my system. And I don't think that the results are significantly
    worse, (many tests are stable after only 5 iterations while some
    still run to 100 iterations without reaching our stability criteria).

 perf/cairo-perf.c |   30 +++++++++++++++++++++++-------
 1 files changed, 23 insertions(+), 7 deletions(-)

commit 78ad834d81b1fb2a49150ce224a5f25b5190b5a4
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Oct 12 14:21:55 2006 -0700

    Fix typo of , instead of || which was causing a test to be ignored
    
    Thanks to a gcc warning for catching this one, (statement with
    no effect, or similar).

 test/pattern-getters.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 20375d5cef560e7277635a0bdba3872f31cb4479
Author: Jamey Sharp <jamey@minilop.net>
Date:   Wed Oct 11 22:20:27 2006 -0700

    XCB: add slim_hidden_proto and slim_hidden_def for cairo_xcb_surface_create_with_xrender_format.

 src/cairo-xcb-surface.c |    2 ++
 src/cairo-xcb-xrender.h |    1 +
 2 files changed, 3 insertions(+), 0 deletions(-)

commit 339fe5c7b0d694c547c27a6a98ef8448f1ff2e43
Author: Ian Osgood <iano@quirkster.com>
Date:   Wed Oct 11 21:32:32 2006 -0700

    Replace static fn with xcb-renderutil library fn.

 boilerplate/cairo-boilerplate.c |   99 ++-------------------------------------
 1 files changed, 5 insertions(+), 94 deletions(-)

commit 7d0ff885df7029f96568ac7fad3f15b002bec1b3
Author: Ian Osgood <iano@quirkster.com>
Date:   Sat Sep 30 13:23:06 2006 -0700

    Update XCB names for XCB 1.0 RC2 release.
    
    New names are in line with cairo naming standards.
    XIDs are now typedefs not structs.
    xcb_generate_id replaces *_new functions.
    Also fixed all warnings (one const, new enums in switch statements).

 boilerplate/cairo-boilerplate.c |   56 ++++----
 configure.in                    |    2 +-
 src/cairo-xcb-surface.c         |  303 ++++++++++++++++++++-------------------
 src/cairo-xcb-xrender.h         |   12 +-
 src/cairo-xcb.h                 |   14 +-
 5 files changed, 194 insertions(+), 193 deletions(-)

commit 38dcddd79ef95b04bf8d6ff8336cb997875df41b
Author: Christian Biesinger <cbiesinger@web.de>
Date:   Tue Oct 10 12:38:33 2006 -0700

    fix comment: pixman_private needs to be before the type of a variable
    
    Makes the documentation match the code.
    Compare also commit 34d11aa3c45ba672b34d0a17f672f907305f3893

 pixman/src/slim_internal.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit f6a2811c87def7b1bc70a2014d93df8feab2e2f4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Oct 8 17:07:17 2006 -0400

    [slim] hide cairo_glitz_surface_create() (#8551)

 src/Makefile.am           |    2 +-
 src/cairo-glitz-private.h |   41 +++++++++++++++++++++++++++++++++++++++++
 src/cairo-glitz-surface.c |    2 ++
 3 files changed, 44 insertions(+), 1 deletions(-)

commit a13d58ff3af5ed85313b5af651c1d69f5e38fa06
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Oct 8 17:06:44 2006 -0400

    [slim] hide cairo_pattern_status() #8551

 src/cairo-pattern.c |    1 +
 src/cairoint.h      |    1 +
 2 files changed, 2 insertions(+), 0 deletions(-)

commit d7c2f7e2d74c7e383f6933b974066221bcc5faa5
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Oct 5 15:14:14 2006 -0700

    perf: Rename finalize to synchronize as it is used in both start() and stop() now

 perf/cairo-perf-posix.c |   20 ++++++++++----------
 perf/cairo-perf-win32.c |   20 ++++++++++----------
 perf/cairo-perf.c       |    4 ++--
 perf/cairo-perf.h       |    6 +++---
 4 files changed, 25 insertions(+), 25 deletions(-)

commit 8af5e14fd8056408bc46698b7186655ec8e60062
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Oct 5 15:07:52 2006 -0700

    perf: Do backend synchronization in cairo_perf_timer_start as well as cairo_perf_timer_stop

 perf/cairo-perf-posix.c |   20 +++++++++++---------
 perf/cairo-perf-win32.c |   12 +++++++-----
 2 files changed, 18 insertions(+), 14 deletions(-)

commit 5412343a77b7b336886ed763a3518ff4602f27aa
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Oct 5 12:13:48 2006 -0700

    perf: Add subimage_copy test to demonstrate performance bug found by monty

 perf/Makefile.am     |    1 +
 perf/cairo-perf.c    |    1 +
 perf/cairo-perf.h    |    1 +
 perf/subimage_copy.c |   71 ++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 74 insertions(+), 0 deletions(-)

commit 9285a1f7fe88db760b7cf49c87ac9be613f21630
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 18:35:16 2006 -0700

    perf: Add text test

 perf/Makefile.am  |    3 +-
 perf/cairo-perf.c |    1 +
 perf/cairo-perf.h |    1 +
 perf/text.c       |   61 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 65 insertions(+), 1 deletions(-)

commit f1db0135476a039ea43dfd67c56763b05aea2ec4
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 18:34:09 2006 -0700

    Fix typo that was resulting in device glyph_extents of INT16_MAX in some cases.

 src/cairo-scaled-font.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2041db91968c7c06cdb2e454f572c50d75144d29
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Oct 5 11:51:25 2006 -0400

    [Makefile.am] Pass srcdir down to the tests

 src/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit bda77f505c911aea8ce684cb22a1469d1b7a9049
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 16:35:20 2006 -0700

    perf: Bail if cairo_status returns non-success at the end of a test.

 perf/cairo-perf.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

commit d15b8f2d6e0b0c2279fb0b17368f1110396e4bf8
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 16:32:14 2006 -0700

    perf: Add linear and radial gradients to the coverage

 perf/cairo-perf-cover.c |   72 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 71 insertions(+), 1 deletions(-)

commit 933d84572849a7ad61aca2c381f11a572fa9e9b7
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 16:17:46 2006 -0700

    Shorten test names in output (drop unneeded _source and _surface)

 perf/cairo-perf-cover.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit fb61fe82d3b360f09f2984bd3ac7de6720f75662
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 16:16:03 2006 -0700

    perf: Add stroke and fill tests

 perf/Makefile.am  |    2 ++
 perf/cairo-perf.c |    8 +++++---
 perf/cairo-perf.h |    5 ++---
 perf/fill.c       |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
 perf/stroke.c     |   51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 109 insertions(+), 6 deletions(-)

commit d52256df7c0147c29246dfc930644b6bdbff3c3f
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 15:39:05 2006 -0700

    perf: Move iteration over sources and operators from paint to new cairo-perf-cover
    
    This will finally allow us to very easily add lots of other
    tests that will similarly involve iterating over the various
    sources and operators of interest.

 perf/Makefile.am        |    1 +
 perf/cairo-perf-cover.c |  166 +++++++++++++++++++++++++++++++++++++++++++++++
 perf/cairo-perf.c       |    9 ---
 perf/cairo-perf.h       |   13 ++++-
 perf/paint.c            |  133 +-------------------------------------
 5 files changed, 180 insertions(+), 142 deletions(-)

commit ad02773e9babe935250b810f8f9f490eb3d02a64
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 15:24:19 2006 -0700

    Remove unused variable

 src/cairo-gstate.c |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 783b69a8d33f913949247cc3ba018c35a4a83aa7
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 15:00:57 2006 -0700

    Rename the create_for_status pattern to create_in_error.

 src/cairo-path-data-private.h |    2 +-
 src/cairo-path-data.c         |    2 +-
 src/cairo-pattern.c           |    4 ++--
 src/cairo.c                   |    8 ++++----
 4 files changed, 8 insertions(+), 8 deletions(-)

commit 01502471e31aa28a910039a918ff2aec3810d3c1
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 14:58:06 2006 -0700

    Add new _cairo_pattern_create_for_status so that patterns properly propagate errors.
    
    In particular, many possible error values on a surface provided
    to cairo_pattern_create_for_surface were previously being swallowed
    and a nil pattern was returned that erroneously reported
    CAIRO_STATUS_NO_MEMORY.

 src/cairo-pattern.c |   52 +++++++++++++++-----------------------------------
 1 files changed, 16 insertions(+), 36 deletions(-)

commit c9c259903d03e35fe98781fc6fedf326c40c0c4c
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 15:23:36 2006 -0700

    Cast to squelch warning message

 src/cairo-pattern.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 4d2b54a271f722de9802ca68246ce6afba89f830
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 14:56:33 2006 -0700

    Fix cairo_image_surface_create to report INVALID_FORMAT errors.
    
    This adds a new nil cairo_image_surface to hold CAIRO_STATUS_INVALID_FORMAT.
    Previously the detected error was being lost and a nil surface was
    returned that erroneously reported CAIRO_STATUS_NO_MEMORY.

 src/cairo-image-surface.c |   52 +++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 50 insertions(+), 2 deletions(-)

commit 7d5fb687af2ec2da94a10200309fa362d694d23f
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 14:13:54 2006 -0700

    perf/paint: Test image surface as well as similar surface sources

 perf/cairo-perf.c |    4 +-
 perf/paint.c      |   85 ++++++++++++++++++++++++++++++++++++++--------------
 2 files changed, 64 insertions(+), 25 deletions(-)

commit 94759a14daac63d05e5399982be56e73abf552c4
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 13:54:39 2006 -0700

    perf/paint: Use loops for sources and operators rather than open coding.
    
    This looks a bit more complicated for now, but will
    scaled much better to provide complete coverage as
    we extend the cases covered.

 perf/paint.c |   73 ++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 54 insertions(+), 19 deletions(-)

commit 37bc39d82c8d2c2cd8b04ea554925102b4831856
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 13:35:27 2006 -0700

    perf/paint: Dramatically simplify now that we don't need one callback per run.
    
    This commit begins to show the benefits of the reorganization
    from the last few commits. Specifically, we don't need a callback
    for every run anymore, and now that the cairo_t* is available to
    the paint entry function and the size changes only on the outer
    loop, (rather than inside cairo_perf_run), there's no need for
    the ugly, static cache for the source surface.

 perf/paint.c |  146 +++++++++++++---------------------------------------------
 1 files changed, 33 insertions(+), 113 deletions(-)

commit d0aae4dbcf6d3ca67a4a7b364fba80f719af2ac1
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 13:23:50 2006 -0700

    perf: Make cairo_t* available to perf functions

 perf/README       |   27 +++++++++++++--------------
 perf/cairo-perf.c |    2 +-
 perf/cairo-perf.h |    2 +-
 perf/paint.c      |    2 +-
 perf/tessellate.c |    2 +-
 5 files changed, 17 insertions(+), 18 deletions(-)

commit 4406ab1b9e8a618aae4d709a370d4ace0e9897e9
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Oct 4 12:55:54 2006 -0700

    perf: Move the per-size loop from cairo_perf_run to main
    
    The motivation here is to have the cairo_t context available
    to the perf funcs before they call into cairo_perf_run, (so
    that they can do one-time setup of source etc. for several
    runs).

 perf/cairo-perf.c |   95 ++++++++++++++++++++++++++++-------------------------
 1 files changed, 50 insertions(+), 45 deletions(-)

commit 251bed86400f72a4ec90618d0d41566ab9969cfa
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Oct 3 17:27:27 2006 -0700

    perf/paint: Make all sizes use a consistent number of iterations
    
    This effectively reverts the change made in:
    
    	3c407aa80a43e1724e732482ada5ad6718fe33ae
    
    The justification is that we want to be able to see the
    trends of increasing the image size while keeping the test
    the same. But changing the number of iterations in a size-
    specific way interferes with that. Also, the standard deviation
    is almost always better this way, (though it now varies more
    by size).
    
    And as a bonus, the total time required to run the suite is now
    less.

 perf/paint.c |   19 +------------------
 1 files changed, 1 insertions(+), 18 deletions(-)

commit 1e0e2075090c181dcd9f431833a8a9c2665d763e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Oct 2 14:35:35 2006 -0400

    [check-headers.sh] Don't use '\>' regexp syntax

 src/check-headers.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 3b58d92f5a449e7d5edf39484465e2ce6acf4874
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Sep 29 17:47:01 2006 -0700

    Add missing 'Since: 1.4' tags to documentation of 'clip getter' functions.
    
    The following documented symbols were missing this tag:
    
    	cairo_clip_extents
    	cairo_copy_clip_rectangles
    	CAIRO_STATUS_INVALID_INDEX
    	cairo_rectangle_t
    	cairo_rectangle_list_t

 src/cairo.c |    4 ++++
 src/cairo.h |    6 +++++-
 2 files changed, 9 insertions(+), 1 deletions(-)

commit 9cacced88fa9dbaa53ff8dec6ff31c8e56c85f08
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Sep 29 17:44:34 2006 -0700

    Add documentation for cairo_rectangle_list_destroy

 src/cairo-clip.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

commit 34d11aa3c45ba672b34d0a17f672f907305f3893
Author: Alfred Peng <alfred.peng@sun.com>
Date:   Fri Sep 29 17:17:27 2006 -0700

    Use pixman_private consistently as prefix not suffix

 pixman/src/icint.h |    2 +-
 pixman/src/icrop.h |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

commit c1495742f76ce380aaa48389bc331723b7a3a141
Author: Alfred Peng <alfred.peng@sun.com>
Date:   Fri Sep 29 17:16:47 2006 -0700

    Add Sun Pro C definition of pixman_private

 pixman/src/slim_internal.h |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 28cc64aa20cd15f78109f4481bd1c08627c87e46
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Sep 29 17:08:53 2006 -0700

    Fix dependency of 'make doc' so that necessary header files are built first.

 Makefile.am |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit deef1a667536ec67ff1d7b42a1f8179e1eac4715
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Sep 29 16:59:27 2006 -0700

    Rename docs-publish target to doc-publish in order to be consistent with the doc target.

 Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e6575fb3c76ec2cda742e05c24958a7000d488dd
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Sep 29 16:58:51 2006 -0700

    Fix Makefile bug preventing 'make doc' from succeeding

 doc/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit beb778f482645650b129762a0a37400c12a04b32
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Sep 29 16:56:36 2006 -0700

    Use consistent wording to document cairo_in_fill, cairo_in_stroke, cairo_fill_extents, and cairo_stroke_extents.

 src/cairo.c |   32 ++++++++++++++++++++------------
 1 files changed, 20 insertions(+), 12 deletions(-)

commit 516ca57dd835da17fb6b43f00d1b1f37f25f49c4
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Sep 29 16:55:22 2006 -0700

    tmpl: obnoxious churn

 doc/public/tmpl/cairo-image.sgml   |    1 -
 doc/public/tmpl/cairo-status.sgml  |   48 ++++++++-------
 doc/public/tmpl/cairo-surface.sgml |  112 ++++++++++++++++++------------------
 3 files changed, 82 insertions(+), 79 deletions(-)

commit b99d41a0b075ec405d14ea8b6bbcaa50aa35e890
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Sep 29 16:46:39 2006 -0700

    Fix typo in documentation of cairo_in_fill (thanks to Jonathan Watt) and clarify a bit.

 src/cairo.c |   24 +++++++++++++++---------
 1 files changed, 15 insertions(+), 9 deletions(-)

commit 3c19a6413cf77d86d75501f531af08b13db1f411
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Sep 29 16:42:44 2006 -0700

    perf: Rework the suite to allow multiple performance tests to be defined in one file.

 perf/README       |   66 ++++++++++++++--------
 perf/cairo-perf.c |  159 +++++++++++++++++++++++++++++------------------------
 perf/cairo-perf.h |   23 ++++----
 perf/paint.c      |   32 +++++++---
 perf/tessellate.c |   22 +++++--
 5 files changed, 176 insertions(+), 126 deletions(-)

commit cd6b44e9c924d230c9647e63553198a947f53307
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Fri Sep 29 14:44:00 2006 -0700

    [test] Fix composite-integer-translate-over test
    
    This test wasn't translating by an integer, but instead by 5.5.  Fixed
    test and reference image.

 ...osite-integer-translate-over-pdf-argb32-ref.png |  Bin 12946 -> 0 bytes
 test/composite-integer-translate-over-ref.png      |  Bin 15397 -> 16385 bytes
 test/composite-integer-translate-over-svg-ref.png  |  Bin 15465 -> 0 bytes
 test/composite-integer-translate-over.c            |   27 ++++++++++++++++++-
 4 files changed, 25 insertions(+), 2 deletions(-)

commit b05400b5590ab0303ef5802ac4952633e2b14d18
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Thu Sep 28 14:58:49 2006 -0700

    [nquartz] Return correct values from operation setup function
    
    Leftovers from an old half-completed patch that was breaking the world.
    This fixes the world, or at least one tiny part of it.

 src/cairo-nquartz-surface.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

commit 17eeacfba844ea5f9592dff4621e6f721c27d6c5
Author: Robert O'Callahan <rocallahan@novell.com>
Date:   Mon Sep 25 16:24:33 2006 -0700

    Remove redundant call to _cairo_surface_get_extents
    
    We called it just above with the same parameters.

 src/cairo-surface-fallback.c |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

commit e4dc73ab1cafeb8dd77d3ee3dc92d9a92be69542
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Sep 25 16:16:35 2006 -0700

    Rename test from stale path-data name to copy-path

 test/Makefile.am                 |    6 +-
 test/copy-path-ps-argb32-ref.png |  Bin 0 -> 442 bytes
 test/copy-path-ref.png           |  Bin 0 -> 579 bytes
 test/copy-path.c                 |  234 ++++++++++++++++++++++++++++++++++++++
 test/path-data-ps-argb32-ref.png |  Bin 442 -> 0 bytes
 test/path-data-ref.png           |  Bin 579 -> 0 bytes
 test/path-data.c                 |  234 --------------------------------------
 7 files changed, 237 insertions(+), 237 deletions(-)

commit 5f833c134bd002853b9d1458b58350cfb1d40a94
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Sep 25 16:03:02 2006 -0700

    Fix cairo_copy_path and cairo_copy_path_flat to propagate errors.
    
    One of these functions was already documented to be doing this, and
    the other one should have been. Now the documentation and behavior
    for both are consistent, (and the path-data test case verifies this).

 src/cairo-path-data-private.h |    3 +++
 src/cairo-path-data.c         |   16 ++++++++++++++++
 src/cairo.c                   |   16 ++++++++++------
 test/path-data.c              |   28 +++++++++++++++++++++++++++-
 4 files changed, 56 insertions(+), 7 deletions(-)

commit f9165638bf485591abae52b759fba82caf048dc5
Author: Kristian Høgsberg <krh@redhat.com>
Date:   Tue Sep 26 17:33:29 2006 -0400

    Compute right index when looking up left side bearing.
    
    When looking up the short entries in the second part of
    the hmtx table, compute the size of the first part correctly.
    
    Fix from Adrian, see:
    
      https://bugs.freedesktop.org/show_bug.cgi?id=8180#c12

 src/cairo-truetype-subset.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

commit 7c3062240ac036c8091ee9f0acce0aa3ea9df8ea
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Sep 26 13:54:03 2006 -0400

    [configure] Print out whether SVG and PDF surfaces can be tested

 configure.in     |    8 ++++++--
 src/check-def.sh |    2 +-
 2 files changed, 7 insertions(+), 3 deletions(-)

commit 191e108b93ef6d39832e78323a18cc4c795c7ca3
Author: Robert O'Callahan <robert@ocallahan.org>
Date:   Mon Sep 25 23:22:45 2006 -0700

    Add clip getters API + tests
    
    Add new public API methods:
    
    void cairo_clip_extents (cairo_t *cr,                                               double *x1, double *y1,
        double *x2, double *y2);
    cairo_rectangle_list_t *cairo_copy_clip_rectangles (cairo_t *);
    void cairo_rectangle_list_destroy (cairo_rectangle_list_t *);
    
    Also add 'get-clip' and 'get-path-extents' tests.

 src/cairo-clip-private.h |    5 +
 src/cairo-clip.c         |  127 +++++++++++++++++++++-
 src/cairo-gstate.c       |   34 ++++++
 src/cairo.c              |   63 +++++++++++
 src/cairo.h              |   36 ++++++-
 src/cairoint.h           |   10 ++
 test/Makefile.am         |    2 +
 test/Makefile.win32      |    2 +
 test/get-clip.c          |  277 ++++++++++++++++++++++++++++++++++++++++++++++
 test/get-path-extents.c  |  199 +++++++++++++++++++++++++++++++++
 10 files changed, 753 insertions(+), 2 deletions(-)

commit a8ca155f83098c02fb8d3acc57b0492d5b753d54
Author: Robert O'Callahan <robert@ocallahan.org>
Date:   Mon Sep 25 23:16:54 2006 -0700

    Fix stroke/fill extents bounding boxes
    
    Correctly return the transformed bounding box for stroke/fill extents,
    instead of just transforming the two corners separately.

 src/cairo-gstate.c |   75 +++++++++++++++++++++++++++++++++------------------
 src/cairo.c        |   26 ++++++++++++++++++
 src/cairoint.h     |    6 ++++
 3 files changed, 80 insertions(+), 27 deletions(-)

commit 37fa632e59b7325041f689bf1a56e08d04379c96
Author: Robert O'Callahan <robert@ocallahan.org>
Date:   Mon Sep 25 23:14:43 2006 -0700

    Fix _cairo_matrix_transform_bounding_box to return tightness info
    
    Add return is_tight value to the internal function, indicating whether
    the transformed bounds still remain axis-aligned.

 src/cairo-matrix.c |   18 +++++++++++++++++-
 src/cairoint.h     |    3 ++-
 2 files changed, 19 insertions(+), 2 deletions(-)

commit de1915ffd2fe7f973529104a1041b33f2abfdfed
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Sep 25 10:44:08 2006 -0700

    ROADMAP: Add a couple of URLs for user-font API discussion

 ROADMAP |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit b146255fa45807a195fb3a7eb55d6c593bd1a5c9
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 21 15:30:23 2006 -0700

    ROADMAP: Add infinite-join bug (#8379) to the list for 1.4

 ROADMAP |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 5492a7c7618a747130b844a509fb79b886f1bc54
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 21 15:15:02 2006 -0700

    Add assert statement so the infinite-join test simply exits rather than looping infinitely.

 src/cairo-pen.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 8744929030ed8d42c271d9abb202975f62de166c
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 21 15:13:47 2006 -0700

    Add test case from bug #8379 demonstrating infinite loop during round join

 test/Makefile.am     |    1 +
 test/infinite-join.c |   73 ++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 74 insertions(+), 0 deletions(-)

commit 303b52919519854b9b5bbc38a9ac115e422dddad
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue Sep 19 12:17:34 2006 -0700

    dash and pattern getter functions
    
    Adds API functions for inspecting the current dash state, as well as
    the contents of pattern objects:
    
      cairo_get_dash
      cairo_get_dash_count
      cairo_pattern_get_rgba
      cairo_pattern_get_surface
      cairo_pattern_get_color_stop_rgba
      cairo_pattern_get_color_stop_count
      cairo_pattern_get_linear_points
      cairo_pattern_get_radial_circles

 src/cairo-pattern.c          |  238 +++++++++++++++++++++++++++++++++++++++++-
 src/cairo.c                  |   63 +++++++++++-
 src/cairo.h                  |   40 +++++++-
 test/Makefile.am             |    1 +
 test/Makefile.win32          |    1 +
 test/get-and-set.c           |   39 ++++++-
 test/pattern-getters-ref.png |  Bin 0 -> 107 bytes
 test/pattern-getters.c       |  175 +++++++++++++++++++++++++++++++
 8 files changed, 546 insertions(+), 11 deletions(-)

commit a56b962428c487d1c341f86e6719bad86374386c
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue Sep 19 12:10:12 2006 -0700

    Add win32 output files to gitignore

 boilerplate/.gitignore |    7 +++++++
 perf/.gitignore        |    7 +++++++
 pixman/src/.gitignore  |    3 +++
 src/.gitignore         |    7 +++++++
 test/.gitignore        |    6 ++++++
 5 files changed, 30 insertions(+), 0 deletions(-)

commit 8a9b99e596a93049abeb8bbbe502f895df72f678
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Thu Sep 14 12:59:31 2006 -0700

    [perf] Change perf output format, report times in ms, add a few paint tests
    
    This changes the perf test output format to be a little more human friendly,
    reporting times in ms instead of seconds.  It also adds a test number
    that could be used in the future for specifying an explicit test to run
    (test number, target surface, test name, and size uniquiely identify
    a test).
    
    Also adds a few paint tests.

 perf/Makefile.win32 |   16 +++++++
 perf/cairo-perf.c   |   45 +++++++++++++------
 perf/cairo-perf.h   |   13 +++++-
 perf/paint.c        |  118 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 4 files changed, 173 insertions(+), 19 deletions(-)

commit e42905b01bd5bab11008b7d6a78bc263ae2f9f5d
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Wed Sep 13 16:12:52 2006 -0700

    [win32,perf] Fix cairo-perf-win32
    
    Make cairo-perf work on win32

 perf/cairo-perf-win32.c |   14 +++++++++++++-
 1 files changed, 13 insertions(+), 1 deletions(-)

commit 82b710ebc214c46df6666ede486c0174b335bfdb
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Sep 19 10:13:36 2006 -0700

    Add missing pixman_private to _FbOnes when a function.
    
    This was thanks to a report from crucible (run #2113) since it tested
    with older versions of gcc (3.3.6) than most of the cairo developers
    use, (so we had been getting the _FbOnes macro not the function).

 pixman/src/icint.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 42a0c6bd59e41c22a88386b389af36f37418de82
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Sep 19 13:05:29 2006 -0400

    check-def.sh: Only allow _cairo_.*_test_.* symbols, not all _cairo.* ones

 src/check-def.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ae355453d849f870fc67cae0442db49548df0103
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Sep 18 13:32:41 2006 -0400

    cairo-nquartz.h: Add missing cairo_public decorators.

 src/cairo-nquartz.h |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 6c01b2ffb3c7a023f3932328b8067f4f5b83936c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Sep 18 13:32:19 2006 -0400

    cairo-directfb.h: Add missing cairo_public decorators

 src/cairo-directfb.h |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 7bb72f645325960e0bef4595ed7e9f1bb391796c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Sep 18 13:32:00 2006 -0400

    cairo-pdf.h: Add missing cairo_public decorators

 src/cairo-pdf.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 01f10fb27a675ff26bb0c0ca6748479215e6d6bd
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Sep 18 13:28:29 2006 -0400

    check-headers.sh:  Add a test for cairo_public decorators in public headers
    Test fails currently because of bug 8313 and similar issues.

 src/Makefile.am      |    2 +-
 src/check-headers.sh |   21 +++++++++++++++++++++
 2 files changed, 22 insertions(+), 1 deletions(-)

commit 38ed0eeb5bedb4af32bfc42b7f2b99b1805c8c17
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Sep 15 15:35:12 2006 -0400

    [ROADMAP] Add polling API

 ROADMAP |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit b9cbfba7d234c1cb66968d99cf527e1305febfea
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Sep 15 15:34:44 2006 -0400

    [ROADMAP] Check RGB16_565 deprecated

 ROADMAP |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2fd0ad948931f4be43c81d2c4c56d264605bd737
Author: Peter Weilbacher <pmw@schnurps.(none)>
Date:   Fri Sep 15 11:18:47 2006 +0200

    OS/2 build changes

 configure.in    |   18 ++++++++++++++++++
 src/Makefile.am |    8 ++++++++
 src/cairo.h     |    4 +++-
 src/cairoint.h  |   11 +++++++++++
 4 files changed, 40 insertions(+), 1 deletions(-)

commit 8c6baacefacbfb9e826d05ae253ead60d4e8e146
Author: Peter Weilbacher <pmw@schnurps.(none)>
Date:   Fri Sep 15 11:18:14 2006 +0200

    OS/2 backend files

 src/cairo-os2-private.h |   77 ++++
 src/cairo-os2-surface.c | 1135 +++++++++++++++++++++++++++++++++++++++++++++++
 src/cairo-os2.h         |  201 +++++++++
 3 files changed, 1413 insertions(+), 0 deletions(-)

commit edfceea853dd6ae189843f138478c7d43fb98367
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 13 15:25:07 2006 -0700

    Fix typo in error message (enhacement -> enhancement)

 src/cairo-image-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 3623da441a2b9dcec1effef71a41967ad5ff1363
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Wed Sep 13 14:48:40 2006 -0700

    [nquartz] Initial commit of native quartz surface
    
    Inital commit of Native Quartz surface.  The main missing functionality
    is mask() support (which is just a noop right now, except for the simple
    solid-alpha case).

 boilerplate/cairo-boilerplate.c |   44 +
 configure.in                    |    7 +
 src/Makefile.am                 |    8 +
 src/cairo-atsui-font.c          |  122 ++-
 src/cairo-nquartz-surface.c     | 1797 +++++++++++++++++++++++++++++++++++++++
 src/cairo-nquartz.h             |   80 ++
 src/cairo-quartz-private.h      |    9 +
 src/cairo.h                     |    3 +-
 8 files changed, 2037 insertions(+), 33 deletions(-)

commit f1bd0b9f9815ac838f30216d810bdd4eb2b67997
Author: Stuart Parmenter <pavlov@pavlov.net>
Date:   Tue Sep 12 16:27:40 2006 -0700

    [win32] correct win32 show_glyphs for non-y-aligned text
    
    Correctly calculate destination glyph coordinates for win32_show_glyphs.

 src/cairo-win32-font.c    |   16 ++++++++++++++++
 src/cairo-win32-surface.c |   27 ++++++++++++++++++++++-----
 src/cairo-win32.h         |    8 ++++++++
 3 files changed, 46 insertions(+), 5 deletions(-)

commit 016653812640cddcc51d0500d62c5c65b33bdd04
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Tue Sep 12 16:08:40 2006 -0700

    [win32] Support for DDBs, AlphaBlend fix
    
    Add support for the win32 surface using DDBs for similar surfaces and the
    like when the orignal surface is created from a DC, or when a DDB is
    explicitly created.  A DIB is still created if alpha is required.
    
    Also fixes a case where blitting win32 RGB24 -> ARGB32 surfaces was causing
    alpha to leak into the ARGB32 surface instead of being set to fully opaque.

 src/cairo-win32-private.h |   22 ++-
 src/cairo-win32-surface.c |  529 +++++++++++++++++++++++++++++++++++++--------
 src/cairo-win32.h         |    9 +
 3 files changed, 466 insertions(+), 94 deletions(-)

commit 924bbd06f35f55886f808a7a9d3ee08e479389ad
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Mon Sep 11 12:36:41 2006 -0700

    Check for valid path status value before calling _cairo_set_error
    
    cairo_status_t is a signed type, so we need to check for invalid codes
    that are < 0 as well.
    
    Also removes the MSVC goop in path-data.c that was attempting to work
    around the assert earlier.

 src/cairo.c      |    3 ++-
 test/path-data.c |   11 -----------
 2 files changed, 2 insertions(+), 12 deletions(-)

commit bcc13ede9b820dd640748d9dc2ec9d15130427be
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Sep 11 11:12:47 2006 -0700

    Move the REPLACED/DEPRECATED_BY macros from cairo.h to cairo-deprecated.h

 src/cairo-deprecated.h |   98 ++++++++++++++++++++++++++++++++++++++++++++++++
 src/cairo.h            |   86 ------------------------------------------
 2 files changed, 98 insertions(+), 86 deletions(-)

commit 79aed8c5fc82439f6724e8820ebcdaa585657574
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Sep 9 15:05:56 2006 -0700

    Deprecated CAIRO_FORMAT_RGB16_565. Add cairo-deprecated.h .

 src/Makefile.am           |    1 +
 src/cairo-deprecated.h    |   41 +++++++++++++++++++++++++++++++++++++++++
 src/cairo-image-surface.c |    5 -----
 src/cairo-xlib-surface.c  |    2 --
 src/cairo.h               |   17 +++++++----------
 5 files changed, 49 insertions(+), 17 deletions(-)

commit cb6aed0a816cc5f09bb5660d4961ca196243eb10
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Sep 9 20:17:08 2006 -0700

    perf: Make xlib testing wait for the X server to finish rendering.
    
    We do this by adding a new cairo_perf_timer_set_finalize function and
    in the case of the xlib backend passing a callback to that function
    that does a 1x1 XGetImage.

 boilerplate/cairo-boilerplate.c |   17 +++++++++++++++--
 boilerplate/cairo-boilerplate.h |    4 ++++
 perf/cairo-perf-posix.c         |   12 ++++++++++++
 perf/cairo-perf.c               |    1 +
 perf/cairo-perf.h               |    7 +++++++
 5 files changed, 39 insertions(+), 2 deletions(-)

commit e1a8a8b65a41691521d89fba7737c093dfdf7926
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Sat Sep 9 23:54:40 2006 -0700

    [win32] Set win32 assertion failure handlers for tests to stderr
    
    assert() will default to displaying a dialog box, which makes it hard
    to run tests automatically.  Set the reporting mode to only report
    to stderr in cairo_test(), and in path-data, since that triggers
    an early assert.

 test/cairo-test.c |    7 +++++++
 test/path-data.c  |   11 +++++++++++
 2 files changed, 18 insertions(+), 0 deletions(-)

commit 00d5a2ed48d999a29708d4750c034bbf1b91de12
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Sat Sep 9 23:29:17 2006 -0700

    [win32] Makefile.win32: use correct (/MD) runtime library flag everywhere
    
    There was a bad mix of LIBCMT (the static runtime lib) and MSVCRT (the dynamic
    one) before, because LIBCMT is the default.  This specifies /MD everywhere.

 Makefile.win32             |    3 ++-
 boilerplate/Makefile.win32 |    2 +-
 pixman/src/Makefile.win32  |    2 +-
 src/Makefile.win32         |    4 ++--
 test/Makefile.win32        |    6 ++----
 5 files changed, 8 insertions(+), 9 deletions(-)

commit d78fd375d3f99a5bb4a4799ce5d90a2a946a854c
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Sat Sep 9 22:18:47 2006 -0700

    [win32] Makefile.win32: fix test and add html targets
    
    Add html target to toplevel and test/ Makefile.win32

 Makefile.win32      |   13 ++++++++++++-
 test/Makefile.win32 |   10 ++++++++++
 2 files changed, 22 insertions(+), 1 deletions(-)

commit 5ab72579ef2a9fce1aedf3068825ccba683b6e79
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Sat Sep 9 19:52:48 2006 -0700

    Correctly acquire/release mutex in _cairo_scaled_font_map_destroy
    
    _cairo_scaled_font_map_destroy needs to both lock/unlock the mutex,
    not just unlock it.

 src/cairo-scaled-font.c |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

commit d3076a1843bc2f05bab0df913d0c27f125bea162
Merge: dfe3e20... 78b8555...
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Sat Sep 9 18:57:57 2006 -0700

    Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo into cairo-master

commit dfe3e20a4a44db71270dd50b2e4bac84ff97dbb8
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Sat Sep 9 18:56:58 2006 -0700

    [win32] Fix boilerplate for win32 surfaces to use new _with_dib function
    
    Create test surfaces for win32 using _with_dib instead of creating the
    dib locally; also test CONTENT_COLOR and CONTENT_COLOR_ALPHA.

 boilerplate/cairo-boilerplate.c |   46 +++++++++-----------------------------
 1 files changed, 11 insertions(+), 35 deletions(-)

commit 9735cb9a246627c9e4710c0f7d2955e3e0fbec69
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Sat Sep 9 18:55:46 2006 -0700

    Improve make-html.pl, add self-contained output format
    
    Setting CAIRO_TEST_SHOW_INLINE in the environment before running
    make-html.pl will generate a html file with all the logs and necessary
    images inlined as data URI's.

 test/make-html.pl |  100 +++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 81 insertions(+), 19 deletions(-)

commit 78b8555c9a7181ebee59a6fbdefe671d97dc9535
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Sep 9 17:31:49 2006 -0700

    perf: Don't skip COLOR tests

 perf/cairo-perf.c |    2 --
 1 files changed, 0 insertions(+), 2 deletions(-)

commit d3a5d90665f82dd7a58bc22ccede6f2c73d0f900
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Sep 9 17:31:19 2006 -0700

    boilerplate-xlib: New perf-specific surface creation for xlib backend.
    
    When testing the xlib backend do different things for TEST vs. PERF:
    
    TEST: Always use pixmap, call Xsynchronize.
    
    PERF: Use pixmap for COLOR_ALPHA and DefaultVisual window for COLOR.

 boilerplate/cairo-boilerplate.c |  137 ++++++++++++++++++++++++++++++---------
 1 files changed, 106 insertions(+), 31 deletions(-)

commit aeca64f6cdbf6af154a4fb8b19cb40ee0ecd0bd8
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Sep 9 16:40:58 2006 -0700

    boilerplate: Allow targets to distinguish between test and perf.
    
    Add a new cairo_boilerplate_mode_t so that the boilerplate targets can
    do slightly different things if being tested for correctness vs. being
    run for performance.

 boilerplate/cairo-boilerplate.c |  143 +++++++++++++++++++++------------------
 boilerplate/cairo-boilerplate.h |   16 +++--
 perf/cairo-perf.c               |    1 +
 test/cairo-test.c               |    1 +
 4 files changed, 91 insertions(+), 70 deletions(-)

commit 97f26c523590dcb208a7c0e4d00fd66f4ca58605
Merge: 0e59041... 416e945...
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Sat Sep 9 17:09:03 2006 -0700

    Merge branch 'master' of git+ssh://git.cairographics.org/git/cairo into cairo-master

commit 0e59041321e49e1eae330567e0c7d27e7d71699d
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Sat Sep 9 17:08:18 2006 -0700

    [win32] win32-specific Makefiles for building with MSVC
    
    This patch adds a bunch of makefiles for building cairo with Visual C++.
    gnu make is still required, and make must be run from a command prompt
    that has the Visual C++ paths set up, as well as has the cygwin environment
    in the path.  Run 'make -f Makefile.win32'.

 Makefile.win32             |   18 +++++++
 boilerplate/Makefile.win32 |   18 +++++++
 pixman/src/Makefile.win32  |   34 ++++++++++++++
 src/Makefile.win32         |  107 ++++++++++++++++++++++++++++++++++++++++++++
 test/Makefile.win32        |  102 +++++++++++++++++++++++++++++++++++++++++
 5 files changed, 279 insertions(+), 0 deletions(-)

commit 3c5a02c3edf300494cebfe746292b1eeeea08595
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Sat Sep 9 17:06:21 2006 -0700

    [win32] Misc win32 compilation fixes
    
    Fix win32/MSVC defines for snprintf, inline, and M_PI

 src/cairoint.h    |    5 +++++
 test/cairo-test.h |    6 ++++++
 2 files changed, 11 insertions(+), 0 deletions(-)

commit dbd0fa193c77a6cb112b4862c72c3a18209a755e
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Sat Sep 9 17:05:00 2006 -0700

    [win32] Make cairo as a win32 static library possible
    
    This adds a win32 initialization function that is called from all
    surface creation and font creation functions to ensure that the win32
    mutexes are initialized.

 src/cairo-win32-font.c    |   10 ++++++++++
 src/cairo-win32-private.h |    3 +++
 src/cairo-win32-surface.c |   29 ++++++++++++++++++++++++-----
 3 files changed, 37 insertions(+), 5 deletions(-)

commit 416e94532b1584b2ff23dd270c70ab900d55c326
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Sep 9 16:04:19 2006 -0700

    test/bitmap-font: Fix arguments to FcFreeTypeQuery to avoid warnings.

 test/bitmap-font.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit a37e6675333da8f0c5ebe4b8d199f74b8ec30b43
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Sep 9 16:03:41 2006 -0700

    Use unsigned consistently to avoid compiler warning.

 boilerplate/cairo-boilerplate.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 195fd5cde610377ffb34c98fed308b2e4d881cbc
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Sep 9 14:55:57 2006 -0700

    boilerplate: Rename cairo_test_target_t to cairo_boilerplate_target_t

 boilerplate/cairo-boilerplate.c |    4 ++--
 boilerplate/cairo-boilerplate.h |   18 +++++++++---------
 perf/cairo-perf.c               |   12 ++++++------
 test/cairo-test.c               |   28 ++++++++++++++--------------
 4 files changed, 31 insertions(+), 31 deletions(-)

commit 99360bd35d77e1a3f536e72f5729455580c980c2
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Sep 8 15:12:07 2006 -0400

    cairo_show_glphs: Mark glyphs argument as const.

 src/cairo-gstate.c |    2 +-
 src/cairo.c        |    2 +-
 src/cairo.h        |    2 +-
 src/cairoint.h     |    2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)

commit c475d2ca69fa8fbdf1c50f1d5d1b6b558b8fd6cd
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 7 17:46:21 2006 -0700

    Fix bitmap-font test failure by not generating a type1 font for a bitmap font.
    
    This was simply a matter of ensuring that the UNSUPPORTED
    return value was checked for and propagated all the way
    out of cairo-type1-fallback.c

 src/cairo-type1-fallback.c |   35 ++++++++++++++++++++++++-----------
 1 files changed, 24 insertions(+), 11 deletions(-)

commit f6bd76a4b26848fb5cc8e40e65f4393d3bd684ae
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 7 17:36:36 2006 -0700

    type1: Enforce pre-allocation usage and fail-proof behavior of charstring_encode functions
    
    These functions were previously returning a status value that
    was almost never being checked. Instead we now make these
    functions void and enforce a usage pattern that the destination
    array must be pre-grown to accomodate the results. This is
    verified with a couple of assert statements.
    
    The pre-allocation was already happening with all but one call.
    That call is now also fixed up.

 src/cairo-type1-fallback.c |   49 +++++++++++++++++++++++++++++++++++++------
 1 files changed, 42 insertions(+), 7 deletions(-)

commit 942cd2e026431bd5ae347c264fb3a0469eb53cf4
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 7 17:33:35 2006 -0700

    Add _cairo_array_size to allow querying the allocated size

 src/cairo-array.c |   12 ++++++++++++
 src/cairoint.h    |    3 +++
 2 files changed, 15 insertions(+), 0 deletions(-)

commit 8796b19b5d2e203f5f8724cef1d3ae8d2d02fc85
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 7 17:09:37 2006 -0700

    cairo-type1-fallback.c: Regularize some whitespace.

 src/cairo-type1-fallback.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

commit 8364251db55c2451eca9b8162aa32ae00f433251
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 7 17:07:54 2006 -0700

    cairo_type1_font_create: Fix missing NO_MEMORY check and cleanup style.

 src/cairo-type1-fallback.c |   42 +++++++++++++++++++++++++++---------------
 1 files changed, 27 insertions(+), 15 deletions(-)

commit 75ac7ee171d4bbe2b590e444bde9eb95138a2452
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 7 16:54:31 2006 -0700

    Remove font->status from cairo_type1_font_t
    
    This object doesn't act like a status-holding object, (there are no
    "if (status) return;" inertness-enforcing statements for example),
    so it shouldn't pretend like it is.

 src/cairo-type1-fallback.c |   76 ++++++++++++++++++++++----------------------
 1 files changed, 38 insertions(+), 38 deletions(-)

commit c28c33a5888bc1ec4ce2067a7215b7f74d4323d1
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 7 16:42:04 2006 -0700

    Check status value of output_stream object at time of destroy

 src/cairo-ps-surface.c     |    2 ++
 src/cairo-type1-fallback.c |    4 +++-
 2 files changed, 5 insertions(+), 1 deletions(-)

commit 179f7defdffb254936592a02208c338c13466253
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 7 16:10:40 2006 -0700

    Use new return value from _cairo_output_stream_destroy
    
    This is a little simpler than the old idiom of calling
    _cairo_output_stream_get_status just before calling
    _cairo_output_stream_destroy.
    
    I had hoped this technique would apply in more cases, but
    many cases want to separate the two actions anyway to do
    conditional assignment of the status value, (in order to
    not overwrite an earlier error value).

 src/cairo-pdf-surface.c |    3 +--
 src/cairo-svg-surface.c |    3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

commit 89e7d5d4208bd943c884d4261dc7484ac654132c
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 7 16:01:07 2006 -0700

    Make _cairo_output_stream_destroy return the stream's status as a last gasp.

 src/cairo-output-stream-private.h |   12 +++++++++---
 src/cairo-output-stream.c         |   26 ++++++++++++++++----------
 2 files changed, 25 insertions(+), 13 deletions(-)

commit 3a92ab69c89d227bdfbb1bd5d609b83a59fc013f
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Sep 7 13:09:25 2006 -0700

    test: Report details errors when image output files cannot be found.

 test/buffer-diff.c |   16 ++++++++++++----
 1 files changed, 12 insertions(+), 4 deletions(-)

commit d598cd8d61863ff91f505241a773595aec7e8445
Author: Nicholas Miell <nmiell@gmail.com>
Date:   Wed Sep 6 15:45:00 2006 -0700

    Fix the AMD64 final link by removing SLIM from pixman
    
    In order for SLIM's PLT indirection avoidance to work, everything in
    the library that makes internal function calls needs to see the
    relevant slim_hidden_proto() macro in addition to the function's
    prototype. However, external headers used by clients of the shared
    library should not use the SLIM macros at all.
    
    Pixman is a rather odd case -- it's mostly independent from cairo, so
    it has it's own public interface, but it's built as a part of cairo
    instead of its own shared library. This means that cairo would need to
    see all of pixman's slim_hidden_proto() macros in order to function
    and it doesn't currently, which results in a link failure on AMD64
    systems and on i386 systems (I think, I haven't actually verified
    this) it produces a shared object that isn't actally sharable.
    
    I have no idea why exactly the link failure only showed up as a result
    of commit e06246b9b1015eb89112f628d5820fcb350a7335. I think it has
    something to do with the pixman functions no longer having PLT entries
    at all, but the exact interaction isn't clear to me.
    
    However, all of these pixman functions aren't part of the cairo ABI
    (which is why they were marked pixman_private in the first place),
    which means that the SLIMification of pixman is largely pointless --
    they aren't externally visible, so they don't need PLT entries at
    all. Furthermore, while pixman may eventually be shared among cairo
    and X, I'm told that this sharing will be source-level only, which
    means it won't ever be an actual shared library and thus won't ever
    need SLIM at all.
    
    So, I just removed all use of SLIM in pixman (leaving behind
    slim_internal.h for the future edification of anyone who cares).This
    fixes the AMD64 link failure and passes the check-plt & check-def
    parts of make check.
    
    Signed-off-by: Nicholas Miell <nmiell@gmail.com>

 pixman/src/fbpict.c    |    1 -
 pixman/src/iccolor.c   |    1 -
 pixman/src/icformat.c  |    1 -
 pixman/src/icimage.c   |    4 ----
 pixman/src/icint.h     |   13 -------------
 pixman/src/icrect.c    |    1 -
 pixman/src/pixregion.c |    8 --------
 7 files changed, 0 insertions(+), 29 deletions(-)

commit 203d70a562ce3ffca51069aecda01a9f2bb61ff5
Author: Nicholas Miell <nmiell@gmail.com>
Date:   Wed Sep 6 14:43:44 2006 -0700

    Make the SLIM macros robust in the face of macro-renamed symbols
    
    This doesn't actually fix the AMD64 link failure, but it does make the
    foo/EXT_foo/INT_foo symbol names generated by the slim_hidden_proto()
    and slim_hidden_def() macros consistent in the face of the meddling of
    pixman-remap.h.
    
    Signed-off-by: Nicholas Miell <nmiell@gmail.com>

 pixman/src/slim_internal.h |    5 +++--
 src/cairoint.h             |    5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

commit 404e88ea6a08371280fb9fbc1f903e16ac868bf4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Sep 6 17:46:29 2006 -0400

    configure.in: Require automake version 1.9 here too

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 8a25471c2535206343e46ea90ac8875fed948363
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 6 14:19:32 2006 -0700

    autogen.sh: Require automake version 1.9
    
    This is the first version of automake to support a slash in SUBDIRS, (as
    used by the recent addition of cairo/boilerplate). Thanks to Frederic Peters
    for pointing this out (fixes bug #8152).

 autogen.sh |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit b5a64138bb9be97b96e6bf248c559e8d3c6d4ac1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Sep 6 16:39:18 2006 -0400

    [x86-64] check-plt.sh: match on JU?MP_SLO as on x86-64 "SLOT" is truncated

 src/check-plt.sh |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e25add77df1cc6c89ded371f7f63b36073cb1389
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Sep 6 13:58:31 2006 -0400

    Add

 boilerplate/.gitignore |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit cd1b6650648b5a688b4b6c2d696d9434c824a13f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Sep 6 13:54:12 2006 -0400

    Add scripts to sanity check the shared object for exported and PLT symbols
    
    src/check-def.sh checks that the list of symbols exported is the same as the
    list of symbols in cairo.def, ie. symbols in public header files. (except for
    symbols starting with _cairo)
    
    src/check-plt.sh checks that no PLT entries exist for local function calls.
    This makes sure we keep the 'slim' annotations uptodate.
    
    These two are defined as tests in src/ and will be run during "make distcheck".
    However, they are skipped if the commands 'nm' and 'readelf' are not found.
    (We don't really rely on any functionality of eu-readelf, so using readelf
    proper which should be more commonlly installed.)

 RELEASING        |   36 +++++++-----------------------------
 src/Makefile.am  |    3 +++
 src/check-def.sh |   31 +++++++++++++++++++++++++++++++
 src/check-plt.sh |   17 +++++++++++++++++
 4 files changed, 58 insertions(+), 29 deletions(-)

commit 3d398b1a214a4e30806773a5198db0dace061608
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Sep 6 13:49:53 2006 -0400

    [test/Makefile] Unset DIST_SUBDIRS

 test/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit c4d863afad7f45a0360c732b5b6d1c29064dc1f5
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Sep 6 13:49:27 2006 -0400

    [perf/Makefile] Unset DIST_SUBDIRS

 perf/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 6b377b62ac45b92e08e7dee2378d50d87f0ab410
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Sep 6 13:49:02 2006 -0400

    Update

 perf/.gitignore |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 94c361cd2a775a94a6e770ea81f6e81edf6165b4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Sep 6 13:47:37 2006 -0400

    [Makefile] Add perf to DIST_SUBDIRS

 Makefile.am |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 8c9ea020cab66c9f133571db2b56f96d4c28cdbd
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Sep 6 12:45:07 2006 -0400

    [Makefile] Fix typo

 boilerplate/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit a7844338da31785e8bc4261feaf4ea16adc6abdb
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 6 05:17:01 2006 -0700

    perf: Add tessellate test case (in -16, -64, and -256 varieties)

 perf/.gitignore   |    1 +
 perf/Makefile.am  |    3 +-
 perf/cairo-perf.c |    3 +
 perf/cairo-perf.h |    3 +
 perf/tessellate.c |  166 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 175 insertions(+), 1 deletions(-)

commit 221c02098f81d16b642693356afb1f4cf7fca5fd
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 6 05:09:19 2006 -0700

    perf: Allow CAIRO_TEST_TARGET to limit targets tested.
    
    Also, don't print the image size for a test if there is only one.

 perf/cairo-perf.c |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

commit b866069210e2a86ab54770b3c762c8f31b75a55e
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 6 05:07:08 2006 -0700

    perf: Handle 32-bit wraparound of performance counter

 perf/cairo-perf-posix.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit b64645c567182795b050f909673aea523ae6f505
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 6 03:32:07 2006 -0700

    perf: Fix cairo_perf_ticks_per_second to avoid wraparound

 perf/cairo-perf-posix.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d9082d59db90a4373ec52d932b87234e3c39b21b
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 6 01:37:13 2006 -0700

    Prefer CPU performance counters (if available) over gettimeofday.
    
    I've seen this improve the std. deviation often by a factor of 2
    and occasionally up to a factor of 10. It is sometimes not much
    better, but never seems to be appreciably worse compared to using
    gettimeofday.
    
    Thanks to David A. Schleef <ds@schleef.org> and his liboil for
    the implementation.

 perf/cairo-perf-posix.c |  124 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 116 insertions(+), 8 deletions(-)

commit 1085d99bc3c2f12ae37be0489deedac2475ab376
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 6 00:56:56 2006 -0700

    perf/README: Update due to cairo_perf_timer API changes

 perf/README |   18 ++++++------------
 1 files changed, 6 insertions(+), 12 deletions(-)

commit 3c407aa80a43e1724e732482ada5ad6718fe33ae
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 6 00:53:52 2006 -0700

    perf-paint: Spend more iterations on smaller sizes to balance testing.
    
    The values here are chosen to try to equalize the standard deviation
    of the various tests.

 perf/paint.c |   22 ++++++++++++++++++----
 1 files changed, 18 insertions(+), 4 deletions(-)

commit 3519887f1838a8ea67784eecec31feb9a37b4828
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 6 00:52:06 2006 -0700

    perf: Move sorting and discarding outside of compute_stats. Adjust discard to slowest 15% only.

 perf/cairo-perf.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

commit d31037e421e275cd1d6d1440d6b5bdb817f992bc
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Sep 6 00:15:49 2006 -0700

    perf: Report times not rates. Interface in integers not doubles.

 boilerplate/cairo-boilerplate.h |   31 +++++++++++++++++++++++++++++++
 perf/cairo-perf-posix.c         |   15 ++++++++++-----
 perf/cairo-perf-win32.c         |   12 ++++++++----
 perf/cairo-perf.c               |   23 ++++++++++++-----------
 perf/cairo-perf.h               |   12 +++++++++---
 perf/paint.c                    |    8 ++++----
 6 files changed, 74 insertions(+), 27 deletions(-)

commit 9d0d38e0a0307580ba69a96e239507cc9559cd99
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Sep 5 22:58:33 2006 -0700

    perf: Rename functions in line with cairo's naming guidelines

 perf/cairo-perf-posix.c |   24 ++++++++++++------------
 perf/cairo-perf-win32.c |   20 ++++++++++----------
 perf/cairo-perf.c       |    2 +-
 perf/cairo-perf.h       |   10 ++++------
 perf/paint.c            |    6 +++---
 5 files changed, 30 insertions(+), 32 deletions(-)

commit 9f51fcc888c4b036c535a6a4042ae8c6859f3261
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Sep 5 22:53:12 2006 -0700

    perf: Fold cairo-perf-timer.h into cairo-perf.h

 perf/Makefile.am              |    4 +-
 perf/cairo-perf-posix.c       |   74 +++++++++++++++++++++++++++++++++++++++++
 perf/cairo-perf-timer-posix.c |   74 -----------------------------------------
 perf/cairo-perf-timer-win32.c |   71 ---------------------------------------
 perf/cairo-perf-timer.h       |   51 ----------------------------
 perf/cairo-perf-win32.c       |   71 +++++++++++++++++++++++++++++++++++++++
 perf/cairo-perf.h             |   18 +++++++++-
 7 files changed, 164 insertions(+), 199 deletions(-)

commit 499a3a7c4772bb0f446f89a9c6e9430bd31c1218
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Sep 5 22:50:25 2006 -0700

    perf: Remove unused alarm functions

 perf/cairo-perf-timer-posix.c |   29 -----------------------------
 perf/cairo-perf-timer-win32.c |   20 --------------------
 perf/cairo-perf-timer.h       |   10 ----------
 perf/cairo-perf.c             |    2 --
 perf/cairo-perf.h             |    2 --
 5 files changed, 0 insertions(+), 63 deletions(-)

commit df8cc10073b0cacd198eda5a24f2b2f61a0a7085
Author: Benjamin Otte <in7y118@public.uni-hamburg.de>
Date:   Tue Sep 5 22:48:38 2006 -0700

    perf: Make cairo_perf_timer structure private. Make timer functions void.

 perf/cairo-perf-timer-posix.c |   22 +++++++++++++++-------
 perf/cairo-perf-timer-win32.c |   20 ++++++++++++++------
 perf/cairo-perf-timer.h       |   17 ++++-------------
 perf/paint.c                  |    7 +++----
 4 files changed, 36 insertions(+), 30 deletions(-)

commit 1bb6f9fb10dfdb59779ec159569ed6a44c4e8e5f
Author: Benjamin Otte <in7y118@public.uni-hamburg.de>
Date:   Tue Sep 5 22:36:56 2006 -0700

    perf: Add yield and fix double comparison
    
    - add a yield () function that's called before every test. It reduced the std
    dev slightly for me
    - fix double comparisons to not just compare the integer part

 perf/cairo-perf-timer-posix.c |   12 ++++++++++++
 perf/cairo-perf-timer-win32.c |    7 +++++++
 perf/cairo-perf-timer.h       |    5 +++++
 perf/cairo-perf.c             |   10 ++++++++--
 4 files changed, 32 insertions(+), 2 deletions(-)

commit bcb7863f00b4cfdf0985993067fc32d07b81540b
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Sep 5 22:25:21 2006 -0700

    Move target tolerance to cairo_test_target structure (should let single-pixel SVG errors pass)
    
    Previously we were setting the target tolerance based on the surface
    type. But that doesn't work as multiple backends will provide a surface
    of type meta. So instead we put the tolerance as a value in the
    cairo_test_target data structure.
    
    With this change, some single-pixel errors of 1 in the SVG backend
    should now be ignored.

 boilerplate/cairo-boilerplate.c |   68 +++++++++++++++++++++-----------------
 boilerplate/cairo-boilerplate.h |    1 +
 test/cairo-test.c               |   40 +----------------------
 3 files changed, 40 insertions(+), 69 deletions(-)

commit 4620b929ae84dfa08c1c9a4072e114f6b38e1bd9
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Sep 5 17:12:43 2006 -0700

    RELEASING: Add note on checking for local symbol PLT entries.

 RELEASING |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

commit 60c4add26abe6b624d7569f35fa846d529ccea18
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Sep 5 16:52:34 2006 -0700

    slim_hidden_proto: Move smeicolon from definition to use for consistency and legibility

 src/cairo-ft-private.h      |    6 +-
 src/cairo-xlib-private.h    |    2 +-
 src/cairoint.h              |  166 +++++++++++++++++++++---------------------
 src/test-fallback-surface.c |    2 +-
 4 files changed, 88 insertions(+), 88 deletions(-)

commit d7f08794ef194d0b86a749381472bfeb0a32d993
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Sep 5 16:48:49 2006 -0700

    Add many missing slim_hidden calls to bypass PLT entries for local use of public functions

 src/cairo-font-options.c    |    9 +++++
 src/cairo-font.c            |    2 +
 src/cairo-ft-font.c         |    3 ++
 src/cairo-ft-private.h      |    7 +++-
 src/cairo-image-surface.c   |    4 ++
 src/cairo-matrix.c          |    1 +
 src/cairo-pattern.c         |    8 ++++
 src/cairo-png.c             |    1 +
 src/cairo-scaled-font.c     |    9 +++++
 src/cairo-surface.c         |   10 +++++
 src/cairo-xlib-private.h    |    7 ++++
 src/cairo-xlib-surface.c    |    1 +
 src/cairo.c                 |   12 ++++++
 src/cairoint.h              |   84 +++++++++++++++++++++++++++++++++++-------
 src/test-fallback-surface.c |    3 ++
 15 files changed, 145 insertions(+), 16 deletions(-)

commit e06246b9b1015eb89112f628d5820fcb350a7335
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Sep 5 16:45:01 2006 -0700

    pixman: Add pixman_private decorations to hide pixman symbols from public interface

 pixman/src/fbmmx.h      |   21 +++++++++
 pixman/src/icimage.h    |    2 +-
 pixman/src/pixman.h     |  108 +++++++++++++++++++++++++----------------------
 pixman/src/renderedge.h |   10 ++--
 4 files changed, 85 insertions(+), 56 deletions(-)

commit d716020db272839717ff71d91534f3125029b47a
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Sep 5 15:57:47 2006 -0400

    Generate Type 1 fonts from glyph outlines
    
    This patch generates Type 1 fonts for the PS/PDF backends when TrueType
    or Type 1 subsetting fails. This has the advantage over the current
    Type 3 fallback of reduced font size and better quality rendering
    in some PDF viewers. xpdf shows a large improvement in text display
    quality with this patch.

 src/Makefile.am                         |    1 +
 src/cairo-pdf-surface.c                 |   93 +++--
 src/cairo-ps-surface.c                  |   32 ++
 src/cairo-scaled-font-subsets-private.h |   31 ++
 src/cairo-type1-fallback.c              |  682 +++++++++++++++++++++++++++++++
 5 files changed, 809 insertions(+), 30 deletions(-)

commit ad78eb7692f6d080430bceb7b358403f6e91a637
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Sep 5 14:53:33 2006 -0400

    Improve error checking in TrueType subsetting
    
    TrueType subsetting will SEGV when using OpenType fonts with CFF outlines.

 src/cairo-truetype-subset.c |   36 ++++++++++++++++++++++++------------
 1 files changed, 24 insertions(+), 12 deletions(-)

commit 49fa8d353b2926760fa92684546b2fc79985c782
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Sep 5 14:19:48 2006 -0400

    Correct the value of /LastChar in the PDF Type 1 font dictionary.

 src/cairo-pdf-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d81de15804f210afe9905a4163a5e34ff2be5b5b
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Tue Sep 5 14:19:26 2006 -0400

    Fix Type 1 embedding in PDF
    
    PDF Files with Type 1 fonts fail to open in any version of
    ghostscript prior to 8.54. The problem is the hex encoding of the
    encrypted portion of the font. The PDF reference says this should
    only be in binary.

 src/cairo-pdf-surface.c                 |    2 +-
 src/cairo-ps-surface.c                  |    2 +-
 src/cairo-scaled-font-subsets-private.h |    4 +++-
 src/cairo-type1-subset.c                |   11 ++++++-----
 4 files changed, 11 insertions(+), 8 deletions(-)

commit e5a9c2330867ae11befa8a966aa0a50c31c82a32
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Sep 2 19:51:54 2006 -0400

    [configure] Invalidate cached warning flags if list of flags changes
    
    such that one doesn't need to remove config.cache when when we add
    new warning flags to be checked.

 configure.in |   34 ++++++++++++++++++++++++----------
 1 files changed, 24 insertions(+), 10 deletions(-)

commit 7c97a787ebce4880d6b9fe47a13ad018ff2ecd31
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Sep 1 16:10:25 2006 -0700

    bug 8104: Eliminate unused variables. Replicate assert statement to identify branch of interest.

 src/cairo-ft-font.c |    9 ++-------
 1 files changed, 2 insertions(+), 7 deletions(-)

commit 0a1aef157ef6cfea8608e7d037583c29cb2da5fe
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 18:25:04 2006 -0700

    perf/README: Fix typo

 perf/README |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 91d55417053d3c0b615787432ff0a618e76f864f
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 18:11:25 2006 -0700

    perf: Add README file explaining how to add a new test

 perf/README |   92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 92 insertions(+), 0 deletions(-)

commit 2fa0228d63713f6274ca3228f236f1ee362ba11f
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 17:43:40 2006 -0700

    Two big improvements to bring the std. deviation down to where we want it.
    
    1. Remove all the alarm/signal code, which just isn't doing what we want for some reason.
       Instead, for now we'll simply run for a fixed number of iterations, (perhaps we
       can tune that per test later).
    
    2. Before computing mean and stdandard deviation of runs, sort them all and discard the
       top and bottom 20% of the values.
    
    Now the standard deviation for the paint test is generally 2% or less.

 perf/cairo-perf.c |   29 +++++++++++++++++++----------
 perf/cairo-perf.h |   30 ------------------------------
 perf/paint.c      |   12 +++++++-----
 3 files changed, 26 insertions(+), 45 deletions(-)

commit 6ae6d91c0c3a2f8fdff39c1c84fbef3aa45bf958
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 14:08:43 2006 -0700

    perf: Switch from alarm to setitimer for more fine-grained control of timers

 perf/cairo-perf-timer-posix.c |   17 +++++++++++++++--
 perf/cairo-perf-timer-win32.c |    2 +-
 perf/cairo-perf-timer.h       |    2 +-
 perf/cairo-perf.c             |    4 ++--
 perf/cairo-perf.h             |    2 +-
 5 files changed, 20 insertions(+), 7 deletions(-)

commit 2ebb9af4346c5e60d2497cfb9c5809d0c8045878
Author: Benjamin Otte <in7y118@public.uni-hamburg.de>
Date:   Thu Aug 31 13:30:10 2006 -0700

    boilerplate: Fix compilation for glitz.

 boilerplate/Makefile.am         |   14 ++++++++++++++
 boilerplate/cairo-boilerplate.c |    1 +
 test/Makefile.am                |   13 -------------
 3 files changed, 15 insertions(+), 13 deletions(-)

commit 19a5b8b9b53219dc8ae508a2fcd7b2ca617bc9b8
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 13:22:17 2006 -0700

    perf: Run for multiple iterations and print std. deviation

 perf/cairo-perf.c |   61 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 49 insertions(+), 12 deletions(-)

commit 689e9c446eb0ec69cb560fa44f4a1f6a0b28cb17
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 12:34:21 2006 -0700

    perf: Add indication of content to output

 perf/cairo-perf.c |   23 +++++++++++++++++++++--
 1 files changed, 21 insertions(+), 2 deletions(-)

commit 7917e1201fd38089111bb7723256747ae32347e0
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 11:53:16 2006 -0700

    perf: Fix typo in backend blackballing so that image tests now run

 perf/cairo-perf.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 0c741675e1d43168f42ee530486bfa4b8ec54920
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 11:51:28 2006 -0700

    Make perf interface return a rate. Start print target and test names.

 perf/cairo-perf.c |   18 ++++++++++++------
 perf/cairo-perf.h |    4 ++--
 perf/paint.c      |   12 ++++++------
 3 files changed, 20 insertions(+), 14 deletions(-)

commit fd13e874a778eeac4e2d358cc19b040aa20bcdf3
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 11:42:51 2006 -0700

    perf: Drop separate setup function from each test case.
    
    We are already doing loop measurement internally, so each function
    can already do any setup it needs without it affecting the measurement.

 perf/cairo-perf.c |    6 ++----
 perf/cairo-perf.h |    3 +--
 perf/paint.c      |   31 ++++++++++++++++++-------------
 3 files changed, 21 insertions(+), 19 deletions(-)

commit 578b74473de4c70f907db38eac6f8e9039d72aa1
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 11:31:21 2006 -0700

    perf: More consistency improvements for names.
    
    Rename bench_timer_t to cairo_perf_timer_t.
    Rename PERF_LOOP macros to CAIRO_PERF_LOOP
    Rename DECL_PERF_FUNC to CAIRO_PERF_DECL

 perf/cairo-perf-timer-posix.c |    6 +++---
 perf/cairo-perf-timer-win32.c |    6 +++---
 perf/cairo-perf-timer.h       |   17 ++++++++++++++---
 perf/cairo-perf.h             |   27 ++++++++-------------------
 perf/paint.c                  |    8 ++++----
 5 files changed, 32 insertions(+), 32 deletions(-)

commit cf75da4842ca1191719e9f100c6af901a14dda5c
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 11:25:04 2006 -0700

    perf: Rename timer-alarm files to cairo-perf-timer

 perf/Makefile.am              |   12 +++---
 perf/cairo-perf-timer-posix.c |   70 +++++++++++++++++++++++++++++++++++++
 perf/cairo-perf-timer-win32.c |   76 +++++++++++++++++++++++++++++++++++++++++
 perf/cairo-perf-timer.h       |   54 +++++++++++++++++++++++++++++
 perf/cairo-perf.h             |    2 +-
 perf/timer-alarm-posix.c      |   70 -------------------------------------
 perf/timer-alarm-win32.c      |   76 -----------------------------------------
 perf/timer-alarm.h            |   54 -----------------------------
 8 files changed, 207 insertions(+), 207 deletions(-)

commit 7ad6e941017e070bf7d93afba4de5c49cd1ff533
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 31 14:21:51 2006 -0400

    [test] Use FcFreeTypeQuery

 test/bitmap-font.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit 7f6e901a236ed267d396310fc56fa6bde697bfa2
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 11:19:48 2006 -0700

    perf: More simplification of PERF_LOOP macros.
    
    Here we drop both the start_timing and stop_timing functions,
    foliding their contents into main, PERF_LOOP_INIT and
    PERF_LOOP_FINI.

 perf/cairo-perf.c |   23 ++++-------------------
 perf/cairo-perf.h |   28 +++++++++++++---------------
 2 files changed, 17 insertions(+), 34 deletions(-)

commit b9f629d54239c43eef4746293bcffd58ada442f2
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 11:02:20 2006 -0700

    perf: Don't require a separate counter from the timer for perf loops.

 perf/cairo-perf.c        |   14 +++--------
 perf/cairo-perf.h        |   58 +++++++++++++++++++++++++++-------------------
 perf/paint.c             |    7 ++---
 perf/timer-alarm-posix.c |    4 +-
 perf/timer-alarm-win32.c |    6 ++--
 perf/timer-alarm.h       |   11 --------
 6 files changed, 46 insertions(+), 54 deletions(-)

commit 13bcba68ae6f0d29b82def09e7a6e356266dc2e7
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 10:39:24 2006 -0700

    perf: Collapse timing.[ch] down into cairo-perf.[ch]

 perf/Makefile.am         |    2 -
 perf/cairo-perf.c        |   40 +++++++++++++++++++++++----
 perf/cairo-perf.h        |   49 ++++++++++++++++++++++++++++-----
 perf/paint.c             |    1 -
 perf/timer-alarm-posix.c |    2 +-
 perf/timer-alarm-win32.c |    3 --
 perf/timing.c            |   56 -------------------------------------
 perf/timing.h            |   68 ----------------------------------------------
 8 files changed, 77 insertions(+), 144 deletions(-)

commit a60ed68daebc15e87ededbca80211508f624bcb6
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 10:33:24 2006 -0700

    perf: Remove unused util.c

 perf/util.c |  177 -----------------------------------------------------------
 1 files changed, 0 insertions(+), 177 deletions(-)

commit 739c4767673ace4f566d395d770924617ddebaff
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 10:27:20 2006 -0700

    Initial hookup of Vlad's timer/alarm code

 boilerplate/cairo-boilerplate.h |    1 +
 perf/Makefile.am                |    9 +++
 perf/cairo-bench.h              |  110 ---------------------------------------
 perf/cairo-perf.h               |    6 +--
 perf/paint.c                    |    9 +++-
 perf/timer-alarm-posix.c        |   70 +++++++++++++++++++++++++
 perf/timer-alarm-win32.c        |   79 ++++++++++++++++++++++++++++
 perf/timer-alarm.h              |   65 +++++++++++++++++++++++
 perf/timing.c                   |   56 ++++++++++++++++++++
 perf/timing.h                   |   68 ++++++++++++++++++++++++
 perf/util.c                     |   12 +++--
 11 files changed, 364 insertions(+), 121 deletions(-)

commit 3d279da6214d43de05eba4af381e451cec3cfd72
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Thu Aug 31 09:01:23 2006 -0700

    Add useful pieces from Vladimir's cairo-bench

 perf/cairo-bench.h |  110 ++++++++++++++++++++++++++++++++
 perf/util.c        |  175 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 285 insertions(+), 0 deletions(-)

commit 851dd63719d51f9b839784ba2761a1e2b2ecfbe5
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 31 13:18:37 2006 -0400

    [test] Use $(srcdir) to find valgrind supressions

 test/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2c16aa63044afe75c00518c2cb7e5ba6288e905a
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 08:53:58 2006 -0700

    perf: Don't measure meta-surface-backed surface types.

 boilerplate/cairo-boilerplate.h |    3 +++
 perf/.gitignore                 |    1 -
 perf/cairo-perf.c               |   37 +++++++++++++++++++++++++++++++++++++
 test/cairo-test.h               |    8 --------
 4 files changed, 40 insertions(+), 9 deletions(-)

commit 4915e0baa761f1179023f2ad5d5cd3dd6aeaba2f
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 08:36:29 2006 -0700

    boilerplate: Fix missing include of config.h which was preventing many backends from being tested

 boilerplate/cairo-boilerplate.c |   26 +++++++++++++++-----------
 boilerplate/cairo-boilerplate.h |    4 ++++
 test/cairo-test.c               |   15 ---------------
 3 files changed, 19 insertions(+), 26 deletions(-)

commit 8d834c3a34a17de0e03841501ea107dee7b373d0
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 08:35:39 2006 -0700

    Require librsvg >= 2.14.0 to test SVG backend

 configure.in |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)

commit e153c55dffca6b95a8ad9c731156a579f8979f42
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 07:19:05 2006 -0700

    perf: Add initial skeleton of performance monitoring suite

 Makefile.am       |    2 +
 configure.in      |    1 +
 perf/.gitignore   |    2 +
 perf/Makefile.am  |   26 +++++++++++++++++++
 perf/cairo-perf.c |   72 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 perf/cairo-perf.h |   45 +++++++++++++++++++++++++++++++++
 perf/paint.c      |   49 ++++++++++++++++++++++++++++++++++++
 7 files changed, 197 insertions(+), 0 deletions(-)

commit d1834cca192fe6f8e429be0461fab6914e04024d
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 04:01:10 2006 -0700

    test: Ignore single-bit errors for SVG backend.
    
    The interface of the various buffer/image_diff functions is improved to
    provide the maximum pixel difference in addition to the number of pixels
    that differ. This value can then be used to compare against a per-backend
    tolerance.
    
    Currently I've set the SVG backend's tolerance to 1 to handle some issues
    we're currently seeing of single-bit differences on different systems, (but
    we're not exactly sure why yet).
    
    Also I improved the image_diff routines to properly report a status value
    on failure rather than the bogus value of -1 for pixels_changed.

 Makefile.am         |    2 +-
 test/buffer-diff.c  |   96 ++++++++++++++++++++++++++++++++-------------------
 test/buffer-diff.h  |   63 +++++++++++++++++++++++++--------
 test/cairo-test.c   |   67 +++++++++++++++++++++++++++++++-----
 test/imagediff.c    |   19 +++++++---
 test/xlib-surface.c |   75 ++++++++++++++++++++++-----------------
 6 files changed, 222 insertions(+), 100 deletions(-)

commit d52a1f762d33f3ada919b581e0d62f8ba1c2314c
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 31 01:39:06 2006 -0700

    Move test-specific stuff out of boilerplate/ and back into test/
    
    This now gives us two separate libtool convenience libraries,
    so they have to have separate names now:
    libcairoboilerplate.la and libcairotest.la.

 boilerplate/Makefile.am   |   14 +-
 boilerplate/buffer-diff.c |  306 --------------------
 boilerplate/buffer-diff.h |   80 ------
 boilerplate/cairo-test.c  |  683 ---------------------------------------------
 boilerplate/cairo-test.h  |  136 ---------
 boilerplate/xmalloc.c     |    6 +-
 test/Makefile.am          |   13 +-
 test/buffer-diff.c        |  306 ++++++++++++++++++++
 test/buffer-diff.h        |   80 ++++++
 test/cairo-test.c         |  683 +++++++++++++++++++++++++++++++++++++++++++++
 test/cairo-test.h         |  136 +++++++++
 11 files changed, 1225 insertions(+), 1218 deletions(-)

commit 95475218858792ccb20ac6ad28db22e233c783d7
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Aug 30 23:41:48 2006 -0700

    boilerplate: Remove custom read/write-png code in favor of using cairo surfaces
    
    Also combine image_diff and image_diff_flattened into a single function

 boilerplate/Makefile.am         |    4 -
 boilerplate/buffer-diff.c       |  260 ++++++++++++++++-----------------------
 boilerplate/cairo-boilerplate.c |    2 +-
 boilerplate/cairo-boilerplate.h |   10 ++-
 boilerplate/cairo-test.c        |    2 -
 boilerplate/read-png.c          |  196 -----------------------------
 boilerplate/read-png.h          |   45 -------
 boilerplate/write-png.c         |   99 ---------------
 boilerplate/write-png.h         |   35 -----
 test/imagediff.c                |    2 -
 10 files changed, 119 insertions(+), 536 deletions(-)

commit 37ce7058906a9a8c7e80bf4ed59c17ec912087cf
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Aug 30 22:56:36 2006 -0700

    Separate the sharable stuff out of cairo-test.c into cairo-boilerplate.c

 boilerplate/Makefile.am         |    3 +-
 boilerplate/cairo-boilerplate.c | 1511 +++++++++++++++++++++++++++++++++++++++
 boilerplate/cairo-boilerplate.h |   80 ++
 boilerplate/cairo-test.c        | 1484 +--------------------------------------
 boilerplate/cairo-test.h        |   13 +-
 5 files changed, 1607 insertions(+), 1484 deletions(-)

commit a0ca4369ff71ca76e593ea8db3e728218814814d
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Aug 30 22:33:53 2006 -0700

    Add boilerplate/README explaining its purpose

 boilerplate/README |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

commit 5ef4c991f6ad00a37fc0645a38ba2cb9f832d9f1
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Aug 30 15:38:15 2006 -0700

    test: Add link to test log file in HTML output

 test/make-html.pl |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 7f4e83ceeba912167df05f62ddd0798b112979a3
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Aug 30 15:34:27 2006 -0700

    Split libcairotest files out from test/ and into boilerplate/
    
    The idea here is to setup boilerplate to allow code sharing between
    test/ and the upcoming perf/

 .gitignore                        |    5 +
 boilerplate/Makefile.am           |   35 +
 boilerplate/buffer-diff.c         |  348 ++++++
 boilerplate/buffer-diff.h         |   80 ++
 boilerplate/cairo-test-beos.cpp   |  236 ++++
 boilerplate/cairo-test-beos.h     |   26 +
 boilerplate/cairo-test-directfb.c |  123 +++
 boilerplate/cairo-test-directfb.h |   23 +
 boilerplate/cairo-test.c          | 2147 +++++++++++++++++++++++++++++++++++++
 boilerplate/cairo-test.h          |  143 +++
 boilerplate/read-png.c            |  196 ++++
 boilerplate/read-png.h            |   45 +
 boilerplate/write-png.c           |   99 ++
 boilerplate/write-png.h           |   35 +
 boilerplate/xmalloc.c             |   58 +
 boilerplate/xmalloc.h             |   37 +
 configure.in                      |    1 +
 test/Makefile.am                  |   33 +-
 test/buffer-diff.c                |  348 ------
 test/buffer-diff.h                |   80 --
 test/cairo-test-beos.cpp          |  236 ----
 test/cairo-test-beos.h            |   26 -
 test/cairo-test-directfb.c        |  123 ---
 test/cairo-test-directfb.h        |   23 -
 test/cairo-test.c                 | 2147 -------------------------------------
 test/cairo-test.h                 |  143 ---
 test/read-png.c                   |  196 ----
 test/read-png.h                   |   45 -
 test/write-png.c                  |   99 --
 test/write-png.h                  |   35 -
 test/xmalloc.c                    |   58 -
 test/xmalloc.h                    |   37 -
 32 files changed, 3642 insertions(+), 3624 deletions(-)

commit a5f068e10d72c20a55d20ca9f79508361d13fb80
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Aug 30 13:17:08 2006 -0400

    [test] Add 128 to any diff component such that differences are visible

 test/buffer-diff.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

commit 3252ad5ca630fe292babc061c01b8759ef49cde4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 28 22:44:15 2006 -0400

    [PNG] Mark status volatile to fix gcc warning

 src/cairo-png.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b6e5f2b0fef00352930dfcc47a13f330a13b1d68
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 28 22:30:38 2006 -0400

    [xlib] Bug 7593: rewrite loop to be more readable, and fix warnings
    
    Basically, it's evil to write a loop like:
    
        while ((c -= 4) > 0) {
            ...
        }
    
    for one reason that doesn't work if c is unsigned.  And when c is signed, if
    for some reason c is about -MAXINT, then it will overflow and not work as
    expected.
    
    It's much safer (and more gcc warning friendly) to rewrite it as:
    
        unsigned int c;
    
        while (c >= 4) {
            ...
            c -= 4;
        }

 src/cairo-xlib-surface.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 06a962886806be5e68061e24223c617980ac8248
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Aug 28 19:00:48 2006 -0700

    Eliminate conditions checking for unsigned or enum values less than 0.

 src/cairo-array.c       |    2 +-
 src/cairo-svg-surface.c |    4 ++--
 src/cairoint.h          |    3 +--
 3 files changed, 4 insertions(+), 5 deletions(-)

commit 7d1399a4bb0d8d74a4294700e6040accccefff2a
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Aug 28 18:58:27 2006 -0700

    Put static first to avoid compiler warning.

 src/cairo-type1-subset.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1b7ced6614d809262cca08e7c5141b7ce740bfca
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 28 18:47:37 2006 -0700

    Bug #7593: Avoid unsigned loop control variable to eliminate infinite, memory-scribbling loop.
    
    Behdad chased this bug down when looking into bug #7593. This
    bug is what finally motivated us to figure out how to get -Wextra
    (for the "always true" comparisons of unsigned variables against
    negative values).

 src/cairo-xlib-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 50003615f28862f68b609aa290ebffee24d5d643
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Aug 28 18:54:35 2006 -0700

    Add -Wextra (as well as -Wno-missing-field-initializers -Wno-unused-parameter)
    
    We'd been wanting some of the warnings in -Wextra for a long time,
    but we had failed in tryingto squelch some of the undesired warnings.
    We finally figured out how to do this correctly by simply ordering
    the warnings correctly.

 configure.in |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)

commit 5492946b0ced9b3e97f94ef097ee745c8a59df42
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Aug 23 12:29:49 2006 -0400

    [image] Print out cairo version in the unsupported-format message

 src/cairo-image-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 96c8f92883322a785fa9fa55de93b8eb56afab64
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 22 22:00:58 2006 -0400

    [test] bufferdiff: take abs of the pixel diffs.  Oops!

 test/buffer-diff.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 988b5dcb7e50d9e08ff94cb98f6d9c91915bb9b4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 21 23:27:17 2006 -0400

    [ROADMAP] Remove 1.2.4 stuff out of the way

 ROADMAP |   13 +------------
 1 files changed, 1 insertions(+), 12 deletions(-)

commit edf6f24e1b9673655f2b1c6e2060f9f2e46833e9
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 21 23:25:40 2006 -0400

    [TODO] Add cairo_get_scaled_font

 TODO |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 3d6aec7334881168277877e7d69514568d08c322
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 21 23:24:49 2006 -0400

    [ROADMAP] Add glyph cache inspection to 1.4 roadmap

 ROADMAP |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 782e3eb65b143a6e658eda69ba15da3ac432c711
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Mon Aug 21 12:52:56 2006 -0400

    Get correct unhinted outlines on win32.
    
    The documentation for GetGlyphOutline() states that outline returned is grid
    fitted and if an application requires an unmodified outline it can request an
    outline for a font whose size is equal to the font's em unit.
    
    This seems to suggest that the solution to this bug would be to obtain the
    unmodified outline data and scale it to the required size.
    
    https://bugs.freedesktop.org/show_bug.cgi?id=7603

 src/cairo-win32-font.c |   86 ++++++++++++++++++++++++++++++++++--------------
 1 files changed, 61 insertions(+), 25 deletions(-)

commit 6de226be0e879709c4068cb7836d485e75928287
Author: Yevgen Muntyan <muntyan@tamu.edu>
Date:   Mon Aug 21 03:52:40 2006 -0400

    Define WINVER if it's not defined. (bug 6456)

 src/cairoint.h |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 6ed1613b5175ea9c431fff2df2cd1cf2e2edbf93
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Aug 20 13:44:56 2006 -0400

    [Makefile.am] Remove unnecessary parantheses that were causing trouble with old bash
    Reported by Tor Lillqvist

 src/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 047251db4337583075f6888fceecfb0c383d658a
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 18:30:31 2006 -0700

    Increment version to 1.2.5 after making the 1.2.4 release

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 54755b2d9891981d813384bccde84998def96abf
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 18:19:10 2006 -0700

    Remove stray ] that was breaking RELEASE_OR_PUBLISH and many make targets (release-publish, etc.)

 Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit fadde879fbf8547aaa55e80d21611e7674cd5f8f
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 17:36:42 2006 -0700

    Update version to 1.2.4 and libtool version to 11:2:9.

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 43a25b818749d31268a60e2fcdaa11a73e41f7fd
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 17:35:33 2006 -0700

    NEWS: Add notes for the 1.2.4 release.

 NEWS |   68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 68 insertions(+), 0 deletions(-)

commit 790a359f89303875d58ff514d62ecff981836c86
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 16:46:57 2006 -0700

    EXTRA_DIST: Add missing source-clip-scale-svg-ref.png

 test/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit 4f5bb53032d6d0509ef86bcc152ce2b52be49d38
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 16:35:58 2006 -0700

    Ignore ChangeLog* in addition to ChangeLog

 .gitignore |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 2860af3ce230cde87cc4623d1eb4a920b71bc0d6
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 16:35:27 2006 -0700

    bitmap-font: Add missing pdf-specific reference image

 test/Makefile.am                    |    3 +--
 test/bitmap-font-pdf-argb32-ref.png |  Bin 0 -> 1064 bytes
 2 files changed, 1 insertions(+), 2 deletions(-)

commit b8b507c0920ddef35363ba1d75e4ba0ca141a028
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 16:12:43 2006 -0700

    Use &image->base as appropriate to avoid warnings.

 src/cairo-pdf-surface.c |    4 ++--
 src/cairo-ps-surface.c  |    4 ++--
 src/cairo-svg-surface.c |    6 +++---
 3 files changed, 7 insertions(+), 7 deletions(-)

commit 5f94275a4b667d8b1f41f87f1a6b84b3fa3f0616
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 16:09:53 2006 -0700

    Update .gitignore due to recent rename.

 test/.gitignore |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit d04b8148c2ccf714eb3f31855ca8b61d518423c6
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Aug 18 18:55:52 2006 -0400

    [TODO] Add some items from memory

 TODO |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

commit 33b62f47a451cb3ee70e7343976f5d1f06adb443
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 15:08:58 2006 -0700

    Move unscheduled features and bugs from ROADMAP to TODO

 ROADMAP |  101 +------------------------------------------
 TODO    |  146 +++++++++++++++++++++++++++++++++++++++++++--------------------
 2 files changed, 103 insertions(+), 144 deletions(-)

commit d1be19e1604f77a0a156bea6d40914aa672c6d81
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 15:02:24 2006 -0700

    Add notes on reporting bugs to BUGS file and move bugs listed there to ROADMAP instead.

 BUGS    |  101 ++++++++++++++++++++++++++++++++++++++++----------------------
 ROADMAP |   51 ++++++++++++++++++++++++++++++++
 2 files changed, 116 insertions(+), 36 deletions(-)

commit 76fca1898c395a576dadffb35de0253b79b669c5
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 14:30:01 2006 -0700

    EXTRA_DIST: Add several files to the tar file releases, (BUGS, CODING_STYLE, ROADMAP, etc.

 Makefile.am |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

commit ab092a9a5db70ac16e782cf0d7d3629cc902cc1e
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 14:25:53 2006 -0700

    ROADMAP: Remove stray conflict marker

 ROADMAP |    1 -
 1 files changed, 0 insertions(+), 1 deletions(-)

commit 328024cc25cba67c939cf51da6ab6409635fa227
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 14:23:14 2006 -0700

    ROADMAP: Punt the AIX -lpthread bug off of the 1.2.4 roadmap.

 ROADMAP |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 3cf3d4343b6f403b55014f2d259483e1fb688741
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 14:22:08 2006 -0700

    Mark ft-text-vertical-layout tests as XFAIL since we'repunting these from the 1.2.4 release.

 ROADMAP          |    6 +++++-
 test/Makefile.am |    2 ++
 2 files changed, 7 insertions(+), 1 deletions(-)

commit ccdaaf7b950ea68c1149e2649e8379e564b636d8
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Aug 18 17:18:34 2006 -0400

    [ROADMAP] Mark xlib detection problem as fixed

 ROADMAP |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0e78e7144353703cbd28aae6a67cd9ca261f1d68
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Aug 18 17:17:28 2006 -0400

    [configure] Check for x11 pkg-config module before using AC_PATH_XTRA
    Fixes bug 7491.

 configure.in |   19 +++++++++++--------
 1 files changed, 11 insertions(+), 8 deletions(-)

commit 0c6c0a9e0b3e8cd1caa25a2ee65b8384840295b3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Aug 18 17:02:24 2006 -0400

    [configure] Use _NONPKGCONFIG_LIBS if no xrender pkg-config modele is found

 configure.in |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

commit 84a9ca1835998a11b78f5989ce927166c2baa00f
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 13:07:08 2006 -0700

    Rename ft-text-vertical-layout-truetype to ft-text-vertical-layout-type3

 test/Makefile.am                                  |    8 +-
 test/ft-text-vertical-layout-truetype-ref.png     |  Bin 3933 -> 0 bytes
 test/ft-text-vertical-layout-truetype-svg-ref.png |  Bin 3956 -> 0 bytes
 test/ft-text-vertical-layout-truetype.c           |  154 ---------------------
 test/ft-text-vertical-layout-type3-ref.png        |  Bin 0 -> 3933 bytes
 test/ft-text-vertical-layout-type3-svg-ref.png    |  Bin 0 -> 3956 bytes
 test/ft-text-vertical-layout-type3.c              |  154 +++++++++++++++++++++
 7 files changed, 157 insertions(+), 159 deletions(-)

commit aa2260cfbbf5fd5c923409962814c6795e5ecc41
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Aug 18 15:49:38 2006 -0400

    [ROADMAP] Add using alloca

 ROADMAP |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 9c2d9d590b218db7edd74cb1ab7e24799bbb62eb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Aug 18 12:04:16 2006 -0400

    [test] text-rotate: Update ref images to make image pass again
    after the font_options change we made in the test suite a while back.

 test/text-rotate-ref.png       |  Bin 12446 -> 12300 bytes
 test/text-rotate-rgb24-ref.png |  Bin 16508 -> 5640 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

commit 861f1cb4f70cdbd7702eaf642b999a21ad01037d
Merge: c2d92d4... fbb1758...
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 07:56:52 2006 -0700

    Merge branch 'jrmuizel-stroking-fixes' into cairo
    
    Conflicts:
    
    	test/dash-caps-joins-ps-argb32-ref.png
    	test/degenerate-path-ps-argb32-ref.png
    	test/degenerate-path.c

commit c2d92d4397f7ed7a8b7fdfa24a4e339ecb0d6d69
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 06:32:43 2006 -0700

    ROADMAP: Mark the close path bug as fixed.

 ROADMAP |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit c78c0110179f8f832e9096ad5e26f5887100cd59
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 06:31:15 2006 -0700

    Don't set current point to (0,0) in close_path.
    
    The setting of current point to (0,0) is actually harmless, but it
    definitely looks like a bug, (since after close_path the current point
    is really the last move point).
    
    We don't keep track of last move point here, nor do we even need to.
    So we can be consistent with _cairo_path_fixed_close_path by not
    adjusting current point at all, (the subsequent move_to coming right
    behind the close_path will fix up the current point).

 src/cairo-path-data.c |    6 ------
 1 files changed, 0 insertions(+), 6 deletions(-)

commit 53f74e59faf1af78f2f0741ccf1f23aa5dad4efc
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 06:27:45 2006 -0700

    Fix close-path failure by adding explicit move_to after close_path.
    
    Besides the bug fix, this is a user-visible change since the new
    move_to element after the close_path element can be seen in the
    results of cairo_copy_path, so we document that here.
    
    We are also careful to fix up _cairo_path_fixed_line_to to defer to
    _cairo_path_fixed_move_to to avoid letting the last_move_point state
    get stale. This avoids introducing the second bug that is also tested
    by the close-path test case.

 src/cairo-path.c |   15 +++++++++++----
 src/cairo.c      |    8 ++++++++
 2 files changed, 19 insertions(+), 4 deletions(-)

commit 200a2d811efab2e48d6b584b9da202effaddf99f
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 18 06:15:02 2006 -0700

    close-path: New test case to demonstrate corner case discovered by Tim Rowley
    
    The bug shows up when doing cairo_copy_path_flat for a path that has
    a curve_to immediately after a close_path. When the curve is flattened
    the flattener is using (0,0) as the initial point rather than the proper
    close_to point.
    
    This test also serves to ensure a similar bug doesn't crop up when
    closing a path that begins with an implicit move_to, (as from cairo_arc).
    In that bug the path state may have no last-move-point and the path
    is closed to (0,0). This bug is not present currently, but did appear
    during the development of a fix for the bug above.

 test/.gitignore                   |    1 +
 test/Makefile.am                  |    3 +
 test/close-path-ps-argb32-ref.png |  Bin 0 -> 311 bytes
 test/close-path-ref.png           |  Bin 0 -> 312 bytes
 test/close-path.c                 |   84 +++++++++++++++++++++++++++++++++++++
 5 files changed, 88 insertions(+), 0 deletions(-)

commit 8330f4dbd123da57850756a194ba9f7558e6f9cc
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 17 22:12:21 2006 -0400

    [ROADMAP] Mark Type1 on win32 as done

 ROADMAP |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 64dd7a8203b6e393d9f763d49eea6dfb7bd13e0d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 17 22:10:27 2006 -0400

    [SVG] Make dependent on --enable-png (and increase cache-version to 2)

 ROADMAP      |    2 +-
 configure.in |    5 ++++-
 2 files changed, 5 insertions(+), 2 deletions(-)

commit 6f8cf53b1e1ccdbe1ab6a275656b19c6e5120e40
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 17 22:02:02 2006 -0400

    [test] Don't use signals if signal.h is not available

 configure.in      |    2 +-
 test/cairo-test.c |   10 ++++++++++
 2 files changed, 11 insertions(+), 1 deletions(-)

commit 474daa449325850b6427fb0d3fe511ca6d7c12ac
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 17 22:01:33 2006 -0400

    [PNG] Include png.h after cairoint.h to avoid macro problems (bug 7744)

 src/cairo-png.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit da1019c9138695cb838a54f8b871bbfd0e8996d7
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Thu Aug 17 21:46:38 2006 -0400

    Only use GGO_GLYPH_INDEX for truetype and opentype fonts on win32.

 src/cairo-win32-font.c |   52 +++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 43 insertions(+), 9 deletions(-)

commit 9878a033531e6b96b5f27e69e10e90dee7440cd9
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 17 17:48:40 2006 -0700

    Add (primitive) bitmap glyph tracing to fix bug #7889

 ROADMAP                 |    4 +-
 src/cairo-scaled-font.c |   96 ++++++++++++++++++++++++++++++++++++++++++++++-
 2 files changed, 96 insertions(+), 4 deletions(-)

commit e4e5002c48ec9cea37b4347689f193b54439383e
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 17 17:45:14 2006 -0700

    bitmap-font: Add cairo_text_path;fill to demonstrate bug #7889

 test/bitmap-font.c |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

commit 0bfa6d4f33b8ddb5dc55bbe419c15df4af856ff9
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 17 15:23:32 2006 -0700

    Fix assertion failures in bitmap-font test by coercing A8 images to A1
    
    There are still some problems in the resulting output:
    
    PDF: Rotated font ends up being blurry in final PNG (not too important)
    PS and SVG: There's an incorrect offset being applied somewhere.

 src/cairo-image-surface.c |   26 ++++++++++++++++++++++++++
 src/cairo-pdf-surface.c   |    9 ++++++++-
 src/cairo-ps-surface.c    |    9 ++++++++-
 src/cairo-svg-surface.c   |   10 +++++++++-
 src/cairoint.h            |    4 ++++
 5 files changed, 55 insertions(+), 3 deletions(-)

commit e8e7ccf602fdaa2f2e98743f96589f5b7b3faf17
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 17 13:54:06 2006 -0700

    Add rotation to bitmap-font to demonstrate failure of bug #7888

 test/bitmap-font-ref.png       |  Bin 552 -> 950 bytes
 test/bitmap-font-rgb24-ref.png |  Bin 513 -> 890 bytes
 test/bitmap-font.c             |   11 ++++++++++-
 3 files changed, 10 insertions(+), 1 deletions(-)

commit 751ff78ff2acba36614bae17744427c385413264
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 17 20:50:24 2006 -0400

    [ROADMAP] Add close_path behavior to 1.2.4.

 ROADMAP |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit d7b52a8f448e39518a03b92acdf5db10c5527669
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 17 16:14:21 2006 -0700

    Add long-lines to the XFAIL list, (we're not fixing it before 1.2.4)

 test/Makefile.am  |    1 +
 test/long-lines.c |    3 ++-
 2 files changed, 3 insertions(+), 1 deletions(-)

commit 74f6afcdd694d679535d28835740469a08f8ef72
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 17 16:11:58 2006 -0700

    ROADMAP: Add fix of EXTEND_PAD and deprecation of FORMAT_RGB16_565 to 1.4 roadmap.

 ROADMAP |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit 75b9395d0744ff77da588a101271ff765a177b27
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 17 13:47:32 2006 -0700

    ROADMAP: Note that source-clip-scale is fixed

 ROADMAP |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ccf60202d32aa6ade83231e7255ca20e38f216be
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 17 13:34:26 2006 -0700

    Add SVG-specific reference image for source-clip-scale test
    
    The difference here is that the SVG backend uses a meta-surface for
    its similar surface, so there are no rasterization/filtering
    artefacts when scaling the source surface.

 test/source-clip-scale-svg-ref.png |  Bin 0 -> 119 bytes
 1 files changed, 0 insertions(+), 0 deletions(-)

commit 72e25648c4c4bc82ddd938aa4e05887a293f0d8b
Author: Vladimir Vukicevic <vladimirv@gmail.com>
Date:   Thu Aug 17 13:28:58 2006 -0700

    pixman: Use pSourceClip rather than pCompositeClip when fetching
    
    This fixes the source-clip-scale test failures for most backends.

 pixman/src/fbcompose.c |   38 +++++++++++++++++++-------------------
 1 files changed, 19 insertions(+), 19 deletions(-)

commit 64d2feb9f62d32f8189ea6a43420782e0c4a9373
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 17 10:37:46 2006 -0700

    Harmonize implementations of source-clip and source-clip-scale to make similarities more evident.

 test/.gitignore                |    1 +
 test/source-clip-ref.png       |  Bin 180 -> 133 bytes
 test/source-clip-scale-ref.png |  Bin 243 -> 161 bytes
 test/source-clip-scale.c       |   56 ++++++++++++++++-----------------------
 test/source-clip.c             |   38 +++++++++++++--------------
 5 files changed, 42 insertions(+), 53 deletions(-)

commit 524507c39f2f495af426a8c41c6311efe3eb633f
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Aug 16 16:18:18 2006 -0700

    Rename src-clip test to source-clip-scale

 test/Makefile.am               |    3 +-
 test/source-clip-scale-ref.png |  Bin 0 -> 243 bytes
 test/source-clip-scale.c       |  100 ++++++++++++++++++++++++++++++++++++++++
 test/src-clip-ref.png          |  Bin 243 -> 0 bytes
 test/src-clip.c                |  100 ----------------------------------------
 5 files changed, 102 insertions(+), 101 deletions(-)

commit afb50580ce0eaefe466ff63a2e0e597f35317f6b
Author: Vladimir Vukicevic <vladimirv@gmail.com>
Date:   Wed Aug 16 16:04:24 2006 -0700

    Add src-clip test case to demonstrate bug with clipping applying to a source surface.

 test/Makefile.am      |    1 +
 test/src-clip-ref.png |  Bin 0 -> 243 bytes
 test/src-clip.c       |  100 +++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 101 insertions(+), 0 deletions(-)

commit 540db69aefd9874d71af6102c5f9572288de09be
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 17 15:28:47 2006 -0400

    [ROADMAP] Add more entries for 1.2.4.

 ROADMAP |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

commit 6122cc85c8f71b1ba2df3ab86907768edebe1781
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Aug 16 20:07:06 2006 -0400

    [test] Add $(LDADD) to svg2png_LDADD, to link to correct cairo
    Previously it was using the cairo found in system.

 test/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 30cd66fe9a017af9ab2e5b25a13ff70b66b62d17
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Aug 16 19:43:55 2006 -0400

    [test] Add ft-text-vertical-layout-truetype.

 test/ft-text-vertical-layout-truetype-ref.png     |  Bin 0 -> 3933 bytes
 test/ft-text-vertical-layout-truetype-svg-ref.png |  Bin 0 -> 3956 bytes
 test/ft-text-vertical-layout-truetype.c           |  154 +++++++++++++++++++++
 3 files changed, 154 insertions(+), 0 deletions(-)

commit 158e1602119d6cb1169a15b41c4fcac7edf735ab
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Aug 16 19:43:41 2006 -0400

    [.gitignore] Add truetype-tables

 test/.gitignore |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit cbcf1ddd646cfe9a9f7b993d2b69ca1faa353f45
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Aug 16 14:27:40 2006 -0400

    [test] New torture tests ft-text-vertical-layout-truetype/type1
    that combine vertical layout with font_matrix rotation and translation.
    Currently Type3 and Type1 font paths both show broken behavior.
    The type1 test uses "Nimbus Sans L" as the font.

 test/.gitignore                                 |    5 +-
 test/Makefile.am                                |   15 ++-
 test/ft-text-vertical-layout-pdf-argb32-ref.png |  Bin 715 -> 0 bytes
 test/ft-text-vertical-layout-ps-argb32-ref.png  |  Bin 611 -> 0 bytes
 test/ft-text-vertical-layout-ref.png            |  Bin 829 -> 0 bytes
 test/ft-text-vertical-layout-svg-ref.png        |  Bin 770 -> 0 bytes
 test/ft-text-vertical-layout-type1-ref.png      |  Bin 0 -> 3970 bytes
 test/ft-text-vertical-layout-type1-svg-ref.png  |  Bin 0 -> 3948 bytes
 test/ft-text-vertical-layout-type1.c            |  154 +++++++++++++++++++++++
 test/ft-text-vertical-layout.c                  |  136 --------------------
 10 files changed, 167 insertions(+), 143 deletions(-)

commit c385922c198012c46f0c7638ce0ac36a41b9a014
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 15 14:15:47 2006 -0400

    [ROADMAP] Add two assertion failures to 1.2.4 plans

 ROADMAP |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 89008ad1c7dc7539d1b41315f18910af7e638b75
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 15 13:53:08 2006 -0400

    [FreeType] Use _cairo_ft_scaled_font_is_vertical where appropriate
    instead of poking at the loadflags.

 src/cairo-ft-font.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit b7bc263842a798d657a95e539e1693372448837f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 15 08:33:20 2006 -0400

    [FreeType] Fix vertical metrics adjustment to work with non-identity shapes

 src/cairo-ft-font.c |   29 ++++++++++++++++++-----------
 1 files changed, 18 insertions(+), 11 deletions(-)

commit d47388ad759b0a1a0869655a87d9b5eb6ae2445d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 15 07:29:18 2006 -0400

    [PS] Set correct ImageMatrix in _cairo_ps_surface_emit_bitmap_glyph_data
    which should be set to device_transform_inverse, not device_transform.
    Moreover, no negation is needed anymore, as that has been working around
    the inverse matrix :-).

 src/cairo-ps-surface.c |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

commit 91eb56998c416cc21a1bbe2a6e66e85316ef4ddb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 15 05:49:21 2006 -0400

    [test] ft-text-vertical-layout: Update ref images

 test/ft-text-vertical-layout-pdf-argb32-ref.png |  Bin 720 -> 715 bytes
 test/ft-text-vertical-layout-ps-argb32-ref.png  |  Bin 613 -> 611 bytes
 test/ft-text-vertical-layout-ref.png            |  Bin 832 -> 829 bytes
 test/ft-text-vertical-layout-svg-ref.png        |  Bin 778 -> 770 bytes
 4 files changed, 0 insertions(+), 0 deletions(-)

commit 4b3fadefc835cf627c3887a72d8cbb117d7ad5f7
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 15 05:48:12 2006 -0400

    [FreeType] Fix comment about font coordinate

 src/cairo-ft-font.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

commit db779b5121ae548753b4559bd59b269e489c6567
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 15 05:27:59 2006 -0400

    [test] ft-text-vertical-layout: Use the string "i-W" to better show vertical metrics

 test/ft-text-vertical-layout-pdf-argb32-ref.png |  Bin 804 -> 720 bytes
 test/ft-text-vertical-layout-ps-argb32-ref.png  |  Bin 644 -> 613 bytes
 test/ft-text-vertical-layout-ref.png            |  Bin 907 -> 832 bytes
 test/ft-text-vertical-layout-svg-ref.png        |  Bin 880 -> 778 bytes
 test/ft-text-vertical-layout.c                  |   12 ++++++------
 5 files changed, 6 insertions(+), 6 deletions(-)

commit f183b835b111d23e838889178aa8106ec84663b3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 15 04:59:48 2006 -0400

    Respect font_matrix translation in _cairo_gstate_glyph_path

 src/cairo-gstate.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 17ec33aa4f33919377d241bce01e2c395b2aa1b8
Author: Emmanuel Pacaud <emmanuel.pacaud@free.fr>
Date:   Mon Aug 14 20:19:15 2006 +0200

    New test for long line bug.
    
    This shows at least an issue in cairo_fixed_from_double where values
    > 32767 are converted to -32768, instead of being clamped to 32767.

 test/.gitignore         |    1 +
 test/Makefile.am        |    2 +
 test/long-lines-ref.png |  Bin 0 -> 247 bytes
 test/long-lines.c       |   92 +++++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 95 insertions(+), 0 deletions(-)

commit 09e1eb04ca06aa5c188dc3bdad0dadadaa9fe31f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 14 00:15:44 2006 -0400

    [ROADMAP] Update.  Adding 1.2.4 milestone and a few other items

 ROADMAP |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

commit c802cd2d62be5fd0b11d6da10360788f20b721c6
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sun Aug 13 20:16:22 2006 -0400

    [Type1] Synch comments in the encoding table

 src/cairo-type1-subset.c |  126 +++++++++++++++++++++++++++++-----------------
 1 files changed, 80 insertions(+), 46 deletions(-)

commit e5f36a54daf376f34596a285402a3e30ee0a6a64
Author: Pavel Roskin <proski@gnu.org>
Date:   Sun Aug 13 05:09:28 2006 -0400

    [Type1] Use NULL instead of 0
    
    Using NULL is encouraged for pointers.  While fixing that, it turned out
    that the comments indicating the current index were wrong, so I'm fixing
    them too.

 src/cairo-type1-subset.c |   33 ++++++++++++++++++++-------------
 1 files changed, 20 insertions(+), 13 deletions(-)

commit fdd7518b8be1975ae8f804eba7cf4738bd957e4a
Author: Pavel Roskin <proski@gnu.org>
Date:   Sun Aug 13 05:02:46 2006 -0400

    Update nil surface structs to the surface struct
    
    Quite a few fields were missing, but all zero, so didn't matter
    practically, but comments were out of synch.

 src/cairo-surface.c |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)

commit a06af40c35ba8b5d9a0688cefc7eb8bd2e31e92d
Author: Pavel Roskin <proski@gnu.org>
Date:   Sun Aug 13 04:47:11 2006 -0400

    [test] Fix warnings in tests on 64-bit systems
    
    Cast argiments from size_t to int.  size_t is 64-bit on 64-bit systems,
    which causes a warning.  The actual data should fit 32 bit comfortably.

 test/cairo-test.c         |    2 +-
 test/clip-operator.c      |    4 ++--
 test/operator-clear.c     |    4 ++--
 test/operator-source.c    |    4 ++--
 test/trap-clip.c          |    4 ++--
 test/truetype-tables.c    |    2 +-
 test/unbounded-operator.c |    4 ++--
 7 files changed, 12 insertions(+), 12 deletions(-)

commit 58963a2bf962559d579a84edde9af13d9f51d014
Author: Pavel Roskin <proski@gnu.org>
Date:   Sun Aug 13 04:44:39 2006 -0400

    [test] Allow overriding Valgrind flags on the command line
    
    Don't hardcode Valgrind flags in tests/Makefile.am so that
    tests/Makefile doesn't need to be rebuilt to use different flags.  Not
    everybody is looking for memory leaks.

 test/Makefile.am |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit b29cc61facbe75ff3afea58308e93b86d25cb03d
Author: Pavel Roskin <proski@gnu.org>
Date:   Sun Aug 13 04:41:43 2006 -0400

    [pixman] Don't cast pointers to integers
    
    This causes warnings on 64-bit platforms that may indicate very serious
    problems.  Fortunately, not in this case.

 pixman/src/fbmmx.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit abd16e47d6331bd3811c908e524b4dcb6bd23bf0
Author: Jens Granseuer <jensgr@gmx.net>
Date:   Fri Aug 11 13:06:37 2006 -0400

    [configure] Let env-vars override backend CFLAGS/LIBS (bug 7838)
    In particular, $png_REQUIRES can be used now to set the name of the pkg-config
    module that contains libpng.

 configure.in |   31 ++++++++++++++++++-------------
 1 files changed, 18 insertions(+), 13 deletions(-)

commit 97524a8fdb899de1ae4a3e920fb7bda6d76c5571
Author: Jens Granseuer <jensgr@gmx.net>
Date:   Fri Aug 11 11:51:10 2006 -0400

    [warnings] Only use supported compiler warning flags
    Also cache the result.

 configure.in |   53 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 37 insertions(+), 16 deletions(-)

commit 22eee1db000ac03a8cbd0b0bdb689b6d3a127737
Author: Kjartan Maraas <kmaraas@gnome.org>
Date:   Fri Aug 11 11:18:24 2006 -0400

    [warnings] Fixes for sparse.  This fixes a lot of instances of 0 vs NULL

 pixman/src/fbcompose.c |   20 ++++++++++----------
 pixman/src/icimage.c   |   22 +++++++++++-----------
 pixman/src/icutil.c    |    2 +-
 3 files changed, 22 insertions(+), 22 deletions(-)

commit ab3b400bda61a8fc48bb74dc3134237ddce4a81f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Aug 11 00:43:24 2006 -0400

    [Makefile.am] Move ChangeLog creation voodoo to ChangeLog.mk

 ChangeLog.mk |   82 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 Makefile.am  |   83 +---------------------------------------------------------
 2 files changed, 83 insertions(+), 82 deletions(-)

commit affc9c71acc1ea206dee0a4056c4f5b307fc7f38
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Aug 11 00:24:01 2006 -0400

    [Makefile.am] Add $(AM_MAKEFLAGS) to recursive make invocations

 Makefile.am      |   21 ++++++++++-----------
 doc/Makefile.am  |    2 +-
 test/Makefile.am |   14 +++++++-------
 3 files changed, 18 insertions(+), 19 deletions(-)

commit c04ccc95fa3cd4272889b1e66e4de5e1bef53ae0
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 23:49:50 2006 -0400

    [ChangeLog] Make ChangeLog creation faster by caching partial results
    The ChangeLog.pre-* files once generated, cannot be outdated and don't need
    update anymore, but the main ChangeLog needs update everytime a git operation
    is performed (commit, checkout, etc.)  Previously, we were forcing a ChangeLog
    recreation by making it a phony target.  Now, we break it into two parts:  One
    up to the latest tag (as returned by git-describe), and another from there.
    The former is, again, up-to-date when it exists.  The latter, we make it
    depend on .git.  And since the latter is pretty short anyway, you get a very
    first regeneration of it when you change your repo (and that only happens
    during 'make dist' by the way.)

 Makefile.am |   41 ++++++++++++++++++++++++++++++++---------
 1 files changed, 32 insertions(+), 9 deletions(-)

commit 9b5c5b75701e8f8d5270d248c0eaac07aa5eb52a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 20:41:05 2006 -0400

    [ChangeLog] Remove 'fmt' formatting of the ChangeLogs
    We assume that people write wrapped commit messages, which is true these days
    but was not back in the CVS days.

 Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 91a59251806c3836cbc58b009aae8b016feab5a4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 20:36:16 2006 -0400

    Create multiple ChangeLog files segmented around major releases
    For an imaginary cairo-3.6.4 version, we now will generate the following
    ChangeLog files:
    
    	ChangeLog
    	ChangeLog.pre-3.4
    	ChangeLog.pre-3.2
    	ChangeLog.pre-3.0
    	ChangeLog.pre-2.0
    	ChangeLog.pre-1.0

 Makefile.am |   64 ++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 50 insertions(+), 14 deletions(-)

commit ee885c76af0c715ffd316d4c7cc1b61db46af1ae
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 18:54:18 2006 -0400

    [test] Update EXTRA_DIST after beos_bitmap -> beos-bitmap change

 test/Makefile.am |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 915448e50f18d518c065dbde6d8857e4c91d2a51
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 15:35:36 2006 -0400

    [test] Add target check-ref-dups that lists reference images having duplicate sha1sum hash
    This is useful to review every once in a while to drop duplicate images that
    can be dropped.  For example, if there are two identical images one named
    some-test-svg-rgb24-ref.png and other some-test-svg-argb32-ref.png, those two
    can be replaced with some-test-svg-ref.png.

 test/.gitignore  |    1 +
 test/Makefile.am |   14 +++++++-------
 2 files changed, 8 insertions(+), 7 deletions(-)

commit cecf396f6fe8424ec80f6f143df3622b92a5522e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 15:11:46 2006 -0400

    [test] Point out to the test log file on failures

 test/cairo-test.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit 15074cbb04498b59af4f3d9d3f2e99a2113e6730
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 14:58:33 2006 -0400

    [test] Behave better if no ref image was found for a test

 test/cairo-test.c |   30 ++++++++++++++++++++----------
 1 files changed, 20 insertions(+), 10 deletions(-)

commit 67ff765e30af538a7955267c046af446dd8844ed
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 13:53:24 2006 -0400

    [test] Rename beos_bitmap target to beos-bitmap.  Same for directfb-bitmap.

 test/cairo-test.c                         |    6 +++---
 test/mask-beos-bitmap-argb32-ref.png      |  Bin 0 -> 87641 bytes
 test/mask-beos-bitmap-rgb24-ref.png       |  Bin 0 -> 71028 bytes
 test/mask-beos_bitmap-argb32-ref.png      |  Bin 87641 -> 0 bytes
 test/mask-beos_bitmap-rgb24-ref.png       |  Bin 71028 -> 0 bytes
 test/set-source-beos-bitmap-rgb24-ref.png |  Bin 0 -> 124 bytes
 test/set-source-beos_bitmap-rgb24-ref.png |  Bin 124 -> 0 bytes
 test/trap-clip-beos-bitmap-rgb24-ref.png  |  Bin 0 -> 63088 bytes
 test/trap-clip-beos_bitmap-rgb24-ref.png  |  Bin 63088 -> 0 bytes
 9 files changed, 3 insertions(+), 3 deletions(-)

commit c6869b741578be8d93053c8313f71e87061d0202
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 13:21:57 2006 -0400

    [ROADMAP] Add generating EPS.

 ROADMAP |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

commit 1af80b70c08654faeb9c6d041d37ca10d6008fe5
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 13:10:24 2006 -0400

    Test for libz only once and reuse result for PS and PDF
    This causes configure to check for libz even if PS/PDF are disabled
    or their results is already cached.  But that's not much of a problem
    as if the cache is enabled, libz results are cached too.

 configure.in |   16 +++++++---------
 1 files changed, 7 insertions(+), 9 deletions(-)

commit d1520a99d4f9be9206cfcb5febb606eaeb4ccaa9
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 13:05:26 2006 -0400

    Remove the ft_load_sfnt_table check from PS/PDF/SVG backends
    and make sure that _cairo_ft_load_truetype_table returns UNSUPPORTED
    if the version of FreeType used doesn't support FT_Load_Sfnt_Table.

 configure.in        |   16 +---------------
 src/cairo-ft-font.c |    3 +++
 2 files changed, 4 insertions(+), 15 deletions(-)

commit aea83b908d020e26732753830bb3056e6702a774
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 12:47:47 2006 -0400

    Fix typos in configure.in for PS/PDF/SVG backends

 configure.in |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

commit dc8da1ca06971677e203718db1429f82fe3f05bd
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 12:47:11 2006 -0400

    Save configure cache after checking all backends
    This makes sure that backend enabling results are cached even
    if a later test in configure fails.

 configure.in |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

commit 6d0e3260444a2d5b6fb0cb223ac79f1c0e7b3a6e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 12:45:35 2006 -0400

    Don't link to -lm unconditionally in cairo.pc
    Reuse $LIBM results.

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 24374ad61379273945cda913884b562513d86ed2
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 10 12:44:35 2006 -0400

    Implement configure cache versioning for backend enabling results
    such that removing config.cache is not needed as frequently as it
    is currently.  We just detect and stale the cache results for our
    own backends.  If the user installs missing libraries, they still
    need to remove the cache manually.
    
    Note that everytime a change is made to configure.in and may change
    the results of at least one CAIRO_BACKEND_ENABLE call, the
    cairo_cache_version number should be increased.

 configure.in |   16 +++++++++++++---
 1 files changed, 13 insertions(+), 3 deletions(-)

commit c3c706873ef6a0e1318b1d4b4d4b6841758ea18d
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 16:56:20 2006 -0700

    ROADMAP: Remove 1.2.2 stuff now that that release is out the door

 ROADMAP |   29 +----------------------------
 1 files changed, 1 insertions(+), 28 deletions(-)

commit 27842ff06f0f4cb764516e91ad51c8a92078e0fa
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 16:51:48 2006 -0700

    NEWS: Fix some misspellings

 NEWS |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit c96e1b6d8ff06eba7b09b5ff3c60fe09d56eb80c
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 16:32:26 2006 -0700

    README: Update backend list.
    
    PDF, PS, and SVG are no longer experimental. And DirectFB and BeOS now exist as well.

 README |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

commit 38b42c50252198afac2480a24085f01722d1b471
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 16:23:07 2006 -0700

    Increment CAIRO_VERSION to 1.2.3 after making the 1.2.2 release

 configure.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ac1c748868bdf4ca6fd195b184ec90827f6e8c94
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 16:06:57 2006 -0700

    Update version to 1.2.2 and libtool version to 11:1:9.

 configure.in |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 6b3e674211f12e1a30a23c2698f314f6317bd54a
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 16:04:54 2006 -0700

    NEWS: Add notes for cairo 1.2.2

 NEWS |  157 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 157 insertions(+), 0 deletions(-)

commit 5b2c84549f72d449d5c44034e15babbd29d290e8
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 14:30:20 2006 -0700

    RELEASING: Add --stat option to recommended git-log command

 RELEASING |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit e3c7840d2283a8e30242c9749e991f02e93b878a
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 14:29:29 2006 -0700

    Fix EXTRA_DIST so that 'make distcheck' works again

 test/Makefile.am |   56 ++++++++++++-----------------------------------------
 1 files changed, 13 insertions(+), 43 deletions(-)

commit d5d529c0f349962f8c96e2005d67e0c3dd57fbc9
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 14:28:48 2006 -0700

    gtk-doc template file churn

 doc/public/tmpl/cairo-font-options.sgml |  134 +++++++++
 doc/public/tmpl/cairo-font.sgml         |   67 +++++
 doc/public/tmpl/cairo-ft.sgml           |   45 +++
 doc/public/tmpl/cairo-image.sgml        |   69 +++++
 doc/public/tmpl/cairo-matrix.sgml       |  119 ++++++++
 doc/public/tmpl/cairo-paths.sgml        |  194 +++++++++++++
 doc/public/tmpl/cairo-pattern.sgml      |  182 ++++++++++++
 doc/public/tmpl/cairo-pdf.sgml          |   28 ++-
 doc/public/tmpl/cairo-png.sgml          |   40 +++
 doc/public/tmpl/cairo-ps.sgml           |   53 ++++-
 doc/public/tmpl/cairo-scaled-font.sgml  |  113 ++++++++
 doc/public/tmpl/cairo-status.sgml       |   16 +
 doc/public/tmpl/cairo-surface.sgml      |  170 +++++++++++
 doc/public/tmpl/cairo-svg.sgml          |   53 ++++-
 doc/public/tmpl/cairo-text.sgml         |  133 +++++++++-
 doc/public/tmpl/cairo-transforms.sgml   |  104 +++++++
 doc/public/tmpl/cairo-version.sgml      |   37 +++
 doc/public/tmpl/cairo-win32-fonts.sgml  |   45 +++
 doc/public/tmpl/cairo-win32.sgml        |   29 ++
 doc/public/tmpl/cairo-xlib-xrender.sgml |   14 +
 doc/public/tmpl/cairo-xlib.sgml         |  110 ++++++++
 doc/public/tmpl/cairo.sgml              |  465 +++++++++++++++++++++++++++++++
 22 files changed, 2216 insertions(+), 4 deletions(-)

commit ca99478d4309ee66bfd0196d3d53991a46fa8367
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 12:48:56 2006 -0700

    Fix some memory leaks in a few of the tests.

 test/push-group.c          |    2 ++
 test/text-antialias-gray.c |    2 ++
 test/text-antialias-none.c |    2 ++
 test/zero-alpha.c          |    2 ++
 4 files changed, 8 insertions(+), 0 deletions(-)

commit d6e204b9d58069ba34969e6f23cf0bdb4c73b9e1
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 12:48:20 2006 -0700

    Add a variation of an existing valgrind suppression

 test/.valgrind-suppressions |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

commit 16c18aea52f668caf9cd0b9774f8fa209468662f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 8 15:30:56 2006 -0400

    [PDF] Fix leak: free glyphs

 src/cairo-pdf-surface.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit ac4922bd07db7a513b6dbe5443e95221d7827f79
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 8 15:27:21 2006 -0400

    [TrueType] Zero out padding memory in generated TrueType subset
    to make the output deterministic and fix valgrind errors.

 src/cairo-truetype-subset.c |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

commit 356e646dc66f3df0d97e2c26e9328650df745c1e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 8 13:39:17 2006 -0400

    [FreeType] Unset and set to FC_RGBA_NONE the FC_RGBA attribute on pattern
    
    if we don't want it.  This stuff is tricky, but I hope to explain:  In your
    fontconfig configuration, you may match on "font", or on "pattern".  Turning
    subpixel on typically looks like:
    
            <match target="font">
    		<test qual="all" name="rgba">
    			<const>unknown</const>
    		</test>
    		<edit name="rgba" mode="assign"><const>rgb</const></edit>
    	</match>
    
    This works good enough, and if you set to ANTIALIAS_GRAY, this will not
    override that.  Now one may forget to match on "font" target, or intentionally
    match on the pattern.  That happens before cairo font options are substituted
    in the pattern.  So, to give a hint of subpixel in your config file, you can
    write:
    
            <match target="pattern">
    		<edit name="rgba" mode="assign"><const>rgb</const></edit>
    	</match>
    
    You don't really need to check for current values, as FcConfigSubstitute is
    run before merging cairo_font_options_t in.  What this patch does, is to reset
    pattern's rgba property if the font options explicitly ask for ANTIALIAS_GRAY.
    This is the only place in cairo-ft-font.c that we use FcPatternDel, so I
    thought some explanation is needed.

 src/cairo-ft-font.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit db06681b487873788b51a6766894fc619eb8d8f2
Author: Alfred Peng <alfred.peng@sun.com>
Date:   Tue Aug 8 10:57:33 2006 -0700

    Fix leaks in failure paths in pixman gradient creation

 pixman/src/icimage.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 6ff531c1823421ff60d084f94e7221cfb1d3c9b7
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 8 13:13:18 2006 -0400

    [TrueType] Add comment block describing why we only use int16_t

 src/cairo-truetype-subset-private.h |   27 +++++++++++++++++++--------
 1 files changed, 19 insertions(+), 8 deletions(-)

commit 23f388861803ca18746da2573424014c333fb63b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 8 07:38:34 2006 -0400

    [TrueType] More leak fixes

 src/cairo-truetype-subset.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit 519bd3d3e972a88adea5bcf6ea7f582fe69c305c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 8 07:24:01 2006 -0400

    [TrueType] Fix leaks.

 src/cairo-truetype-subset.c |   22 ++++++++++++++--------
 1 files changed, 14 insertions(+), 8 deletions(-)

commit 501e5cc8839e104ec21a5aba61cff3580d34f26b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 8 06:12:13 2006 -0400

    Restructure subpixel_order handling such that the code doesn't look suspicious!
    Shouldn't make /any/ difference at all in any case.

 src/cairo-ft-font.c |   15 ++++++++++-----
 1 files changed, 10 insertions(+), 5 deletions(-)

commit 89fc22de871d61517a4955875f12326b4dc3389a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 8 06:08:53 2006 -0400

    [fontconfig] Set FC_RGBA_NONE on the pattern if we don't want subpixel.
    
    otherwise, it looks like "I don't care" and fontconfig configuration is
    allowed to decide to turn subpixel on.  This fixes the bug that subpixel
    colors where showing up in fallback images in PS/PDF/SVG backends, observed
    in the test fallback-resolution.

 src/cairo-ft-font.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 1f854fcf32e6909e4c52779f093132d8c749c285
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 8 06:04:01 2006 -0400

    Set antialiasing to gray in default font options for PS/PDF/SVG
    
    This only affects the image fallback in those backends, and avoids getting
    colored pixels there if user's fontconfig configuration turns subpixel on.
    This doesn't quite fix that problem though, more changes are needed/coming.

 src/cairo-pdf-surface.c |    1 +
 src/cairo-ps-surface.c  |    1 +
 src/cairo-svg-surface.c |    7 ++++---
 3 files changed, 6 insertions(+), 3 deletions(-)

commit 2d483e0785b18a8bb51f5b1c1a0267029f68a64a
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 02:24:48 2006 -0700

    test-paginated: Fix memory leak within _test_paginated_surface_create_for_data

 src/test-paginated-surface.c |   12 +++++++++++-
 1 files changed, 11 insertions(+), 1 deletions(-)

commit cb5edb6c35f7c80d1f91172b98f25ee33f21bce9
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 01:38:24 2006 -0700

    Eliminate warning due to the test suite's private 'FLATTENEND' format value

 test/cairo-test.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

commit f089a07679535959fe7b12acb0550ff16d560788
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 8 04:36:13 2006 -0400

    Fix misplaced volatile keyword

 test/cairo-test.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 9d542a29cba71fe4b4067fa9a9c0fe98a7d8a7a8
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 01:30:40 2006 -0700

    Disable warning options that are not available in gcc 3.3.5 at least.
    
    We'll want to turn these back on eventually with a nice conditional check on the
    appropriate version of gcc.

 configure.in |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

commit c3b912d7db34c5881cf14725b7d29266cbf24877
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 01:16:49 2006 -0700

    Eliminate most compiler warnings from the test suite

 src/cairo-paginated-surface.c |    2 +-
 test/bitmap-font.c            |    2 +-
 test/buffer-diff.c            |    2 +-
 test/cairo-test.c             |   16 ++++++++++------
 test/cairo-test.h             |    3 ++-
 test/clip-operator.c          |    2 +-
 test/create-for-stream.c      |    4 +++-
 test/degenerate-path.c        |    2 +-
 test/fallback-resolution.c    |    2 +-
 test/mask.c                   |    2 +-
 test/multi-page.c             |    2 +-
 test/operator-clear.c         |    2 +-
 test/operator-source.c        |    2 +-
 test/pdf-features.c           |    4 ++--
 test/ps-features.c            |    4 ++--
 test/push-group.c             |    1 -
 test/read-png.c               |    4 ++--
 test/svg-surface.c            |    2 ++
 test/trap-clip.c              |    2 +-
 test/unbounded-operator.c     |    2 +-
 test/write-png.c              |    2 +-
 21 files changed, 36 insertions(+), 28 deletions(-)

commit c7d11ad2b4778cb7399eae990a410cb72568af11
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 00:43:09 2006 -0700

    Remove stale SVG-specific reference images for pixman-rotate test

 test/pixman-rotate-svg-argb32-ref.png |  Bin 258 -> 0 bytes
 test/pixman-rotate-svg-rgb24-ref.png  |  Bin 358 -> 0 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

commit 401f0ce3c444e263f03055174791e993e6270c39
Merge: 77fd0ef... 02b54ca...
Author: Carl Worth <cworth@cworth.org>
Date:   Tue Aug 8 00:19:51 2006 -0700

    Merge branch 'surface-font-options' into cairo

commit 77fd0efa9a055c13e685f4c6b01597ae67a36fb7
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 8 02:58:50 2006 -0400

    Fix few remaining compiler warnings, revealed by -O3

 pixman/src/ictri.c       |    6 +++---
 src/cairo-lzw.c          |   11 +++++------
 src/cairo-type1-subset.c |    8 ++++----
 3 files changed, 12 insertions(+), 13 deletions(-)

commit 02b54ca6200b3e5a914b293dd4a0d56f432a5a9b
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Aug 2 11:18:14 2006 -0400

    Improve docs for cairo_surface_create_similar()

 src/cairo-surface.c |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

commit 9136c217703d1d6aab1742f522aa0279517fb36a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 1 20:40:54 2006 -0400

    Update reference images, mostly PDF and SVG
    Also replace some SVG ref images for rgb24 and argb32 with a single
    one where the two have been similar.

 test/caps-joins-alpha-svg-argb32-ref.png           |  Bin 2454 -> 0 bytes
 test/caps-joins-alpha-svg-ref.png                  |  Bin 0 -> 2454 bytes
 test/caps-joins-alpha-svg-rgb24-ref.png            |  Bin 2454 -> 0 bytes
 ...osite-integer-translate-over-svg-argb32-ref.png |  Bin 15465 -> 0 bytes
 test/composite-integer-translate-over-svg-ref.png  |  Bin 0 -> 15465 bytes
 ...posite-integer-translate-over-svg-rgb24-ref.png |  Bin 15465 -> 0 bytes
 test/fill-and-stroke-alpha-svg-argb32-ref.png      |  Bin 509 -> 0 bytes
 test/fill-and-stroke-alpha-svg-ref.png             |  Bin 0 -> 509 bytes
 test/fill-and-stroke-alpha-svg-rgb24-ref.png       |  Bin 509 -> 0 bytes
 test/font-matrix-translation-svg-ref.png           |  Bin 0 -> 970 bytes
 test/ft-text-vertical-layout-pdf-argb32-ref.png    |  Bin 725 -> 804 bytes
 test/ft-text-vertical-layout-ref.png               |  Bin 907 -> 907 bytes
 test/ft-text-vertical-layout-svg-argb32-ref.png    |  Bin 799 -> 0 bytes
 test/ft-text-vertical-layout-svg-ref.png           |  Bin 0 -> 880 bytes
 test/ft-text-vertical-layout-svg-rgb24-ref.png     |  Bin 808 -> 0 bytes
 test/glyph-cache-pressure-pdf-argb32-ref.png       |  Bin 2879 -> 0 bytes
 test/glyph-cache-pressure-svg-argb32-ref.png       |  Bin 3635 -> 0 bytes
 test/glyph-cache-pressure-svg-ref.png              |  Bin 0 -> 3165 bytes
 test/glyph-cache-pressure-svg-rgb24-ref.png        |  Bin 3165 -> 0 bytes
 test/linear-gradient-svg-argb32-ref.png            |  Bin 1000 -> 0 bytes
 test/linear-gradient-svg-ref.png                   |  Bin 0 -> 1000 bytes
 test/linear-gradient-svg-rgb24-ref.png             |  Bin 1000 -> 0 bytes
 test/paint-source-alpha-svg-argb32-ref.png         |  Bin 505 -> 0 bytes
 test/paint-source-alpha-svg-ref.png                |  Bin 0 -> 505 bytes
 test/paint-source-alpha-svg-rgb24-ref.png          |  Bin 505 -> 0 bytes
 test/paint-with-alpha-svg-argb32-ref.png           |  Bin 516 -> 0 bytes
 test/paint-with-alpha-svg-ref.png                  |  Bin 0 -> 516 bytes
 test/paint-with-alpha-svg-rgb24-ref.png            |  Bin 516 -> 0 bytes
 test/pixman-rotate-svg-argb32-ref.png              |  Bin 0 -> 258 bytes
 test/pixman-rotate-svg-rgb24-ref.png               |  Bin 0 -> 358 bytes
 test/rectangle-rounding-error-ps-argb32-ref.png    |  Bin 258 -> 0 bytes
 test/select-font-face-pdf-argb32-ref.png           |  Bin 2237 -> 0 bytes
 test/select-font-face-ps-argb32-ref.png            |  Bin 1443 -> 1333 bytes
 test/select-font-face-ref.png                      |  Bin 2481 -> 2473 bytes
 test/select-font-face-svg-argb32-ref.png           |  Bin 3064 -> 0 bytes
 test/select-font-face-svg-ref.png                  |  Bin 0 -> 2430 bytes
 test/select-font-face-svg-rgb24-ref.png            |  Bin 3064 -> 0 bytes
 test/show-text-current-point-pdf-argb32-ref.png    |  Bin 2157 -> 0 bytes
 test/show-text-current-point-svg-argb32-ref.png    |  Bin 4236 -> 0 bytes
 test/show-text-current-point-svg-ref.png           |  Bin 0 -> 2398 bytes
 test/show-text-current-point-svg-rgb24-ref.png     |  Bin 2398 -> 0 bytes
 test/text-antialias-gray-pdf-argb32-ref.png        |  Bin 950 -> 0 bytes
 test/text-antialias-gray-ps-argb32-ref.png         |  Bin 310 -> 0 bytes
 test/text-antialias-gray-svg-argb32-ref.png        |  Bin 1077 -> 0 bytes
 test/text-antialias-gray-svg-rgb24-ref.png         |  Bin 1033 -> 0 bytes
 test/text-antialias-none-pdf-argb32-ref.png        |  Bin 950 -> 0 bytes
 test/text-antialias-none-ps-argb32-ref.png         |  Bin 310 -> 0 bytes
 test/text-antialias-none-svg-argb32-ref.png        |  Bin 1077 -> 0 bytes
 test/text-antialias-none-svg-rgb24-ref.png         |  Bin 1033 -> 0 bytes
 test/text-antialias-subpixel-pdf-argb32-ref.png    |  Bin 950 -> 0 bytes
 test/text-antialias-subpixel-ps-argb32-ref.png     |  Bin 310 -> 0 bytes
 test/text-antialias-subpixel-svg-argb32-ref.png    |  Bin 1077 -> 0 bytes
 test/text-antialias-subpixel-svg-rgb24-ref.png     |  Bin 1033 -> 0 bytes
 test/text-pattern-pdf-argb32-ref.png               |  Bin 1632 -> 0 bytes
 test/text-pattern-ps-argb32-ref.png                |  Bin 1681 -> 0 bytes
 test/text-pattern-svg-argb32-ref.png               |  Bin 1708 -> 1749 bytes
 test/unantialiased-shapes-ps-argb32-ref.png        |  Bin 4076 -> 0 bytes
 test/unantialiased-shapes-svg-argb32-ref.png       |  Bin 19689 -> 0 bytes
 test/unantialiased-shapes-svg-rgb24-ref.png        |  Bin 19689 -> 0 bytes
 59 files changed, 0 insertions(+), 0 deletions(-)

commit 56791ab31d484452cd1ddefd653590095d9f6191
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 8 02:46:38 2006 -0400

    Make "make html" not trigger test reruns
    "make index.html" can still be used to force up-to-date test results,
    causing test reruns if necessary.

 test/Makefile.am |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

commit caba7f6bda9ba7c1a0738f3b34996c50bde60697
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 8 02:17:43 2006 -0400

    Document a few more functions
    
    	cairo_show_page
    	cairo_copy_page
    	cairo_in_stroke
    	cairo_in_fill

 src/cairo.c |   42 ++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 42 insertions(+), 0 deletions(-)

commit 789785cd357de14af23a4d2ae8ca49c4838426b9
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Aug 7 11:58:35 2006 -0700

    Document CAIRO_FORMAT_RGB16_565 as deprecated.

 src/cairo.h |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)

commit fdc805a52949bf3b040bfef57d170025010816c6
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 7 22:28:59 2006 -0400

    More doc syntax update

 src/cairo-scaled-font.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit bbc9a1290a964edf50f571be8766b38df10adac7
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 7 22:27:15 2006 -0400

    Update doc syntax
    Annoying, but a function doc should have a body, not only "Returns", or
    gtk-doc will not pick it up.

 src/cairo-font.c        |    5 ++++-
 src/cairo-pattern.c     |    5 ++++-
 src/cairo-scaled-font.c |    5 ++++-
 src/cairo-surface.c     |    5 ++++-
 4 files changed, 16 insertions(+), 4 deletions(-)

commit fef0251d15814ce9f135b548579e51c6e4a0653d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 7 22:15:15 2006 -0400

    Add cairo-truetype-subset-private.h to list of ignored headers

 doc/public/Makefile.am |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

commit c2ea56e5e075f9e75350b3c54956a70e6fb9a58c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 7 21:37:16 2006 -0400

    Add test truetype-tables that checks sizeof truetype tables

 test/Makefile.am       |    1 +
 test/truetype-tables.c |   59 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 60 insertions(+), 0 deletions(-)

commit 50be7951c981468a3a2acf2cd77931a46ca1e824
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 7 21:23:08 2006 -0400

    Split the TrueType table definitions into a private header file
    such that we can test the struct sizes in a test.

 src/Makefile.am                     |    1 +
 src/cairo-truetype-subset-private.h |  159 +++++++++++++++++++++++++++++++++++
 src/cairo-truetype-subset.c         |  126 +--------------------------
 3 files changed, 165 insertions(+), 121 deletions(-)

commit ec895202e008356492ae0c9e40c9f40c6bf8cbb3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 7 21:13:48 2006 -0400

    Remove the __attribute__ ((packed)) and the need for it
    as it's not portable and lack of it could seriously break the truetype
    subsetting code.  Now, instead of using int32_t and int64_t, we use
    multiple int16_t items, to avoid any alignments.  Fortunately, we are
    not using any of the fields involved, so no code changes necessary.

 src/cairo-truetype-subset.c |   58 +++++++++++++++++++++++++-----------------
 1 files changed, 34 insertions(+), 24 deletions(-)

commit 20c3ff96de05365ee65301ccd3c43e7bcb19f49b
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Aug 7 15:18:38 2006 -0700

    Fix some signed/unsigned comparison warnings that cropped up during the warnings-cleanup branch

 src/cairo-meta-surface-private.h        |    2 +-
 src/cairo-pdf-surface.c                 |    6 +++---
 src/cairo-ps-surface.c                  |    5 ++---
 src/cairo-scaled-font-subsets-private.h |    2 +-
 src/cairo-svg-surface.c                 |    2 +-
 src/cairo-truetype-subset.c             |   14 +++++++-------
 src/cairo-type1-subset.c                |    4 ++--
 7 files changed, 17 insertions(+), 18 deletions(-)

commit 959b85e98c8a0f546c9117da83f84c99ed00370f
Merge: f1c70a0... 7ee94c0...
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Aug 7 15:06:47 2006 -0700

    Merge branch 'warnings-cleanup' into cairo
    
    Conflicts:
    
    	src/cairo-font-subset.c

commit f1c70a01391705a22dd882f2a88c6dffbc08f0fe
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 7 17:32:02 2006 -0400

    Mark x86_64 subsetting as fixed in ROADMAP.

 ROADMAP |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 7ee94c0285b0f7352506622d16aff9339ba65d0c
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Jul 31 12:03:40 2006 -0700

    Squelch an annoying -Wswitch-enum warning by not using switch

 src/cairo-pattern.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit 43b579d757ded66f71da8a0e215abd7bccdfd695
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Jul 31 11:47:45 2006 -0700

    Add -Wswitch-enum compiler flag and fix all trivial warnings

 configure.in              |    2 +-
 pixman/src/fbpict.c       |   11 +++++++++++
 src/cairo-ft-font.c       |    5 +++++
 src/cairo-image-surface.c |    9 +++++++++
 src/cairo-pattern.c       |    2 +-
 src/cairo-pdf-surface.c   |    6 +++++-
 src/cairo-xlib-surface.c  |   12 ++++++++++++
 7 files changed, 44 insertions(+), 3 deletions(-)

commit d1f9bef30ea7268fee74af50c0e9325e1ec0929c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 7 14:24:32 2006 -0700

    Add -Wunsafe-loop-optimizations compiler flag and fix all warnings

 configure.in             |    1 +
 pixman/src/fbmmx.c       |    8 ++++----
 src/cairo-xlib-surface.c |    2 +-
 3 files changed, 6 insertions(+), 5 deletions(-)

commit 744ef3bf698f9109e82244c5889d0d809b2df70c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 7 13:47:01 2006 -0700

    Add several compiler warning flags (no code changes needed)
    
    The flags added here are as follows:
    
    -Werror-implicit-function-declaration Wstrict-aliasing=2
    -Wwrite-strings Winit-self Wpacked Wmissing-format-attribute
    -Wdeclaration-after-statement

 configure.in |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

commit 00711022089936e08b8651591629ca344a3fa71e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Aug 7 13:13:33 2006 -0700

    Add -Wwrite-strings compiler flag and fix all warnings

 configure.in             |    2 +-
 src/cairo-ps-surface.c   |    2 +-
 src/cairo-xlib-surface.c |    4 ++--
 3 files changed, 4 insertions(+), 4 deletions(-)

commit 9ae66174e774b57f16ad791452ed44efc2770a59
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 4 16:06:59 2006 -0700

    Fix bug 7294 by adding pixman BGR formats and internal cairo BGR formats.
    
    This approach to fixing the bug is valid since there is code in pixman
    for rendering to BGR images, (which is why cairo 1.0 worked with BGR X
    servers for example). But, since we don't want to advertise additional
    image formats we implement this through a new cairo_internal_format_t.
    
    This is rather fragile since we don't want to leak any internal formats
    nor do we ever want an internal format to be used somewhere a real
    format is expected, (and trigger a CAIRO_FORMAT_VALID assertion failure).
    More comments than code are added here to help compensate for the
    fragility and to give some guidance in fixing this mess in a better way
    in the future.

 pixman/src/icformat.c     |   12 +++++++++
 pixman/src/pixman.h       |    4 ++-
 src/cairo-image-surface.c |   48 ++++++++++++++++++++++++++++--------
 src/cairo-xlib-surface.c  |    3 ++
 src/cairoint.h            |   59 +++++++++++++++++++++++++++++++++++++++++++++
 5 files changed, 114 insertions(+), 12 deletions(-)

commit f4b12e497b7ac282b2f6831b8fb68deebc412e60
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Mon Aug 7 11:07:08 2006 -0700

    Make truetype subsetting work on x86_64
    
    This fixes the bug reported against GTK+ here:
    	http://bugzilla.gnome.org/show_bug.cgi?id=349826

 ROADMAP                     |    2 +-
 src/cairo-truetype-subset.c |  195 ++++++++++++++++++++++---------------------
 2 files changed, 99 insertions(+), 98 deletions(-)

commit 7724c575b028140fd671d4ef853096a24112146f
Author: Declan Naughton <piratepenguin@gmail.com>
Date:   Mon Aug 7 10:33:15 2006 -0700

    Fix typos in internal documentation.

 src/cairo-arc.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit caa9abc9ee33b660f158ac9f5d420bb39c0b47cb
Author: Carl Worth <cworth@cworth.org>
Date:   Mon Aug 7 10:28:40 2006 -0700

    Fix file handle leak in failure path (bug 7616)

 src/cairo-output-stream.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 04757a3aa8deeff3265719ebe01b021638990ec6
Author: Alfred Peng <alfred.peng@sun.com>
Date:   Mon Aug 7 08:41:13 2006 -0700

    Add definition of cairo_private for some Sun compilers.
    
    In addition to helping us preserve a sharp line between which symbols are
    part of the public API and which are private parts of the implementation,
    this can also help mozilla avoid clashes between its modified, internal
    copy of cairo and the system version of cairo. See the mozilla bug here:
    
    https://bugzilla.mozilla.org/show_bug.cgi?id=341874

 src/cairoint.h |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit e2fddcccb43d06486d3680a19cfdd5a54963fcbd
Author: Chris Wilson <cpwilson@taz.qinetiq.com>
Date:   Fri Aug 4 17:16:35 2006 -0700

    Fix memory leak in _cairo_surface_show_glyphs (bug 7766)

 src/cairo-surface.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit aec39338033196f2942e9ff0ef6beffd6612030e
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Aug 4 16:54:25 2006 -0700

    ROADMAP: Mark 7533 as fixed and add broken truetype subsetting on x86_64

 ROADMAP |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 761b30792d56f635fe1fb8641fdee21587505475
Author: Dominic Lachowicz <domlachowicz@gmail.com>
Date:   Fri Aug 4 16:39:40 2006 -0700

    Add binary garbage to PDF header as recommended in section 3.4.1 of PDF Reference v1.6

 src/cairo-pdf-surface.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit 2815d9ad38f2df45c58fbeb38591afba28b4917b
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 3 19:28:11 2006 -0700

    Use base pointer to avoid compiler warning.

 src/cairo-ft-font.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1feb4291cf7813494355459bb547eec604c54ffb
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 3 19:25:53 2006 -0700

    Apply device_transform during meta-surface replay to fix bug 7533

 src/cairo-meta-surface.c |   86 +++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 77 insertions(+), 9 deletions(-)

commit 8c953167ba045ffdfc25ac4f19faff83720f2473
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Aug 3 17:48:25 2006 -0700

    Simplify common set_clip operation in meta-surface replay.

 src/cairo-meta-surface.c |   32 ++++++++------------------------
 1 files changed, 8 insertions(+), 24 deletions(-)

commit 34a0b728fb0e19a4d03152318a002362791c30d1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Aug 3 00:20:35 2006 -0400

    Fail FreeType load_truetype_table on vertical fonts as we don't do it
    right now.  Failing disables the subsetting for vertical fonts, like
    it was being done before the recent changes to the TrueType subsetter.

 src/cairo-ft-font.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit 2c0959141ae89bde6c773933b41f4d965d6a1ae7
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Aug 2 16:40:23 2006 -0700

    Update ROADMAP now that several of the 1.2.2-targeted bugs are fixed

 ROADMAP |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

commit 30f004d55ad7c426e979964a49e7a8c8d8db31f3
Author: Kristian Høgsberg <krh@redhat.com>
Date:   Wed Aug 2 19:29:17 2006 -0400

    Rename truetype subset function to _cairo_truetype_*.
    
    Used to be _cairo_pdf_ft_*, a left over from when this code was
    specific to the PDF backend.

 src/cairo-truetype-subset.c |  256 ++++++++++++++++++++++---------------------
 1 files changed, 133 insertions(+), 123 deletions(-)

commit f664a3b7a087272a27eb893b7ee5a1775eb92c4d
Author: Kristian Høgsberg <krh@redhat.com>
Date:   Wed Aug 2 19:14:19 2006 -0400

    Renamed cairo-font-subset.c to cairo-truetype-subset.c

 src/Makefile.am             |    2 +-
 src/cairo-font-subset.c     |  957 -------------------------------------------
 src/cairo-truetype-subset.c |  957 +++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 958 insertions(+), 958 deletions(-)

commit a0989f427be87c60415963dd6822b3c5c3781691
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Aug 2 19:12:51 2006 -0400

    Remove freetype dependency for truetype subsetting code.
    
    Add a load_truetype_table function to cairo_scaled_font_backend_t and
    use it to load the truetype sfnt tables.  Implement this with freetype
    for the freetype font backend and use GetFontData for win32.  Atsui
    remains unimplemented, and still falls back to type3 fonts.

 src/Makefile.am         |    4 +-
 src/cairo-atsui-font.c  |    1 +
 src/cairo-font-subset.c |  451 ++++++++++++++++++++++++++++------------------
 src/cairo-ft-font.c     |   26 +++
 src/cairo-pdf-surface.c |    5 +-
 src/cairo-ps-surface.c  |    6 +-
 src/cairo-svg-surface.c |    1 -
 src/cairo-win32-font.c  |   28 +++
 src/cairoint.h          |    6 +
 9 files changed, 347 insertions(+), 181 deletions(-)

commit c05dd48ac1afe0e4f3ec0c24797a9fbc3f98ce85
Merge: e0bec64... 0da4b93...
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Wed Aug 2 14:32:50 2006 -0700

    Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo

commit e0bec64c98f98fb2d4b460e8641b1b09f808d233
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Wed Aug 2 14:32:24 2006 -0700

    Fixed debug statement that broke compile

 src/cairo-directfb-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0da4b9319f53379e0ae61b90337f49bd0f0fc9c5
Author: Kristian Høgsberg <krh@redhat.com>
Date:   Wed Aug 2 15:18:56 2006 -0400

    Drop unused src/cairo-font-subset-private.h.

 src/Makefile.am                 |    1 -
 src/cairo-font-subset-private.h |   68 ---------------------------------------
 2 files changed, 0 insertions(+), 69 deletions(-)

commit 067d97eb1793a6b0d0dddfbd0b54117844511a94
Author: Adrian Johnson <ajohnson@redneon.com>
Date:   Wed Aug 2 15:17:09 2006 -0400

    This patch fixes the problem where the postscript output
    does not print when the size of the embedded truetype font
    exceeds 64k.

 src/cairo-font-subset-private.h         |    3 +-
 src/cairo-font-subset.c                 |   60 +++++++++++++++++++++++++++---
 src/cairo-ps-surface.c                  |   27 ++++++++++----
 src/cairo-scaled-font-subsets-private.h |    2 +
 4 files changed, 77 insertions(+), 15 deletions(-)

commit 127704c225d4b9f2a4c72749f59a8dfcaecfddc6
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 1 20:39:56 2006 -0400

    Look for per-target reference image too

 test/cairo-test.c |   96 ++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 70 insertions(+), 26 deletions(-)

commit fc715ffd80f5ec9ac57e3b110dd20298029a6350
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 1 18:21:27 2006 -0400

    New PS ref images, matching the recent png16m->pngalpha driver change

 test/caps-joins-ps-argb32-ref.png              |  Bin 995 -> 1463 bytes
 test/caps-sub-paths-ps-argb32-ref.png          |  Bin 170 -> 240 bytes
 test/clip-fill-rule-ps-argb32-ref.png          |  Bin 280 -> 322 bytes
 test/clip-nesting-ps-argb32-ref.png            |  Bin 488 -> 651 bytes
 test/clip-twice-ps-argb32-ref.png              |  Bin 460 -> 575 bytes
 test/dash-caps-joins-ps-argb32-ref.png         |  Bin 1247 -> 2189 bytes
 test/dash-offset-negative-ps-argb32-ref.png    |  Bin 170 -> 204 bytes
 test/dash-scale-ps-argb32-ref.png              |  Bin 2950 -> 6318 bytes
 test/dash-zero-length-ps-argb32-ref.png        |  Bin 272 -> 319 bytes
 test/degenerate-path-ps-argb32-ref.png         |  Bin 197 -> 264 bytes
 test/fill-and-stroke-ps-argb32-ref.png         |  Bin 243 -> 310 bytes
 test/fill-rule-ps-argb32-ref.png               |  Bin 1078 -> 2253 bytes
 test/font-matrix-translation-ps-argb32-ref.png |  Bin 0 -> 785 bytes
 test/ft-text-antialias-none-ps-argb32-ref.png  |  Bin 335 -> 335 bytes
 test/ft-text-vertical-layout-ps-argb32-ref.png |  Bin 298 -> 644 bytes
 test/glyph-cache-pressure-ps-argb32-ref.png    |  Bin 591 -> 1672 bytes
 test/leaky-polygon-ps-argb32-ref.png           |  Bin 233 -> 355 bytes
 test/line-width-ps-argb32-ref.png              |  Bin 201 -> 244 bytes
 test/line-width-scale-ps-argb32-ref.png        |  Bin 1599 -> 3903 bytes
 test/new-sub-path-ps-argb32-ref.png            |  Bin 316 -> 559 bytes
 test/path-data-ps-argb32-ref.png               |  Bin 322 -> 442 bytes
 test/select-font-face-ps-argb32-ref.png        |  Bin 481 -> 1443 bytes
 test/show-text-current-point-ps-argb32-ref.png |  Bin 602 -> 1479 bytes
 test/transforms-ps-argb32-ref.png              |  Bin 287 -> 420 bytes
 24 files changed, 0 insertions(+), 0 deletions(-)

commit 3e24f516a2f5435306ee8491e7955177b960a797
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 1 16:13:29 2006 -0400

    Change the text string "cd" to "AB" in test to match the other string
    that is drawn.  The reason, one is draw using show_text, the other
    using text_path.  The difference is more emphasized when rendering the
    same string.

 test/ft-text-vertical-layout-ref.png |  Bin 834 -> 907 bytes
 test/ft-text-vertical-layout.c       |    2 +-
 2 files changed, 1 insertions(+), 1 deletions(-)

commit 3d95919fab2e47dea9e7b266849db7a4c05eb9a7
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 1 15:27:11 2006 -0400

    Switch from ghostscript's png16m driver to pngalpha for PS->PNG again.
    We have switched back and forth quite a few times.  This time I'm switching
    because with pngalpha we get gray antialiased text and graphics while with
    png16m all we get is no antialiasing.  This is definitely a bug in the png16m
    driver, but I won't wait until it gets fixed upstream.
    
    Previously Carl Worth switched to pngalpha and reverted it immediately in
    commit c4fc7b06b53c811ddc20def91aaccd756c28a924.  I've now fixed image-diff to
    work with the output of pngalpha, so we can switch.  It requires lots of
    reference image updates, but still doesn't help with reducing the number of
    PS-specific reference images we need.

 test/cairo-test.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 5a23fd70a0af5c2b0cb990b89ebc5ed7a01aae82
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 1 15:20:39 2006 -0400

    Change the way diff images highlight differences.
    Previously it was using the equation 128+diff/3, which results in
    lots of gray and de-emphasized difference.  Now it's using
    MIN(255,diff*4) which more emphasizes the real difference.

 test/buffer-diff.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

commit d85f30e789c74cc8f1d83ba609d8b02886686440
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 1 15:18:19 2006 -0400

    Make image_diff_flattened flatten the first image too.
    This is useful to use the ghostscript pngalpha driver for example.

 test/buffer-diff.c |   34 ++++++++++++++++++++++++++--------
 1 files changed, 26 insertions(+), 8 deletions(-)

commit 556a4d8405a4f53e465425ccc1f6506e51b29344
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Aug 1 15:16:10 2006 -0400

    Add vector_ignored_tests that is tests ignored for ps/pdf/svg
    that includes all tests depending on CAIRO_ANTIALIAS_NONE and
    CAIRO_ANTIALIAS_SUBPIXEL.
    This removes separate pdf_ignored_tests and svg_ignored_tests
    arrays that were out of synch and otherwise the same.

 test/cairo-test.c |   43 ++++++++++++++++++++++---------------------
 1 files changed, 22 insertions(+), 21 deletions(-)

commit 226178539ad72ffa414925e094297e12c566083d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jul 31 16:05:34 2006 -0400

    Add comments about CAIRO_ENABLE_BACKEND.

 configure.in |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletions(-)

commit 2fa709d6af58713f7b362748a728a6f8c983d2ec
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jul 31 15:17:15 2006 -0400

    Set font options in the test context and make tests not do that
    This should help with not requiring many backend-specific reference
    images, and some should be removed now.

 test/cairo-test.c                 |   10 ++++++++++
 test/clip-operator.c              |    9 ---------
 test/font-matrix-translation.c    |    9 ---------
 test/ft-font-create-for-ft-face.c |    2 ++
 test/ft-text-antialias-none.c     |    3 +--
 test/ft-text-vertical-layout.c    |    5 +----
 test/glyph-cache-pressure.c       |   10 ----------
 test/operator-clear.c             |    9 ---------
 test/operator-source.c            |    9 ---------
 test/select-font-face.c           |   11 -----------
 test/show-glyphs-many.c           |    9 ---------
 test/show-text-current-point.c    |   10 ----------
 test/text-antialias-gray.c        |    5 +----
 test/text-antialias-none.c        |    5 +----
 test/text-antialias-subpixel.c    |    8 ++------
 test/text-pattern.c               |    9 ---------
 test/text-rotate.c                |    3 +--
 test/unbounded-operator.c         |    9 ---------
 18 files changed, 19 insertions(+), 116 deletions(-)

commit 9fcb3c32c1f16fe6ab913e27eb54d18b7d9a06b0
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jul 31 14:50:50 2006 -0400

    Set fallback resolution in create_similar.  Update docs to reflect that.

 src/cairo-surface.c |   10 ++++++++--
 1 files changed, 8 insertions(+), 2 deletions(-)

commit a61ac1aeedca3a032b9d53715afb5d52c06efec0
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jul 31 14:47:10 2006 -0400

    Set font_options on image surfaces we create.
    This may not be really necessary as we only create image surfaces as
    temporary surfaces and their font options should not be sampled normally.

 src/cairo-paginated-surface.c |   37 ++++++++++++++++++++++++++++---------
 1 files changed, 28 insertions(+), 9 deletions(-)

commit b3341b4eda274036a74eea3187d47ef257688828
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jul 31 14:45:54 2006 -0400

    Let backends return NULL in create_similar to take the fallback path.
    Make xlib backend use it.

 src/cairo-surface.c      |    5 +++--
 src/cairo-xlib-surface.c |    5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

commit bdb4e1edadb78a2118ff70b28163f8bd4317f1ec
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jul 31 14:44:42 2006 -0400

    Implement per-surface font options.
    New internal function _cairo_surface_set_font_options is used to set them.
    cairo_surface_create_similar propagates the font options of the other
    surface into the newly created surface.  Fixes bugs with font options in
    fallback images and bug 4106.

 src/cairo-surface.c |   55 +++++++++++++++++++++++++++++++++++++++++++++-----
 src/cairoint.h      |   12 +++++++++++
 2 files changed, 61 insertions(+), 6 deletions(-)

commit a8a0082c53d060e07c10c6efda9bb808e354fd59
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jul 31 14:41:27 2006 -0400

    Remove dummy create_similar in PS/PDF and let fallback do the same
    which is simply creating an image surface.

 src/cairo-pdf-surface.c |   15 +--------------
 src/cairo-ps-surface.c  |   15 +--------------
 2 files changed, 2 insertions(+), 28 deletions(-)

commit 72b51b6f0c49f9eac7d8ef4caff59733312b1ca6
Author: Ian Osgood <iano@quirkster.com>
Date:   Wed Jun 21 07:06:20 2006 -0700

    XCB: implement set_clip_region

 src/cairo-xcb-surface.c |   94 ++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 93 insertions(+), 1 deletions(-)

commit 2eeb338590957a90bdebfc6a00fc05323e76f9ee
Author: Jamey Sharp <jamey@minilop.net>
Date:   Mon Jun 12 17:47:55 2006 -0700

    XCB: Use xcb-renderutil where cairo-xlib used libXrender.

 configure.in            |    2 +-
 src/cairo-xcb-surface.c |  199 ++++++++++-------------------------------------
 2 files changed, 41 insertions(+), 160 deletions(-)

commit 6b0d3433b7073ece1f7959475e6058911dc382ad
Author: Jamey Sharp <jamey@minilop.net>
Date:   Mon Jul 31 08:53:57 2006 -0700

    XCB: XCBRenderTRAP was renamed to XCBRenderTRAPEZOID.

 src/cairo-xcb-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 88675958efbe57c7cc5135d6fb73e99f42d848d8
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jul 31 01:03:15 2006 -0400

    Remove config.cache in autogen.sh.

 autogen.sh |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit eb9caf083353f3430f786da717b6c56b13f82ecb
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jul 28 16:59:54 2006 -0700

    Add -Wsign-compare compiler flag and fix all warnings

 configure.in                    |    2 +-
 pixman/src/fbpict.c             |    2 +-
 pixman/src/icformat.c           |   12 ++++++------
 pixman/src/pixman.h             |   10 +++++-----
 src/cairo-array.c               |    6 +++---
 src/cairo-font-subset.c         |    2 +-
 src/cairo-gstate.c              |    2 +-
 src/cairo-hash.c                |    2 +-
 src/cairo-image-surface.c       |    2 +-
 src/cairo-output-stream.c       |    2 +-
 src/cairo-path-stroke.c         |    4 ++--
 src/cairo-pattern.c             |    4 ++--
 src/cairo-pdf-surface.c         |    7 +++----
 src/cairo-png.c                 |    8 ++++----
 src/cairo-ps-surface.c          |    2 +-
 src/cairo-scaled-font-subsets.c |    6 +++---
 src/cairo-scaled-font.c         |    2 +-
 src/cairo-svg-surface.c         |    6 +++---
 src/cairo-xlib-surface.c        |    2 +-
 src/cairoint.h                  |   16 ++++++++--------
 20 files changed, 49 insertions(+), 50 deletions(-)

commit 5e0f46cdebb5e086b344cc09b4537982a07e45cd
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Jul 28 15:41:11 2006 -0700

    Standardize on unsigned for ref_count type and add CAIRO_REF_COUNT_INVALID
    
    The CAIRO_REF_COUNT_INVALID macro simply hides the ((unsigned int)-1) cast
    to avoid warnings about comparison between signed and unsigned values.

 src/cairo-font.c        |    8 ++++----
 src/cairo-pattern.c     |   12 ++++++------
 src/cairo-scaled-font.c |    6 +++---
 src/cairo-surface.c     |   12 ++++++------
 src/cairo.c             |    6 +++---
 src/cairoint.h          |    8 +++++---
 6 files changed, 27 insertions(+), 25 deletions(-)

commit 84b37568e1485c461df663f875ba5546b44e5c5c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Jul 28 15:13:00 2006 -0700

    Add -Wold-style-definition compiler falg and fix all warnings.

 configure.in           |    2 +-
 pixman/src/pixregion.c |   53 +++++++++++++++++++----------------------------
 2 files changed, 23 insertions(+), 32 deletions(-)

commit 811f7af1b2cf659b3a3c9b0749c65742207cb946
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Jul 28 18:18:50 2006 -0400

    s/dist-hook/dist-hook-local/
    Should drop spurious make warning.

 gtk-doc.make |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 84114949488c7b9a2ae60edb33903b541ce1dadf
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Jul 28 15:12:10 2006 -0400

    Move font-matrix translation and device transform from surface to gstate
    
    Fixes the bug that paginated backends had font-matrix translation
    applied twice, AND removes a second copy of the glyphs.  It's
    essentially similar to what cworth did for stroke/fill/clip in
    this commit: bd92eb7f3c58fdcbe05f67b9a879798246c616bc
    
    Reviewed by: Carl Worth

 src/cairo-gstate.c  |   10 +++++---
 src/cairo-surface.c |   54 ++++++++++++++++----------------------------------
 2 files changed, 23 insertions(+), 41 deletions(-)

commit 2f7da1aafb5ca050446fe3645eac3f95b9636b19
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jul 28 10:51:24 2006 -0700

    INSTALL: Mention DYLD_LIBRARY_PATH for mac OS X

 INSTALL |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit e5f4b922618ca2e56d6a66e20761e78d42211ec9
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 27 15:20:14 2006 -0400

    Make "double *dash" argument const in cairo_set_dash

 src/cairo-gstate.c |    2 +-
 src/cairo.c        |    8 ++++----
 src/cairo.h        |    8 ++++----
 src/cairoint.h     |    2 +-
 4 files changed, 10 insertions(+), 10 deletions(-)

commit e92d693e073dc5fba871b615909206f0049ead41
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 27 14:58:46 2006 -0400

    Make "CAIRO_TEST_TARGET=... make check" work again
    
    Do a funny transition of CAIRO_TEST_TARGET through TARGETS such that
    one can limit tested targets both through CAIRO_TEST_TARGET env var
    and TARGETS make var on the command line.

 test/Makefile.am |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

commit 6ced3edb69f5f5a25a5c40c0bad7dc638cc216cb
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Jul 21 18:46:16 2006 -0400

    Don't make doc upon make install.

 gtk-doc.make |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 280823173dce520a43eb54c0b18d2e2eae6a55a0
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Jul 27 00:57:53 2006 -0700

    Update ROADMAP with 1.2.2 and 1.4 plans now that 1.2.0 is out

 ROADMAP |  209 ++++++++++++++++++---------------------------------------------
 1 files changed, 59 insertions(+), 150 deletions(-)

commit 456cdb3058f3b416109a9600167cd8842300ae14
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Jul 26 15:48:56 2006 -0700

    Elide size-zero glyphs from calls to XRender functions.
    
    There appears to be a bug in some X servers which is triggered by
    rendering 1-bit glyphs with zero size via the functions
    XRenderAddGlyphs and XRenderCompositeText8 (and likely its variants).
    
    We avoid this bug by making a copy of the glyphs array which does not
    include any of the size-zero glyphs so that the X server never sees them.

 src/cairo-xlib-surface.c |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

commit 8601c2c68306c956744399099a941363d446b906
Merge: cd2f50e... b719188...
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Thu Jul 20 23:04:37 2006 -0700

    Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo

commit cd2f50e6c421d35c3d5b0d76ed0fdd03a033b2c2
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Thu Jul 20 23:01:06 2006 -0700

    Check for zero before freeing region

 src/cairo-directfb-surface.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit b7191885c88068dad57d68ced69a752d1162b12c
Author: Vladimir Vukicevic <vladimir@pobox.com>
Date:   Mon Jul 17 11:33:47 2006 -0700

    [xlib] Remove XSync implementation of surface_flush
    
    Remove the xlib implementation of surface_flush which just called XSync
    before.

 src/cairo-xlib-surface.c |   10 +---------
 1 files changed, 1 insertions(+), 9 deletions(-)

commit fbb1758ba8384650157b2bbbc93d161b0c2a05f0
Author: Jeff Muizelaar <jeff@infidigm.net>
Date:   Sun Jun 25 16:12:38 2006 +0200

    Fix degenerate-path stroking with dashed lines.
    
    This draws dashed degenerate-paths if the dash is on at the point of the
    path and otherwise draws nothing.

 src/cairo-path-stroke.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

commit fdebc369d28f70ceba228d3131753225b2dbf844
Author: Jeff Muizelaar <jeff@infidigm.net>
Date:   Sun Jun 25 15:48:48 2006 +0200

    Modify degenerate-path test case to test dashed degenerate paths.

 test/degenerate-path-ps-argb32-ref.png |  Bin 197 -> 220 bytes
 test/degenerate-path-ref.png           |  Bin 193 -> 216 bytes
 test/degenerate-path-rgb24-ref.png     |  Bin 174 -> 189 bytes
 test/degenerate-path.c                 |   54 ++++++++++++++++++++++++++------
 4 files changed, 44 insertions(+), 10 deletions(-)

commit b607cdff98e621a6650bccef20f9877a0e7aa1d9
Author: Jeff Muizelaar <jeff@freiheit.infidigm.net>
Date:   Sat Jul 15 14:39:26 2006 -0400

    Test closed dashed paths where the first and last sub-path do not join.
    
    This tests the situation reported by Keith Wells where the start point of a
    closed dashed path was not being properly capped.

 test/dash-caps-joins-ps-argb32-ref.png |  Bin 1247 -> 2205 bytes
 test/dash-caps-joins-ref.png           |  Bin 2583 -> 4680 bytes
 test/dash-caps-joins.c                 |   45 +++++++++++++++++++------------
 3 files changed, 27 insertions(+), 18 deletions(-)

commit 84840e6bba6e72aa88fad7a0ee929e8955ba9051
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Jul 14 21:42:41 2006 -0400

    Use font matrix offset to reposition glyph origin instead of adjusting advance
    
    As the font matrix includes translation, which is otherwise unused for glyph
    transformation, the interpretation of translation is fairly arbitrary. For
    1.2.0, we choose to have this translation affect the glyph advance with the
    thought that it could be used to do letter spacing/kerning. That is fairly
    useless in practice, and a far more useful interpretation is to relocate
    the origin of each glyph.
    
    This patch uses the translation in the font matrix as an offset for the
    glyph origin in user space. It turns out glyph extents were already correctly
    shifted.
    
    The end result with this patch is to have cairo match the 1.0 behaviour for
    font matrix translations, but now we know why :-)
    
    Explanation above courtesy of Keith Packard.

 src/cairo-scaled-font.c |    6 +++---
 src/cairo-surface.c     |   12 +++++++-----
 2 files changed, 10 insertions(+), 8 deletions(-)

commit 47d3c5a2c63478288345235f26533f2d6059e815
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Fri Jul 14 20:06:34 2006 -0400

    Flush stdout after writing \r, to remove artifacts.

 test/cairo-test.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit c70edff0842bc6f7238e17a5fe92dddceec283d3
Author: Carl Worth <cworth@cworth.org>
Date:   Fri Jul 14 12:45:48 2006 -0700

    Add font-matrix-translation test case.

 test/.gitignore                      |    1 +
 test/Makefile.am                     |    1 +
 test/font-matrix-translation-ref.png |  Bin 0 -> 1006 bytes
 test/font-matrix-translation.c       |  113 ++++++++++++++++++++++++++++++++++
 4 files changed, 115 insertions(+), 0 deletions(-)

commit b390e2c45632a4974b85a6a5ea414e249adb62a3
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Jul 13 16:01:57 2006 -0700

    pixman-rotate: remove stale svg backend reference images

 test/pixman-rotate-svg-argb32-ref.png |  Bin 258 -> 0 bytes
 test/pixman-rotate-svg-rgb24-ref.png  |  Bin 358 -> 0 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

commit 2b30f85cade33653afddf536aa7e775dd360f501
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Jul 13 15:56:12 2006 -0700

    ft-text-vertical-layout: Update stale reference images

 test/ft-text-vertical-layout-pdf-argb32-ref.png |  Bin 956 -> 725 bytes
 test/ft-text-vertical-layout-svg-rgb24-ref.png  |  Bin 808 -> 808 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)

commit 5d64efdbb8fc4e17d4fa44d21068870cd2aea7ce
Merge: 9907813... 6a5d66f...
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Fri Jul 14 09:37:22 2006 -0700

    Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo

commit 9907813d575cefdda20c77d69ad911fa70d2cf4c
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Fri Jul 14 09:36:35 2006 -0700

    Fixed debug message to use new member name

 src/cairo-directfb-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 6a5d66f651b7fe94e74ee803a452bac5b54c95ca
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 13 18:53:25 2006 -0400

    Go back to "!!!CRASHED!!!" message now that there's no confusion.

 test/cairo-test.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 6c7099b0ccc926b4f427c3cceb1fed5534c693ec
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 13 18:49:52 2006 -0400

    Only generate HTML for log files passed on the command line.
    
    With the make bits already in place, this means that make retest
    creates HTML for only the retested tests.

 test/make-html.pl |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 4b22cb41a9c1fbfc310ae7fd024ceffdb4bf3947
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Jul 13 15:23:06 2006 -0700

    Use 'FAIL' instead of 'UNEXPECTED FAILURE' in test output.
    
    There's no ambiguity anymore due to duplicated printing, so go
    back to the classic, and easier to read wording.

 test/cairo-test.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b2d04d7f1a14c961ea10b76581436ae07dfe6ef5
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Jul 13 15:21:02 2006 -0700

    Rename no_fail_on_stdout to eliminate confusing negative inside a Boolean variable name

 test/cairo-test.c |   18 ++++++++++--------
 1 files changed, 10 insertions(+), 8 deletions(-)

commit ff1280ce98ecc9ddee7b63e21eaec3d47ed3df8b
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Jul 13 15:08:19 2006 -0700

    cairo-test.c: Prefer FALSE and TRUE for cairo_bool_t values.

 test/cairo-test.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit ebc736730615021b07b851b41c6de79248ca00e4
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 13 18:17:39 2006 -0400

    Fix test result formatting.

 test/cairo-test.c |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

commit 3f7593612f52f88eabb87de0c1efbf86bf31e8c2
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Jul 13 15:00:16 2006 -0700

    Make the various test and check targets depend on all as well.

 Makefile.am |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 307a17f78cd2adda8a59ef16385df3be5786d2bd
Merge: 5ed64e3... 1409b8b...
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Thu Jul 13 12:17:25 2006 -0700

    Merge branch 'master' of ssh+git://git.cairographics.org/git/cairo

commit 5ed64e3915a45785696fd741b69a03cc5050be88
Author: Michael Emmel <memmel@debian.localdomain>
Date:   Thu Jul 13 12:15:42 2006 -0700

    Rewrote to remove intermediate surfaces

 src/cairo-directfb-surface.c |  402 +++++++++++++++++++-----------------------
 1 files changed, 178 insertions(+), 224 deletions(-)

commit 1409b8be0ca00a0904b1732661915d3eba753a51
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 13 14:33:41 2006 -0400

    Fix Name tag in backend .pc files to include "cairo-".

 src/cairo-backend.pc.in |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b2668e944d1819f2b8f9973f1f42b1ca36bb193d
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 13 14:02:58 2006 -0400

    Use cairo_bool_t.

 test/cairo-test.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 510d23acef9fc75eb968795191091cbc1d33bc09
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 13 13:39:04 2006 -0400

    Fix doc typo.

 src/cairo.h |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 601c0503f7906151698929051852d13c377cfef1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 13 13:30:52 2006 -0400

    Send grep errors to hell^Wnull.

 test/Makefile.am |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit 09dfae5fbf34fb19b283973df7112b14638d6466
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 13 13:22:49 2006 -0400

    Don't write FAIL messages on stdout if both stdout/err are going to screen.

 test/cairo-test.c |   16 ++++++++++------
 1 files changed, 10 insertions(+), 6 deletions(-)

commit 778c4730a86296bf0a71080cf7008d7291792256
Author: Kent Worsnop <kworsnop@accesswave.ca>
Date:   Thu Jul 13 10:20:12 2006 -0700

    PDF: Fix for dash-no-dash test case, (so that dashing can be turned off)

 src/cairo-pdf-surface.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

commit d2d9a74c77d6bbc51502cee2288fd7d76c30f926
Author: Carl Worth <cworth@cworth.org>
Date:   Wed Jul 12 14:49:14 2006 -0700

    Add dash-no-dash test case to demonstrate PDF failure to turn off dashing.

 test/.gitignore           |    3 +-
 test/Makefile.am          |    8 ++-
 test/dash-no-dash-ref.png |  Bin 0 -> 152 bytes
 test/dash-no-dash.c       |   95 +++++++++++++++++++++++++++++++++++++++++++++
 4 files changed, 102 insertions(+), 4 deletions(-)

commit f3d45d17902cb109dacf30d826ea8f93408473ba
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Jul 13 10:04:55 2006 -0700

    Eliminate a few simple compiler warnings

 test/cairo-test.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 65d0431b98e7e8d966bbcb43a542a86a9c95e0dc
Author: Carl Worth <cworth@cworth.org>
Date:   Thu Jul 13 10:04:19 2006 -0700

    Add retest and recheck targets to the top-level Makefile

 Makefile.am |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

commit da0f348350c3ca28d40601aefbca12903632cc18
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 13 13:16:10 2006 -0400

     ***cworth finds them [the background colors] a bit too bright

 test/make-html.pl |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit cf1b23a4c57d436098619443068611a48b88187e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 13 12:58:24 2006 -0400

    Add prototype for draw in each test file and remove it from the header.

 test/a8-mask.c                                 |    2 ++
 test/bitmap-font.c                             |    2 ++
 test/cairo-test.h                              |    1 -
 test/caps-joins-alpha.c                        |    2 ++
 test/caps-joins.c                              |    2 ++
 test/caps-sub-paths.c                          |    2 ++
 test/clip-all.c                                |    2 ++
 test/clip-fill-rule-pixel-aligned.c            |    2 ++
 test/clip-fill-rule.c                          |    2 ++
 test/clip-nesting.c                            |    2 ++
 test/clip-operator.c                           |    2 ++
 test/clip-twice.c                              |    2 ++
 test/composite-integer-translate-over-repeat.c |    2 ++
 test/composite-integer-translate-over.c        |    2 ++
 test/composite-integer-translate-source.c      |    2 ++
 test/create-from-png-stream.c                  |    2 ++
 test/create-from-png.c                         |    2 ++
 test/dash-caps-joins.c                         |    2 ++
 test/dash-offset-negative.c                    |    2 ++
 test/dash-scale.c                              |    2 ++
 test/dash-zero-length.c                        |    2 ++
 test/degenerate-path.c                         |    2 ++
 test/device-offset-positive.c                  |    2 ++
 test/device-offset.c                           |    2 ++
 test/extend-reflect.c                          |    2 ++
 test/fill-and-stroke-alpha-add.c               |    2 ++
 test/fill-and-stroke-alpha.c                   |    2 ++
 test/fill-and-stroke.c                         |    2 ++
 test/fill-rule.c                               |    2 ++
 test/filter-nearest-offset.c                   |    2 ++
 test/ft-font-create-for-ft-face.c              |    2 ++
 test/ft-text-antialias-none.c                  |    2 ++
 test/ft-text-vertical-layout.c                 |    2 ++
 test/get-and-set.c                             |    2 ++
 test/get-group-target.c                        |    2 ++
 test/glyph-cache-pressure.c                    |    2 ++
 test/gradient-alpha.c                          |    2 ++
 test/leaky-dash.c                              |    2 ++
 test/leaky-polygon.c                           |    2 ++
 test/line-width-scale.c                        |    2 ++
 test/line-width.c                              |    2 ++
 test/linear-gradient.c                         |    2 ++
 test/mask-ctm.c                                |    2 ++
 test/mask-surface-ctm.c                        |    2 ++
 test/mask.c                                    |    2 ++
 test/move-to-show-surface.c                    |    2 ++
 test/new-sub-path.c                            |    2 ++
 test/nil-surface.c                             |    2 ++
 test/operator-clear.c                          |    2 ++
 test/operator-source.c                         |    2 ++
 test/paint-source-alpha.c                      |    2 ++
 test/paint-with-alpha.c                        |    2 ++
 test/paint.c                                   |    2 ++
 test/path-data.c                               |    2 ++
 test/pixman-rotate.c                           |    2 ++
 test/push-group.c                              |    2 ++
 test/rectangle-rounding-error.c                |    2 ++
 test/rel-path.c                                |    2 ++
 test/scale-source-surface-paint.c              |    2 ++
 test/select-font-face.c                        |    2 ++
 test/select-font-no-show-text.c                |    2 ++
 test/self-copy.c                               |    2 ++
 test/self-intersecting.c                       |    2 ++
 test/set-source.c                              |    2 ++
 test/show-glyphs-many.c                        |    2 ++
 test/show-text-current-point.c                 |    2 ++
 test/source-clip.c                             |    2 ++
 test/source-surface-scale-paint.c              |    2 ++
 test/surface-finish-twice.c                    |    2 ++
 test/surface-pattern.c                         |    2 ++
 test/text-antialias-gray.c                     |    2 ++
 test/text-antialias-none.c                     |    2 ++
 test/text-antialias-subpixel.c                 |    2 ++
 test/text-cache-crash.c                        |    2 ++
 test/text-pattern.c                            |    2 ++
 test/text-rotate.c                             |    2 ++
 test/transforms.c                              |    2 ++
 test/translate-show-surface.c                  |    2 ++
 test/trap-clip.c                               |    2 ++
 test/unantialiased-shapes.c                    |    2 ++
 test/unbounded-operator.c                      |    2 ++
 test/zero-alpha.c                              |    2 ++
 82 files changed, 162 insertions(+), 1 deletions(-)

commit f8eeca97684f7c8eba7b918c34fe5ccbf32e2f5f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 13 11:48:42 2006 -0400

    Tiny doc typo fix.

 src/cairo.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 0ac2bbbf52737b2e368de269651c56dab90c928a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 13 11:27:05 2006 -0400

    Improve test HTML generation:
    - Make "make retest" not generate all .log files.
    - Format improvements in the generated HTML file.

 test/Makefile.am  |   27 +++++++++++++++++++--------
 test/cairo-test.c |   16 ++++++++--------
 test/make-html.pl |   49 ++++++++++++++++++++++++++++---------------------
 3 files changed, 55 insertions(+), 37 deletions(-)

commit f79a9f5a5259f33284d5e63ef2ddac0be4ea7d41
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Jul 12 04:27:55 2006 -0400

    Improve backend .pc files generation:
    - Add all non-pkgconfig libs to Libs.private in cairo.pc
    - Make cairo-xlib-xrender.pc Require cairo-xlib.pc

 configure.in            |   56 ++++++++++++++++++++++++++++------------------
 src/Makefile.am         |    2 +-
 src/cairo-backend.pc.in |    2 +-
 src/cairo.pc.in         |    5 ++-
 4 files changed, 39 insertions(+), 26 deletions(-)

commit 973d3a3d1466830dcaa94e9fe39fa6fdf510fbbc
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Jul 11 22:19:39 2006 -0400

    More test suite infrastructure improvements:
    - Remove cairo_test_expect_failure.  cairo-test.c now checks
      env var CAIRO_XFAIL_TESTS to see if the running test is
      expected to fail.  The reason for expected failure is
      appended to the test description.
    - Test description is written out.
    - Failed/crashed tests also write a line out to stderr (in red),
      so one can now redirect stdout to /dev/null to only see failures.
    - cairo_test() has been changed to not take the draw function
      anymore, instead, draw function is now part of the test struct.
    - "make check" doesn't allow limiting backends to test using env
      var anymore.  To limit backends to test, one should use the
      TARGETS variable on the make command line.
    - "make check-valgrind" now writes its log to valgrind-log instead
      of valgrind.log, to not interfere with test log file processing.

 test/.gitignore                                |    1 +
 test/Makefile.am                               |    9 ++-
 test/README                                    |    6 +-
 test/a8-mask.c                                 |    9 +-
 test/bitmap-font.c                             |    5 +-
 test/cairo-test.c                              |   98 +++++++++++++++++-------
 test/cairo-test.h                              |   24 ++----
 test/caps-joins-alpha.c                        |    5 +-
 test/caps-joins.c                              |    5 +-
 test/caps-sub-paths.c                          |    5 +-
 test/clip-all.c                                |    5 +-
 test/clip-fill-rule-pixel-aligned.c            |    5 +-
 test/clip-fill-rule.c                          |    5 +-
 test/clip-nesting.c                            |    5 +-
 test/clip-operator.c                           |    7 +-
 test/clip-twice.c                              |    5 +-
 test/composite-integer-translate-over-repeat.c |    5 +-
 test/composite-integer-translate-over.c        |    5 +-
 test/composite-integer-translate-source.c      |    5 +-
 test/create-for-stream.c                       |   29 +++++---
 test/create-from-png-stream.c                  |    5 +-
 test/create-from-png.c                         |    5 +-
 test/dash-caps-joins.c                         |    5 +-
 test/dash-offset-negative.c                    |    5 +-
 test/dash-scale.c                              |    5 +-
 test/dash-zero-length.c                        |    5 +-
 test/degenerate-path.c                         |    5 +-
 test/device-offset-positive.c                  |    5 +-
 test/device-offset.c                           |    5 +-
 test/extend-reflect.c                          |    9 +-
 test/fallback-resolution.c                     |    6 +-
 test/fill-and-stroke-alpha-add.c               |    5 +-
 test/fill-and-stroke-alpha.c                   |    5 +-
 test/fill-and-stroke.c                         |    5 +-
 test/fill-rule.c                               |    5 +-
 test/filter-nearest-offset.c                   |    9 +-
 test/ft-font-create-for-ft-face.c              |    5 +-
 test/ft-text-antialias-none.c                  |    5 +-
 test/ft-text-vertical-layout.c                 |    5 +-
 test/get-and-set.c                             |    7 +-
 test/get-group-target.c                        |    5 +-
 test/glyph-cache-pressure.c                    |    5 +-
 test/gradient-alpha.c                          |    5 +-
 test/leaky-dash.c                              |    9 +-
 test/leaky-polygon.c                           |    5 +-
 test/line-width-scale.c                        |    5 +-
 test/line-width.c                              |    5 +-
 test/linear-gradient.c                         |    5 +-
 test/mask-ctm.c                                |    5 +-
 test/mask-surface-ctm.c                        |    5 +-
 test/mask.c                                    |    7 +-
 test/move-to-show-surface.c                    |    5 +-
 test/multi-page.c                              |    8 +-
 test/new-sub-path.c                            |    5 +-
 test/nil-surface.c                             |    5 +-
 test/operator-clear.c                          |    7 +-
 test/operator-source.c                         |    7 +-
 test/paint-source-alpha.c                      |    5 +-
 test/paint-with-alpha.c                        |    5 +-
 test/paint.c                                   |    5 +-
 test/path-data.c                               |    5 +-
 test/pdf-features.c                            |    2 +-
 test/pixman-rotate.c                           |    5 +-
 test/ps-features.c                             |    2 +-
 test/push-group.c                              |    5 +-
 test/rectangle-rounding-error.c                |    5 +-
 test/rel-path.c                                |    5 +-
 test/scale-source-surface-paint.c              |    5 +-
 test/select-font-face.c                        |    5 +-
 test/select-font-no-show-text.c                |    7 +-
 test/self-copy.c                               |    5 +-
 test/self-intersecting.c                       |    9 +-
 test/set-source.c                              |    5 +-
 test/show-glyphs-many.c                        |    5 +-
 test/show-text-current-point.c                 |    5 +-
 test/source-clip.c                             |    5 +-
 test/source-surface-scale-paint.c              |    5 +-
 test/surface-finish-twice.c                    |    5 +-
 test/surface-pattern.c                         |    5 +-
 test/svg-clip.c                                |    2 +-
 test/svg-surface.c                             |   10 +-
 test/text-antialias-gray.c                     |    5 +-
 test/text-antialias-none.c                     |    5 +-
 test/text-antialias-subpixel.c                 |    5 +-
 test/text-cache-crash.c                        |    7 +-
 test/text-pattern.c                            |    5 +-
 test/text-rotate.c                             |    9 +-
 test/transforms.c                              |    5 +-
 test/translate-show-surface.c                  |    5 +-
 test/trap-clip.c                               |    7 +-
 test/unantialiased-shapes.c                    |    5 +-
 test/unbounded-operator.c                      |    7 +-
 test/xlib-surface.c                            |    2 +-
 test/zero-alpha.c                              |    5 +-
 94 files changed, 386 insertions(+), 260 deletions(-)

commit 94bdbc15f79308269f1bcd74b3d8899f8458babc
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Jul 11 17:27:08 2006 -0400

    Improve test suite build infrastructure
    - Add new target recheck, that checks only failed tests
    - Add targets test and retest, and make html after (re)checking
    - Make targets html and index.html lazy, only update if any tests changed
    - Improve build system such that checking one test (using TESTS=...) doesn't
      build all tests
    - Remove pixman-rotate from XFAIL

 Makefile.am          |    4 ++-
 test/Makefile.am     |   69 ++++++++++++++++++++++++++++++++++++++++++--------
 test/cairo-test.c    |    7 +++--
 test/pixman-rotate.c |    3 +-
 4 files changed, 66 insertions(+), 17 deletions(-)

commit c45a9321759e5cc0fcf6eda85f91d09ebb4db0d2
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Jul 11 16:07:13 2006 -0400

    Use Bitstream Vera Sans and Latin text in ft-text-vertical.
    We don't really rely on the Japanese text and font, as FreeType
    synthesizes vertical metrics for all fonts.

 test/ft-text-vertical-layout-ps-argb32-ref.png  |  Bin 349 -> 298 bytes
 test/ft-text-vertical-layout-ref.png            |  Bin 1130 -> 834 bytes
 test/ft-text-vertical-layout-svg-argb32-ref.png |  Bin 1021 -> 799 bytes
 test/ft-text-vertical-layout-svg-rgb24-ref.png  |  Bin 1098 -> 808 bytes
 test/ft-text-vertical-layout.c                  |    4 ++--
 5 files changed, 2 insertions(+), 2 deletions(-)

commit fe647ca42b24ff844dd0d94642adaf46ea7a28dd
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Jul 11 15:18:14 2006 -0400

    Oops. Fix doc format.

 src/cairo.h |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

commit 90a46affe626c9afafd687ac2d71a57f4583e216
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Jul 11 13:36:52 2006 -0400

    Add note to docs for some enums about possible future additions.

 src/cairo.h |   17 +++++++++++++++++
 1 files changed, 17 insertions(+), 0 deletions(-)

commit d27a00874bc044b4c9aefacbc850d5f7ee106b6f
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Tue Jul 11 09:23:18 2006 -0400

    Disable PDF backend if zlib not found.
    Explicitly add -lm to CAIRO_LIBS

 configure.in |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

commit e0ad1aa995bcec4246c0b8ab0d5a5a79871ce235
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jul 10 13:45:51 2006 -0400

    Change version number of Sun's Xorg server with buggy repeat from 60800000 to
    60900000. (#7483, pointed by Brian Cameron)

 src/cairo-xlib-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit b006bf9d2c7d39c413527017fc792a38b598555a
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jul 10 11:52:58 2006 -0400

    Add change stat to ChangeLog.

 Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit ccb54b35ed2252ae9ece95204a5ad7b43cde936e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jul 10 10:35:42 2006 -0400

    Small doc fix.

 src/cairo.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

commit defa23206cfa83ad4460a868f78289ba7f7c1c53
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Mon Jul 10 10:26:19 2006 -0400

    Fix nil surface initializations for surface type. (#7322)

 src/cairo-surface.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit a1143d120fbc142fc6ae15f394cfbe400a4a0b3e
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Jul 8 21:04:21 2006 -0400

    Generate index of new symbols in 1.2.

 doc/public/cairo-docs.xml |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

commit 6efd145882155971be85b23807bd5c52d1025cc3
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Jul 8 17:52:24 2006 -0400

    Better creation rules for cairo.def.

 src/Makefile.am |   39 +++++++++++++--------------------------
 1 files changed, 13 insertions(+), 26 deletions(-)

commit f3f374fb8066e09da1948674decadc6c764f2a1b
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Sat Jul 8 16:39:52 2006 -0400

    Include cairo-svg.h in cairo_win32_api_headers. (bug 7462)

 src/Makefile.am |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

commit a443a4215869b3556d9d703c80061879020064ad
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 6 23:06:14 2006 -0400

    Fix doc typo.

 src/cairo-matrix.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 731925f00a7391755cabb9253c9a9f2b2dccbdb8
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 6 23:05:13 2006 -0400

    Fix doc syntax.

 src/cairo-matrix.c |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

commit 9c37cac22b071f9fb00f9000779bb988df6e010c
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 6 17:52:13 2006 -0400

    Fix typo when printing error for unsupported X formats.  It was mistakenly
    marking Green and Blue swapped.

 src/cairo-image-surface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 807cb2fd8e4867d5aab7bd2c887e17160cf9a22f
Author: David Reveman <davidr@novell.com>
Date:   Thu Jul 6 13:50:41 2006 -0400

    Ignore color for CAIRO_OPERATOR_CLEAR in glitz backend.

 src/cairo-glitz-surface.c |   17 +++++++++++------
 1 files changed, 11 insertions(+), 6 deletions(-)

commit 95016b3274f4eedf6bd917a5b8bf8f6745c54581
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 6 13:48:18 2006 -0400

    Make CAIRO_TEST_TARGET="" make check pass tests.

 test/cairo-test.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

commit f90182fe2ad383bf240e2b02003fd7cd0a7e90ff
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Thu Jul 6 13:42:25 2006 -0400

    Update test/README

 test/README |   50 +++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 37 insertions(+), 13 deletions(-)

commit 83dcbe05b5bce6619e650d63be58a35fcb1609c1
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Jul 5 04:29:54 2006 +0200

    For check-valgrind, call the version of libtool in our source distribution,
    not the one found in PATH.

 test/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 1cb0bc40a3ab9373d19c186d98059007f288fa13
Author: Behdad Esfahbod <behdad@behdad.org>
Date:   Wed Jul 5 04:22:32 2006 +0200

    Do not use sighandler_t.  Bug 7401.

 test/cairo-test.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

commit 91ad3ae78400d2d942354b8cde514480dffc5090
Author: Jonathon Jongsma <jonathon.jongsma@gmail.com>
Date:   Tue Jul 4 16:23:24 2006 -0500

    Fix documentation typo in cairo_scaled_font_get_font_options()

 src/cairo-scaled-font.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 94c5537924da3a6b00b106eda80e61a6f4a9a1f0
Author: Jonathon Jongsma <jonathon.jongsma@gmail.com>
Date:   Tue Jul 4 14:58:58 2006 -0500

    Fix a typo in cairo_font_extents_t documentation

 src/cairo.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

commit 57a644fb04bfd4831aa1ec1e5f82c989bbf90c8c
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Jul 1 05:06:11 2006 +0200

    RELEASING: Mention README as the source for blurbs

 RELEASING |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

commit 7bff2eb81905b2d1d01f087612fe8c1354166a94
Author: Carl Worth <cworth@cworth.org>
Date:   Sat Jul 1 04:37:50 2006 +0200

    Increment CAIRO_VERSION to 1.2.1 after making the 1.2.0 release

 RELEASING    |    2 +-
 configure.in |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
