A new cairo release 1.12.10 is now available from: http://cairographics.org/releases/cairo-1.12.10.tar.xz which can be verified with: http://cairographics.org/releases/cairo-1.12.10.tar.xz.sha1 be06d5aaa272bbbd08380f71ca710d5612881493 cairo-1.12.10.tar.xz http://cairographics.org/releases/cairo-1.12.10.tar.xz.sha1.asc (signed by Chris Wilson) Additionally, a git clone of the source tree: git clone git://git.cairographics.org/git/cairo will include a signed 1.12.10 tag which points to a commit named: 2d6204c67d4d0d9c5d03087c4c1609a81ef1fdb7 which can be verified with: git verify-tag 1.12.10 and can be checked out with a command such as: git checkout -b build 1.12.10 Release 1.12.10 (2013-01-16 Chris Wilson <chris chris-wilson co uk>) ==================================================================== A heap of bug fixes everywhere, and the gradual completion of the MSAA backend for cairo-gl. Perhaps the most noteworthy set of the bugfixes was the crusage lead by Behdad Eshfabod to make font handling by pango/cairo/fontconfig fully threadsafe. This testing revealed a couple of races that needed fixing in Cairo's scaled-font and glyph cache. Bug fixes --------- Append coincident elements to the recording's surface bbtree so that the list is not corrupted and the overlapping elements lost. Fix cairo-trace to correctly record map-to-image/unmap-image and then replay them. Ignore MappingNotifies when running the XCB testsuite as they are sent to all clients when the keyboard changes. The testsuite would detect the unexpected event and complain. Handle very large large images in the XCB backend. Fix a memory leak in the xlib/shm layer, and prevent use of the SHM surfaces after the display is closed. https://bugs.freedesktop.org/show_bug.cgi Handle resizing of bitmap fonts, in preparation for a fix to fontconfig to correctly pass on the user request for scaling. Always include subroutine 4 (hint replacement idion) when subsetting type 1 fonts in order to prevent a crash in cgpdftops on Mac OS/X Fix a couple of typos in the cairo-gobject.h header files for introspection. Prevent a mutex deadlock when freeing a scaled-glyph containing a recording-surface that itself references another scaled-glyph. https://bugs.freedesktop.org/show_bug.cgi?id=54950 Make scaled-font cache actually thread-safe and prevent use-after-frees. Restore support for older versions of XRender. A couple of typos and a few forgotten chunks prevented the xlib compositor from running correctly with XRender < 0.10. Note that there are still a few regressions remaining. Complete list of changes from 1.12.8 to 1.12.10 ----------------------------------------------- Adam Jackson (1): xlib/shm: Fix memory leak Adrian Johnson (1): doc: Add CAIRO_MIME_TYPE_UNIQUE_ID to list of supported mime types Alejandro G. Castro (1): gl/msaa: Avoid the stencil buffer when possible during masking Behdad Esfahbod (3): [Minor] Improve logging [ft] Remove ancient check for FT_Bitmap_Size.y_ppem [ft] Fix resizing of bitmap fonts Chris Wilson (50): version: Post-release bump to 1.12.9 trace: Fix operand emission for map-to-image and unmap-image trace: Do not forcibly add surfaces to the dictionary script: Fix map-to-image/unmap stack manipulations mempool: Reduce the assertion into an alignment adjustment for the base xlib/shm: Populate send_event and serial xlib/shm: Rate-limit events and only use as necessary xlib/shm: Do not trigger a surplus event from XShmPutImage Revert "xlib/shm: Do not trigger a surplus event from XShmPutImage" perf/chart: Show the geometric average as an extra column perf/chart: Contract the default output filenames gl: Use vfunc for vertex emission gl: Provide a fast emitter for solid glyphs gl: Provide a fast emitter for solid spans xlib/shm: Fix typo in creation of a SHM image xlib: Use SHM transport for ordinary image uploads stroke: Make the incremental trapezoid stroker optionally available again xlib: Avoid copying the source twice if it is an image scaled-font: Mention ownership of returned object from get_font_face() Add missing local slim proto for cairo_recording_surface_create gobject: Fix my typo s/TEST/TEXT/ in the previous commit script: Recompress strings using LZO whilst binding traces xlib/shm: Only mark the shm pixmap as active if we upload into it xlib: Simplify source creation by use of map-to-image image: Call pixman without a mask for opaque regions of inplace_spans script: Attempt to decompress images in place script: Simply exchange source/dest images for _set_source_image script: Thaw the scaled font cache on the error path scaled-font: Always hold the mutex even for single glyph probes scaled-font: Free the cached glyphs from the font before taking the global lock scaled-font: Assert if attempting to finish a frozen font scaled-font: Hold the scaled font mutex whilst reaping from the global cache xlib/shm: Discard damage upon shm finish xlib/shm: Only destroy an existing damage scaled-font: Remove a non-threadsafe double-freeze assert image: Allocate a temporary buffer for inline span composition scaled-font: Make reset-font-cache threadsafe scaled-font: Fix use after free when clearing the glyph cache gstate: Use the polygon intermediate for geometry queries stroke: Flip the dev slope as well for computing the cusp on a degeneracy xlib: map-to-image requires an extents xcb: _cairo_scaled_font_reset_cache does it own locking xlib: Only fallback through the mask intermediate if we can composite the mask xlib: Handle lack of XRenderFillRectangles compositor: Convert image surface into backend source compositor: Pass back the internal failure xlib: Initialise Pixmap for proxy sources script: Set decompression length prior to calling decompressors 1.12.10 release version: Post-release bump to 1.12.11 Chuanbo Weng (2): gl/msaa: Use GL_IMG_multisampled_render_to_texture when available gl: Support the GL_IMG_texture_npot extension David Maxwell (1): type1-subset: always include subroutine 4 (hint replacement idiom) Henry Song (6): gl: Flush context upon evicting a gradient gl/msaa: Also setmsaa_active to true for non-texture surfaces gl: Properly disable ctx->spans when necessary gl/msaa: Add full support for masking with the SOURCE operator gl/msaa: Only clear parts of the stencil buffer we will use gl: Support for non-texture sources and masks Kouhei Sutou (2): gobject: Add the correct macro name for the hint-metrics type gobject: Fix "text_cluster_flags_get_type" typo Martin Robinson (11): gl/msaa: Share the depth/stencil buffer among all surfaces gl: Add BGRA download support for GLES2 Revert "gl/msaa: Share the depth/stencil buffer among all surfaces" gl: Cleanup selection of multisampling mode boilerplate/glx: Add a target with multisampling and stencil support gl: Better handling of clear surfaces gl: Do less work when acquiring and releasing devices gl/msaa: No need to set the clip when masking gl/msaa: Rely on the stencil buffer to cache the clip gl/msaa: Check for more extensions before using MSAA gl: Follow up fix for the previous commit Uli Schlachter (4): boilerplate-xcb: Ignore MappingNotify events context: Use recording surfaces for unbounded groups test: Add xcb-huge-subimage xcb: Fix xcb-huge-subimage Zozó Teki (1): recording: Append new elements to the end of the bbtree chain What is cairo ============= Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), quartz, win32, and image buffers, as well as PDF, PostScript, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB. Cairo is designed to produce consistent output on all output media while taking advantage of display hardware acceleration when available (for example, through the X Render Extension). The cairo API provides operations similar to the drawing operators of PostScript and PDF. Operations in cairo include stroking and filling cubic Bézier splines, transforming and compositing translucent images, and antialiased text rendering. All drawing operations can be transformed by any affine transformation (scale, rotation, shear, etc.). Cairo has been designed to let you draw anything you want in a modern 2D graphical user interface. At the same time, the cairo API has been designed to be as fun and easy to learn as possible. If you're not having fun while programming with cairo, then we have failed somewhere---let us know and we'll try to fix it next time around. Cairo is free software and is available to be redistributed and/or modified under the terms of either the GNU Lesser General Public License (LGPL) version 2.1 or the Mozilla Public License (MPL) version 1.1. Where to get more information about cairo ========================================= The primary source of information about cairo is: http://cairographics.org/ The latest versions of cairo can always be found at: http://cairographics.org/download Documentation on using cairo and frequently-asked questions: http://cairographics.org/documentation http://cairographics.org/FAQ Mailing lists for contacting cairo users and developers: http://cairographics.org/lists Roadmap and unscheduled things to do, (please feel free to help out): http://cairographics.org/roadmap http://cairographics.org/todo
Attachment:
signature.asc
Description: Digital signature