summaryrefslogtreecommitdiff
path: root/graphics/cairo/distinfo
AgeCommit message (Collapse)AuthorFilesLines
2013-08-31Changes 1.12.16:adam1-4/+4
Bug fixes * Set the correct orientation for simple boxes with a negative scale factor. * Fix the creation of the shading dictionary in PDF. * Fix a crash in PDF when incorporating an image with CAIRO_EXTEND_PAD. * Avoid upscaling bitmap fonts if possible. * Fix an assertion failure within the mempool allocator for shared memory. * Fix allocation size for CFF subsets. * Export cairo_matrix_t for GObject bindings. * Fix a double free in the Quartz backend. * Fix origin of GDI StretchBlits for the Windows backend * Fix error propagation for requests to create a similar surface with negative size. * Fix complex clipping of trapezoids with regions * Stop leaking the image data when loading PNGs * Fix unbounded operations with a clip mask through the span compositor * Add missing checks before rendering to a finished surface - so we return an error rather than hit an assert. * Prevent an assertion failure when creating similar GL surfaces larger than supported by hardware. * Prevent a double free of a similar image under Windows.
2013-02-12Update cairo* to 1.12.14:wiz1-4/+4
Release 1.12.14 (2013-02-10 Chris Wilson <chris@chris-wilson.co.uk>) ==================================================================== In the last week we had a few more bugs reported and promptly resolved. As these are a combination of regressions and stability issues, it is time for a prompt update and release. Many thanks to everyone for testing and reporting issues, and helping to make Cairo better. Bug fixes --------- Prevent user callbacks accessing user-data during destroy to prevent use-after-free bugs. https://bugzilla.mozilla.org/show_bug.cgi?id=722975 Use standard names for glyphs in subset fonts (PDF). https://bugs.freedesktop.org/show_bug.cgi?id=60248 Fix detection of Win98. The logic for detecting Win98 (and its broken AlphaBlend()) was inverted, disabling AlphaBlend() for everyone. Prevent numeric overflow from extrapolating polygon edges to the clip boundary and causing severe render artifacts. https://bugs.freedesktop.org/show_bug.cgi?id=60489 Fix computation of glyph string coordinates when breaking up runs for xlib. Fix an assertion in the win32 backend for failing to clear its similar-images. https://bugs.freedesktop.org/show_bug.cgi?id=60519
2013-02-03Update to 1.12.12:wiz1-4/+4
Release 1.12.12 (2013-01-31 Chris Wilson <chris@chris-wilson.co.uk>) =================================================================== The goal of this release is to fix the synchronisation problems that were exhibited in the SHM transport for cairo-xlib. This cropped up any place that tried to rapidly push fresh pixel data to the X server through an ordinary image surface, such as gimp-2.9 and evince. Bug fixes --------- Avoid replacing the entire image when uploading subimages https://bugs.freedesktop.org/show_bug.cgi?id=59635 Force synchronisation for scratch SHM image buffers, so that we do not overwrite data as it is being read by X. https://bugs.freedesktop.org/show_bug.cgi?id=59635 (also) Fix typos in detecting multisampling for the GL (MSAA) backend. Fix a memory leak in the GL (MSAA) backend. Fix a reference counting bug when mapping a GL surface to an image.
2013-01-21Update to 1.12.10:wiz1-4/+4
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.
2012-11-04Add comments to patches.wiz1-4/+4
2012-11-04Update to 1.12.8:wiz1-7/+4
Release 1.12.8 (2012-11-24 Chris Wilson <chris@chris-wilson.co.uk>) =================================================================== Another couple of weeks and a few more bugs have been found and fixed, it is time to push the next point release. Many thanks to everyone who reported their issues and helped us track down the bugs and helped testing the fixes. Bug fixes --------- Expand the sanity checking for broken combinations of XSendEvent and ShmCompletionEvent. Notice that "The X.Org Foundation" sometimes also identifies itself as "The Xorg Foundation". Handle various ages of libXext and its Shm headers. Fix the invalid clipping of the source drawable when using SHM transport to upload images. https://bugs.freedesktop.org/show_bug.cgi?id=56547 Handle all Type1 postscript operators for better font compatibility. https://bugs.freedesktop.org/show_bug.cgi?id=56265 Fix a couple of memory leaks in Type1 font subsetting https://bugs.freedesktop.org/show_bug.cgi?id=56566 Tighten the evaluation of the start/stop pen vertices, and catch a few instances where we would use a fan instead of a bevel. https://bugs.freedesktop.org/show_bug.cgi?id=56432 Fix assumption that geometric clipping always succeeds with the span-compositor. https://bugs.freedesktop.org/show_bug.cgi?id=56574 Fix call to spline intersection when evaluating whether a stoke is visible. Remember to copy inferior sources when using SHM to readback the surface for use as a source.
2012-11-01Bring back previous patch in correct version to fix SHM part ofwiz1-2/+4
build on NetBSD-5 with native Xorg. Additionally, disable GL support since NetBSD-5's MesaLib is too old and, according to upstream, cairo-gl "is only really being experimented with currently by toy applications". Bump PKGREVISION. Tested by Andreas Gustafsson and David Brownlee.
2012-10-31Remove previous two patches again, since they make cairo fail on NetBSD-6.wiz1-3/+2
Reported by abs. Bump PKGREVISION.
2012-10-30Add more patches from upstream to get further in build on NetBSD-5.wiz1-2/+3
2012-10-26Add another patch from upstream fixing martin's firefox problem,wiz1-1/+2
tested by martin. Bump PKGREVISION.
2012-10-22Update to 1.12.6:wiz1-7/+4
Release 1.12.6 (2012-10-22 Chris Wilson <chris@chris-wilson.co.uk>) =================================================================== Thanks to everyone who download cairo-1.12.4 and gave us their feedback. It truly was invaluable and has helped us to fix many portability issues that crept in with some of the new features. This release aims to fix those stability issues and run on a wider range of systems. Bug fixes --------- Fix the recording surface to actually snapshot the source and so fix PDF drawing. Calling XSendEvent with an XShmCompletionEvent is incompatabile with older Xorg servers. Reorder CloseDisplay chain so that XShm is not reinstantiated after shutdown, causing a potential crash if the Display was immediately recreated using the same memory address. Make sure that the Xserver has attached to the SHM segment before deleting it from the global namespace on systems that do not support deferred deletion. Type1 subsetting support for PDF (and PS) was once again improved to work with a larger number of PDF readers. GLESv2 build fixes and improved support for embedded GPUs. Tweak the invisible pen detection for applications that are currently using too large values for geometric tolerance. A build fix for older freetype libraries.
2012-10-20Second try at updating to 1.12.4 with an additional patch fromwiz1-4/+7
Chris Wilson (upstream). Fixes problems on NetBSD and OS X. Bump PKGREVISION compared to last 1.12.4 version.
2012-10-08Downgrade cairo back to yesterday's version.wiz1-5/+4
1.12.4 causes SHM problems on OS X and NetBSD. E.g. for firefox, during startup, on 6.99.12/amd64: ###!!! ABORT: X_ShmAttach: BadAccess (attempt to access private resource denied); 11 requests ago: file /scratch/devel/xulrunner/work/mozilla-release/toolkit/xre/nsX11ErrorHandler.cpp, line 157 ###!!! ABORT: X_ShmAttach: BadAccess (attempt to access private resource denied); 11 requests ago: file /scratch/devel/xulrunner/work/mozilla-release/toolkit/xre/nsX11ErrorHandler.cpp, line 157 zsh: segmentation fault (core dumped) firefox Or for xchat on OS X Lion: The program 'xchat' received an X Window System error. This probably reflects a bug in the program. The error was 'BadAccess (attempt to access private resource denied)'. (Details: serial 5738 error_code 10 request_code 133 minor_code 1) (Note to programmers: normally, X errors are reported asynchronously; that is, you will receive the error a while after causing it. To debug your program, run it with the --sync command line option to change this behavior. You can then get a meaningful backtrace from your debugger if you break on the gdk_x_error() function.)
2012-10-08Add patch from cairo's GIT repository to fix crashes with older versionstron1-1/+2
of X.org. XChat now works again under Mac OS X Lion.
2012-10-07Update to 1.12.4:wiz1-4/+4
Release 1.12.4 (2012-10-05 Chris Wilson <chris@chris-wilson.co.uk>) =================================================================== More bugs, and more importantly, more fixes. On the cairo-gl side, we have refinements to the MSAA compositor which enables hardware acceleration of comparitively low-quality antialiasing - which is useful in animations and on very high density screens. For cairo-xlib, we have finally enabled SHM transport for image transfers to and from the X server. A long standing required feature, SHM transport offers a notable reduction in rendering latency by reducing the number of copies required to upload image data - given hardware and driver support, cairo-xlib can now perform zero copy uploads onto the GPU. And as usual Adrian Johnson has been very busy fixing many different corner cases in cairo-pdf, impoving opacity groups and font subsetting. Last, but not least, for cairo-image Søren Sandmann Pedersen added support for rendering glyphs to pixman and using that from within cairo. The new glyph rendering facility reduces the overhead for setting up the compositing operation, improving glyph thoughput for the image backend by a factor of about 4. And before he did so, he also fixed up a few bugs in the existing glyph rendering code. So many thanks to Andrea Canciani, Adrian Johnson, Chuanbo Weng, Dongyeon Kim, Henry Song, Martin Robinson, Søren Sandmann Pedersen and Uli Schlachter for their contributions, finding and fixing bugs. Bug fixes --------- Interior boxes were being dropped when amalgamating regions during tesselation. https://bugs.freedesktop.org/show_bug.cgi?id=49446 Allow building without gtk-doc installed Invalid edge generation whilst reducing complex polygons. https://bugs.freedesktop.org/show_bug.cgi?id=50852 Stroking around tight cusps Use locale correct formats for reading font subsetting and valid buffers. https://bugs.freedesktop.org/show_bug.cgi?id=51443 Ensure that the type1 subset includes all the glyph encodings https://bugs.freedesktop.org/show_bug.cgi?id=53040 Upload the whole source for a repeating pattern. https://bugs.freedesktop.org/show_bug.cgi?id=51910 Fix damage tracking to handle continuation chunks corectly and so prevent crashes on win32. https://bugs.freedesktop.org/show_bug.cgi?id=53384 Avoid emitting miter joins for degenerate line segments https://bugzilla.mozilla.org/show_bug.cgi?id=407107 Convert the relative path semgents into the backend coordinates and then back again to user coordinates (cairo_copy_path, cairo_append_path) https://bugs.freedesktop.org/show_bug.cgi?id=54732 Fix extents computations for a degenerate path consisting only of a move-to https://bugs.freedesktop.org/show_bug.cgi?id=54549 Prevent crashing on a degenerate project edge after polygon intersection https://bugs.freedesktop.org/show_bug.cgi?id=54822
2012-09-13The Solaris linker requires an archive contain at least one symbol, sojperkin1-1/+2
provide one. Fixes Solaris build.
2012-09-07Changes 1.12.2:adam1-8/+6
After such a long gestation period for the release of Cairo 1.12, we inevitably accumulated a few bugs that were flushed out by broadening the test base. Thanks to everybody who tried the release, apologies to any one unfortunate enough to encounter a bug and many thanks for reporting it.
2012-06-16Fix 32 bit build under Mac OS X Lion.tron1-1/+3
2011-02-15make cairo-gobject usable for clientsdrochner1-1/+2
2011-02-12put the cairo gobject into its own pkg to avoid the heavy glib dependencydrochner1-1/+2
in the base pkg
2010-12-26Update to 1.10.2:wiz1-7/+4
Release 1.10.2 (2010-12-25 Chris Wilson <chris@chris-wilson.co.uk>) =================================================================== The cairo community is pleased to announce the 1.10.2 release of the cairo graphics library. This is the first update to cairo's stable 1.10 series and contains a large number of bug fixes. While many people have contributed and have help to test the release, 2 people deserve special recognition for their efforts in tracking down and fixing bugs, Andrea Canciani and Adrian Johnson. Thanks to their tremendous efforts, and of all cairo contributors, it is much appreciated. We recommend everyone upgrade to cairo 1.10.2 and hope that everyone will continue to have lots of fun with cairo! -Chris Bug fixes --------- Fix embedding of grayscale jpegs in PS. https://bugs.freedesktop.org/show_bug.cgi?id=31632 Fix the reported path of extents containing a curve. Fix the compositing of unaligned boxes. Reset the clipper in PDF upon finish. Fix degenerates arcs to become a degenerate line. Build support for autoconf 2.67 Fix painting of transformed patterns in PS Fix the EPS bounding box for PS https://bugs.freedesktop.org/show_bug.cgi?id=24688 Fix the missing content for EPS https://bugs.freedesktop.org/show_bug.cgi?id=24688 Fix regression upon changing page size in PS/PDF https://bugs.freedesktop.org/show_bug.cgi?id=24691 Only use ActualText with PDF-1.5 documents Fix the bbox for type1 fallbacks. Reset the color after ending the context in PDF https://bugs.freedesktop.org/show_bug.cgi?id=31140 Fix the advance of subsetted type1 fonts https://bugs.freedesktop.org/show_bug.cgi?id=31062 Fix handling of EXTEND_NONE gradients for PDF Restrict in-place optimisation for a8 image masks with SOURCE
2010-10-12Fix build on DragonFly.joerg1-2/+3
2010-09-15Add upstream bug report that was already filed by someone else. Problem iswiz1-2/+2
fixed in upstream git.
2010-09-15Remove comma at end of enumeration -- breaks e.g. snes9x-gtk compilation.wiz1-1/+2
Bump PKGREVISION.
2010-09-13Update to 1.10.0. Add default-on xcb option (implying x11 option).wiz1-6/+6
Release 1.10.0 (2010-09-06 Chris Wilson <chris@chris-wilson.co.uk>) =================================================================== The cairo community is astounded (and flabbergast) to finally announce the 1.10.0 release of the cairo graphics library. This is a major update to cairo, with new features and enhanced functionality which maintains compatibility for applications written using any previous major cairo release, (1.8, 1.6, 1.4, 1.2, or 1.0). We recommend that anybody using a previous version of cairo upgrade to cairo 1.10.0. One of the more interesting departures for cairo for this release is the inclusion of a tracing utility, cairo-trace. cairo-trace generates a human-readable, replayable, compact representation of the sequences of drawing commands made by an application. This can be used to inspecting applications to understand issues and as a means for profiling real-world usage of cairo. The traces generated by cairo-trace have been collected in git://git.cairographics.org/git/cairo-traces and have driven the performance tuning of cairo over the last couple of years. In particular, the image backend is much faster with a new polygon rasterisation and a complete overhaul of the tessellator. Not only is this faster, but also eliminates visual artifacts from self-intersecting strokes. Not only has cairo-trace been driving performance improvements within cairo, but as a repeatable means of driving complex graphics it has been used to tune OpenGL, DDX, and pixman. Cairo's API has been extended to better support printing, notably through the ability to include a single compressed representation of an image for patterns used throughout a document, leading to dramatic file size reductions. Also the meta-surface used to record the vector commands compromising a drawing sequence is now exposed as a CAIRO_SURFACE_TYPE_RECORDING, along with a new surface that is a child of a larger surface, CAIRO_SURFACE_TYPE_SUBSURFACE. One typical usage of a subsurface would be as a source glyph in a texture atlas, or as a restricted subwindow within a canvas. Cairo's API has also resurrected the RGB16 format from the past as the prevalence of 16-bit framebuffers has not diminished and is a fore-taste of the extended format support we anticipate in the future. Increasing cairo's utility, we introduce the cairo_region_t for handling sets of pixel aligned rectangles commonly used in graphics applications. This is a merger of the GdkRegion and the pixman_region_t, hopefully providing the utility of the former with the speed of the latter. Furthermore cairo has been reworked to interoperate more closely with various acceleration architectures, gaining the ability to share those hardware resources through the new cairo_device_t. For instance, with the new OpenGL backend that supersedes the Glitz backend, hardware and rendering operations can be shared between a classic OpenGL application mixing libVA for the hardware assisted video decode with cairo for high quality overlays all within the same OpenGL canvas. Many thanks for the hard work of Adrian Johnson, Andrea Canciani, Behdad Esfahbod, Benjamin Otte, Carl Worth, Carlos Garcia Campos, Chris Wilson, Eric Anholt, Jeff Muizelaar, Karl Tomlinson, M Joonas Pihlaja, Søren Sandmann Pedersen and many others that have contributed over the last couple of years to cairo. Thank you all! Snapshot 1.9.14 (2010-07-26) ============================ A quiet couple of weeks, hopefully Cairo is seeing widescale deployment and we are being to see the results of the stabilisation effort. Clipping bugs seems to have been the order of the last couple of weeks, with a couple reported and duly fixed. Thank you Igor Nikitin and Karl Tomlinsion for finding those regressions. At this point all that seems to remain to do is to fix the outstanding regressions in the PDF backend... Bugs fixes ---------- Clip doesn't work for text on the image backend https://bugs.freedesktop.org/show_bug.cgi?id=29008 Add explicit dependency for cxx https://bugs.freedesktop.org/show_bug.cgi?id=29114 Fix regressions in reporting clip extents https://bugs.freedesktop.org/show_bug.cgi?id=29120 https://bugs.freedesktop.org/show_bug.cgi?id=29121 https://bugs.freedesktop.org/show_bug.cgi?id=29122 https://bugs.freedesktop.org/show_bug.cgi?id=29124 https://bugs.freedesktop.org/show_bug.cgi?id=29125 Snapshot 1.9.12 (2010-07-12) ============================ A couple of weeks spent fixing those annoying bugs and cleaning up the build system; the list of outstanding tasks to complete for the stable release is finally shrinking. The chief bug fixer has been Benjamin Otte who not only made sure that the public API is consistent and being tested for its consistency, but also ensured that the documentation was up-to-date and spent time clarifying cases where even the Cairo developers have come unstuck in the past. Many thanks, Benjamin. However, he was not alone, as Andrea Canciani continued his fine work in isolating broken corner cases and proceeding to fix them, and tidying up the quartz backend. And last, but definitely not least, M Joonas Pihlaja tried building Cairo across a perverse range of systems and fixed up all the loose bits of code that came unravelled. Thanks everybody! API Changes ----------- cairo_surface_set_mime_data, cairo_surface_get_mime_data: The length parameter is now an unsigned long (as opposed to an unsigned int). The parameter is intended to be an equivalent to a size_t without requiring POSIX types and be large enough to store the size of the largest possible allocation. cairo_gl_surface_create_for_texture: This a new surface constructor for cairo-gl that explicitly enables render-to-texture for foreign, i.e. application, textures. cairo_region_xor, cairo_region_xor_rectangle A couple of utility routines add to the region handling interface for the purpose of replacing existing GdkRegion functionality. Bugs fixes ---------- https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/600622 Inkscape was caught in the act of attempting to modify a finished surface. Unfortunately, we had the ordering of our guards and assertions wrong and so an ordinary application error was triggering an assert in Cairo. This lead Benjamin to add a test case to ensure that the entire public API could handle erroneous input and then proceeded to fix a whole slew of uncovered bugs. https://bugs.freedesktop.org/show_bug.cgi?id=28888 A regression introduced by the special casing of uploading images to an xlib surface in-place which was ignoring the translation applied to the image. Snapshot 1.9.10 (2010-06-26) ============================ The first "quick" snapshot in the run up to the stable release. The last snapshot was picked up by the bleeding edge distributions and so the bug reports have to started to roll in. The most frequent of these are the introduction of rendering errors by applications that modify a surface without subsequently calling cairo_surface_mark_dirty(). Make sure the application developers are aware of increased reliance on strict use of the Cairo API before 1.10 is released! The usual slew of bugs reported and we would like to thank Zoxc for contributing the WGL interface for cairo-gl, and finding more build failures on win32. And it just wouldn't be a 1.9 snapshot unless Benjamin Otte improved the error handling within cairo-gl, as well as isolating and fixing some more errors in the test suite. The biggest bug of the snapshot turned out to be a major sign extension issue that had lain hidden for many years and was suddenly exposed by incorrectly rounding rectangles when performing non-antialiased rendering. Also to the relief of many we have included the downstream patch to honour the user's LCD filtering preferences for subpixel rendering of fonts. The interface remains private for the time being, whilst the proposed public API is finalized. API changes ----------- None. Snapshot 1.9.8 (2010-06-12) =========================== One major API changes since the last snapshot, and a whole slew of bugs fixed and inconsistencies eliminated. Far too many bugs fixed to individually identify. We need to thank Benjamin Otte for his fantastic work on the cairo-gl backend making it faster and more robust, Andrea Canciani for finding so many bugs and developing test cases for them, as well fixing them. And last but not least we must all thank Adrian Johnson for continuing to eliminate bugs and improving the PostScript and PDF backends. This snapshot represents almost 4 months of bug fixing, bringing Cairo to a point where we consider it almost ready to be a candidate for release. There are a few known bugs left to be fixed, being tracked in https://bugs.freedesktop.org/show_bug.cgi?id=24384, so please give Cairo a whirl and report any regressions. The plan is to release a new snapshot every other week leading to a 1.10 release with a target date of 2010-08-16. API additions ------------- CAIRO_FORMAT_RGB16_565 16 bit devices still remain popular, and so with great demand, CAIRO_FORMAT_RGB16_565 has been restored enabling applications to create and use 16 bit images as sources and render targets. cairo_surface_create_for_rectangle() It is common practice to cut an image up into many smaller pieces and use each of those as a source - a technique called texture atlasing. cairo_surface_create_for_rectangle() extends Cairo to directly support use of these subregions of another cairo_surface_t both as a source and as a render target. cairo_region_create() cairo_region_create_rectangle() cairo_region_create_rectangles() cairo_region_copy() cairo_region_reference() cairo_region_destroy() cairo_region_equal() cairo_region_status() cairo_region_get_extents() cairo_region_num_rectangles() cairo_region_get_rectangle() cairo_region_is_empty() cairo_region_contains_rectangle() cairo_region_contains_point() cairo_region_translate() cairo_region_subtract() cairo_region_subtract_rectangle() cairo_region_intersect() cairo_region_intersect_rectangle() cairo_region_union() cairo_region_union_rectangle() The Cairo region API was actually added a couple of snapshots ago, but we forgot to mention it at the time. A simple API for the handling of rectangular pixel-aligned regions by Soeren Sandmann. Backend-specific improvements ----------------------------- cairo-gl Benjamin Otte made more than 200 commits in which he refactored the cairo-gl backend, reducing a lot of code duplication and enabled him to begin working on improving performance by reducing state changes and associated overhead. cairo-xlib Access to the underlying connection to the Display is now thread-safe enabling cairo-xlib to be used in a multi-threaded application without fear of random corruption. Thanks Benjamin Otte! cairo-xlib will now attempt to use PolyModeImprecise when compositing trapezoids (i.e. a fill or a stroke operation with a non-trivial path) which should allow hardware drivers more scope for accelerating the operation at the cost of potentially incurring minute rendering errors. The mode can be forced back to PolyModePrecise by setting the antialias parameter to CAIRO_ANTIALIAS_SUBPIXEL. cairo-svg A notable improvement was contributed by Alexander Shulgin to enable SVG to reference external image through the use an extended MIME data type. Snapshot 1.9.6 (2010-02-19) =========================== API additions ------------- Add cairo_device_t The device is a generic method for accessing the underlying interface with the native graphics subsystem, typically the X connection or perhaps the GL context. By exposing a cairo_device_t on a surface and its various methods we enable finer control over interoperability with external interactions of the device by applications. The use case in mind is, for example, a multi-threaded gstreamer which needs to serialise its own direct access to the device along with Cairo's across many threads. Secondly, the cairo_device_t is a unifying API for the mismash of backend specific methods for controlling creation of surfaces with explicit devices and a convenient hook for debugging and introspection. The principal components of the API are the memory management of: cairo_device_reference(), cairo_device_finish() and cairo_device_destroy(); along with a pair of routines for serialising interaction: cairo_device_acquire() and cairo_device_release() and a method to flush any outstanding accesses: cairo_device_flush(). The device for a particular surface may be retrieved using: cairo_surface_get_device(). The device returned is owned by the surface. API changes (to API new in the cairo 1.9.x series) -------------------------------------------------- cairo_recording_surface_create() cairo_recording_surface_ink_extents() These are the replacement names for the functions previously named cairo_meta_surface_create and cairo_meta_surface_ink_extents. cairo_surface_set_mime_data This interface is now changed such that the MIME data will be detached if the surface is modified at all. This guarantees that the MIME data will not become out of synch due to surface modifications, and also means that for the MIME data to be useful, it must be set after all modifications to the surface are complete. API removal (of experiment API) ------------------------------- The cairo-glitz backend is removed entirely, (in favor of the new cairo-gl backend). See below for more on cairo-gl. Generic fixes ------------- Many improvements for drawing of dashed strokes Fix incorrect handling of negative offset Faster computation of first dash (avoids near-infinite looping) Approximate extremely fine dash patterns with appropriate alpha value Optimize spans-based renderers for repeated rows, (such as in a rounded rectangle) Backend-specific improvements ----------------------------- cairo-drm This is a new, direct-rendering backend that supports Intel graphics chipsets in the i915 and i965 families. It's still experimental and will likely remain that way for a while. It's already got extremely good performance on the hardware it supports, so if nothing else provides a working proof and performance target for the cairo-gl work for Intel graphics. cairo-gl Start using GLSL to accelerate many operations. Many thanks to Eric Anholt and T. Zachary Laine for this work. For the first time, we have what looks like what will be a very compelling OpenGL-based backend for cairo (in terms of both quality and performance). See this writeup from Eric for more details on recent progress of cairo-gl (which he presented at FOSDEM 2010): http://anholt.livejournal.com/42146.html cairo-image The image backend is made dramatically faster (3-5 times faster for benchmarks consisting primarily of glyph rendering). cairo-quartz fixes: Many fixes from Robert O'Callahan and Andrea Canciani including: Fixed gradient pattern painting Improved A8 image handling Fixes for "unbounded" and other compositing operators cairo-pdf fixes: Improvements to embedding of JPEG and JPEG2000 data. cairo-ps fixes: Fix printing of rotated user fonts. Snapshot 1.9.4 (2009-10-15) =========================== API additions: cairo_meta_surface_create() cairo_meta_surface_ink_extents() Finally exporting the internal meta-surface so that applications have a method to record and replay a sequence of drawing commands. cairo_in_clip() Determines whether a given point is inside the current clip. ??? Should this be called cairo_in_paint() instead? in-clip is the test that is performed, but in-paint would be similar to in-fill and in-stroke. New utilities: cairo-test-trace A companion to cairo-perf-trace, this utility replays a trace against multiple targets in parallel and looks for differences in the output, and then records any drawing commands that cause a failure. Future plans: Further minimisation of the fail trace using "delta debugging". More control over test/reference targets. Backend improvements: xlib Server-side gradients. The theory is that we can offload computation of gradients to the GPU and avoid pushing large images over the connection. Even if the driver has to fallback and use pixman to render a temporary source, it should be able to do so in a more efficient manner than Cairo itself. However, cairo-perf suggests otherwise: On tiny, Celeron/i915: before: firefox-20090601 211.585 after: firefox-20090601 270.939 and on tiger, CoreDuo/nvidia: before: firefox-20090601 70.143 after: firefox-20090601 87.326 In particular, looking at tiny: xlib-rgba paint-with-alpha_linear-rgba_over-512 47.11 (47.16 0.05%) -> 123.42 (123.72 0.13%): 2.62x slowdown █▋ xlib-rgba paint-with-alpha_linear3-rgba_over-512 47.27 (47.32 0.04%) -> 123.78 (124.04 0.13%): 2.62x slowdown █▋ New experimental backends: QT OpenVG - The initial work was done by Øyvind Kolås, and made ready for inclusion by Pierre Tardy. OpenGL - An advanced OpenGL compositor. The aim is to write a integrate directed rendering using OpenGL at a high-level into Cairo. In contrast to the previous attempt using Glitz which tried to implement the RENDER protocol on top of OpenGL, using the high-level interface should permit greater flexibility and more offloading onto the GPU. The initial work on the backend was performed by Eric Anholt. Long standing bugs fixed: Self-intersecting strokes. A long standing bug where the coverage from overlapping semi-opaque strokes (including neighbouring edges) was simply summed in lieu of a costly global calculation has been fixed (by performing the costly global calculation!) In order to mitigate the extra cost, the tessellator has been overhauled and tune, which handles the fallback for when we are unable to use the new span rasteriser on the stroke (e.g. when using the current RENDER protocol). The large number of pixel artefacts that implementing self-intersection elimination removes is ample justification for the potential performance regression. If you unfortunately do suffer a substantial performance regression in your application, please consider obtaining a cairo-trace and submitting it to us for analysis and inclusion into our performance suite. Special thanks: To the AuroraUX team for providing access to one of their OpenSolaris machines for cairo and pixman development. http://www.auroraux.org/ Snapshot 1.9.2 (2009-06-12) =========================== API additions: cairo_surface_set_mime_data() cairo_surface_get_mime_data() Should this take unsigned int, unsigned long or size_t for the length parameter? (Some datasets may be >4GiB in size.) Associate an alternate, compressed, representation for a surface. Currently: "image/jp2" (JPEG2000) is understood by PDF >= 1.5 "image/jpeg" is understood by PDF,PS,SVG,win32-printing. "image/png" is understood by SVG. cairo_pdf_version_t cairo_pdf_surface_restrict_to_version() cairo_pdf_get_versions() cairo_pdf_version_to_string() Similar to restrict to version and level found in SVG and PS, these limit the features used in the output to comply with the PDF specification for that version. CAIRO_STATUS_INVALID_SIZE Indicates that the request surface size is not supported by the backend. This generally indicates that the request is too large. CAIRO_STATUS_USER_FONT_NOT_IMPLEMENTED Indicates that a required callback for a user-font was not implemented. CAIRO_STATUS_LAST_STATUS This is a special value to indicate the number of status values enumerated at compile time. (This may differ to the number known at run-time.) The built-in twin font is now called "@cairo:" and supports a limited set of options like "@cairo:mono". Where are these specified? cairo_in_fill() now uses HTML Canvas semantics, all edges are inside. New experimental backends: CairoScript New utility: cairo-trace and cairo-perf-trace cairo-trace generates a human-readable, replayable, compact(-ish!) representation of the sequences of drawing commands made by an application. Under the util/cairo-script directory is a library to replay traces. perf/cairo-perf-trace replays traces against multiple backends and makes useful benchmark reports. This is integrated with 'make perf'. You may collect your own traces or take advantage of traces collected by the community: git://git.cairographics.org/git/cairo-traces (Put this into perf/cairo-traces to run these as part of "make perf".) There is additional WIP in building a debugging tool for cairo applications based on CairoScript (currently very preliminary, mostly serves to show that GtkSourceView is too slow) : people.freedesktop.org:~ickle/sphinx Test suite overhaul: The test suite is undergoing an overhaul, primarily to improve its speed and utility. (Expect more changes in the near future to improve XFAIL handling.) Optimisations: polygon rasterisation! Joonas implemented the Tor polygon scan converter, on typical geometry is about 30% faster for the image backend. Bovine Polaroids! For those not in on the joke, this is the long awaited "copy-on-write snapshot" or "COW snapshot" support. The user-visible feature is that including the same image multiple times into a PDF file should result in only a single instance of that image in the final output. This is unlike previous versions of cairo which would generate very large PDF files with multiple copies of the same image. Adrian says that the PDF is not quite working as well as it should yet, so we hope for futher improvements before cairo 1.10. Bug fixes: EXTEND_PAD. Better handling of large scale-factors on image patterns. Emit /Interpolate for PS,PDF images. Global glyph cache - cap on the total number of inactive glyphs, should prove fairer for fonts with larger glyph sets. Compilation without fontconfig Improved handling of low-bitdepth sources (e.g. copying the contents of 16-bit xserver windows) Regressions: cairo_traps_extract_region >10x slower. Fix pending. Still to come: Region tracking API (ssp) for damage tracking, hit testing etc mime-surface An expiremental OpenGL backend? Tweaks to tessellator, allocations of patterns, delayed initialisation of the xlib backend (reduce the cairo overhead of render_bench by ~80%).
2010-02-21Update to 1.8.10:wiz1-4/+4
Release 1.8.10 (2010-02-19 Carl Worth <cworth@cworth.org>) ========================================================== The cairo community is pleased to announce the 1.8.10 release of the cairo graphics library. This is the fifth update to cairo's stable 1.8 series. This release consists of about a dozen hand-picked fixes compared to 1.8.8 (which was released about 8 months ago). We recommend that everyone using cairo upgrade to 1.8.10. -Carl General Bug fixes ================= * Fix path construction for the case of cairo_curve_to immediately after cairo_new_sub_path followed at some point by cairo_close_path. (Previously, the final point for the close_path was computed incorrectly.) * Fix for cairo_push_group or cairo_pop_group with a non-empty current path. (Previously the path may have been erroneously translated when either of these functions was called.) * Fix to correctly report an error if cairo_surface_set_fallback_resolution is called with a value of 0 (in either axis). Previously, an assertion would occur later rather than an error being properly reported when the original, invalid value was passed. Bug 23067: Using clear drawing operator crashes printing http://bugs.freedesktop.org/show_bug.cgi?id=23067 * Fix to handle a cairo_arc of radius 0 as equivalent to a cairo_line_to to the center coordinate, (previously cairo would do nothing for a cairo_arc call with a radius of 0). Backend-specific bug fixes ========================== cairo-xlib ---------- * Fix to correctly copy from a Window source. Previously, cairo was failing to include the contents of any sub-windows when copying from a Window source. Bug 12996: Xlib source surface fast-paths do not use IncludeInferiors, while slow paths do https://bugs.freedesktop.org/show_bug.cgi?id=12996 cairo-ft -------- * Fix conversion of freetype index to UCS4 value, (which would previously miss the first character and cause the space glyph to map to 0x00A0 instead of 0x0020). cairo-pdf --------- * Fix Type 1 subsetting to avoid generating corrupt data. Launchpad Ubuntu/cups bug 419143: Printing from evince (and perhaps other GTK apps) to PostScript printers is broken https://bugs.launchpad.net/ubuntu/+source/cups/+bug/419143 * Fix Type 1 subsetting to correctly identify binary eexec data. * Fix Type 1 subsetting to include fixed-content portion in the embedded font, (since some fonts may contain additional PostScript code after the cleartomark). * Fix Type 1 subsetting to append "cleartomark" operator for binary fonts that don't include it. Build fixes =========== * Fix to compile on OpenBSD, (which has a libpng.pc file but none of libpng10.pc, libpng12.pc, or libpng13.pc which cairo was looking for previously).
2009-07-09update to 1.8.8drochner1-5/+4
changes: small number of bug fixes (in particular a few corrections to the documentation and a few fixes in the FreeType font backend)
2009-01-07Update to 1.8.6:wiz1-4/+4
Release 1.8.6 (2008-12-13 Chris Wilson <chris@chris-wilson.co.uk>) ========================================================= The cairo community is pleased to announce the 1.8.6 release of the cairo graphics library. This is the third update to cairo's stable 1.8 series and contains a small number of bug fixes (in particular a few fixes for failures of cairo 1.8.4 on Quartz and PDF, and build fixes for a couple of backends). This is being released just under a month after cairo 1.8.4. We recommend that everyone using cairo upgrade to 1.8.6. -Chris Build fixes ----------- Fix build of DirectFB backend with debugging enabled: Bug in _cairo_directfb_surface_release_source_image function http://bugs.freedesktop.org/show_bug.cgi?id=18322 Fix build on OS/2. Bug fixes --------- Workaround a mis-compilation of cairo_matrix_invert() that generated invalid matrices and triggered assertion failures later. The issue was reported by Peter Hercek. Invalid computation of the modulus: https://bugzilla.mozilla.org/show_bug.cgi?id=466258 Invalid referencing of patterns in the Quartz backend: Failed assertion `CAIRO_REFERENCE_COUNT_HAS_REFERENCE (&pattern->ref_count)' when using cairo quartz backend http://bugs.freedesktop.org/show_bug.cgi?id=18632 Invalid references to glyphs after early culling, causing segmentation faults in the PDF backend: http://lists.cairographics.org/archives/cairo/2008-December/015976.html Check for XRender in the XCB backend, or else we may attempt an invalid memory access: XCB backend fails with missing render. https://bugs.freedesktop.org/show_bug.cgi?id=18588
2008-11-26fix an uninitialized variable, from upstream CVS, bump PKGREVISIONdrochner1-1/+2
This should fix the "transmission" crash reported by Jared D. McNeill on pkgsrc-changes.
2008-11-16Update to 1.8.4:wiz1-5/+5
Release 1.8.4 (2008-11-14 Carl Worth <cworth@cworth.org>) ========================================================= The cairo community is pleased to announce the 1.8.4 release of the cairo graphics library. This is the second update to cairo's stable 1.8 series and contains a small number of bug fixes, (in particular a few fixes for build failures of cairo 1.8.2 on various systems). This is being released just over two weeks after cairo 1.8.2. We recommend that everyone using cairo upgrade to 1.8.4. -Carl Build fixes ----------- Fix build with older XRender that doesn't define RepeatNone: Build of xlib backend fails against old XRender (RepeatNone undeclared) https://bugs.freedesktop.org/show_bug.cgi?id=18385 Fix build with bash version <= 3.0: doltlibtool broken on linux with bash 3.00.0 https://bugs.freedesktop.org/show_bug.cgi?id=18363 Bug fixes --------- Avoid triggering a bug in X.org server 6.9 resulting in a hung machine requiring a reboot: https://bugs.freedesktop.org/show_bug.cgi?id=15628#c2 Fix display of user fonts as exercised by proposed support for type3 fonts in poppler (unsigned promotion fixes): Use cairo user-font for Type 3 fonts http://lists.freedesktop.org/archives/poppler/2008-October/004181.html Avoid miscomputing size of fallback images required when rendering with CLEAR, IN, or SOURCE operator to vector surfaces, (PS, PDF, SVG, etc.). Be more tolerant of broken fonts when subsetting type1 fonts: Error handling in cairo_type1_font_subset_get_glyph_names_and_widths http://lists.cairographics.org/archives/cairo/2008-October/015569.html Fix cairo_fill_extents, cairo_stroke_extents, cairo_path_extents, to correctly allow NULL parameters as documented. Fix potential crash on emitting a type3 glyph after having drawn text paths from the same font, (for example with cairo_text_path).
2008-10-30Update to 1.8.2:wiz1-6/+4
Release 1.8.2 (2008-10-29 Carl Worth <cworth@cworth.org>) ========================================================= The cairo community is pleased to announce the 1.8.2 release of the cairo graphics library. This is the first update to cairo's stable 1.8 series and contains a large number of bug fixes. It is being released just over one month since cairo 1.8.0. This release consists primarily of bug fixes, but there is one notable new feature, (the ability to build cairo without an external font backend), and there are a few optimizations as well. See below for details on these changes and the most important bug fixes. While many people have contributed to this release, Chris Wilson deserves particular mention. He has contributed well over twice as many changes to cairo since 1.8.0 than everyone else combined. We greatly appreciate the tremendous efforts of Chris and all cairo contributors. We recommend everyone upgrade to cairo 1.8.2 and hope that everyone will have lots of fun with cairo! -Carl New feature ----------- It is now possible to build cairo without any font backend, (such as freetype, win32 or quartz). This is most useful when the application provides custom font rendering through the user-font API. But in the case where no external font backend is available, and no user-font is provided, cairo will render with a failsafe font, (a stroked font covering visible ASCII character). (Behdad Esfahbod) Optimizations ------------- Dramatically speed up compilation with dolt (removes much of the libtool overhead) (Behdad Esfahbod with thanks to Josh Triplett). Several minor optimizations to tessellator (special-cased comparisons, faster insert for skiplist, etc.) (Chris Wilson). Optimize away fractional translation component when doing EXTEND_NEAREST filtering, (for better performance). General bug fixes ----------------- Allow cloning sub-regions of similar surfaces to fix this bug (Chris Wilson): Crafted gif file will crash firefox [XError: 'BadAlloc (insufficient resources for operation)'] https://bugzilla.mozilla.org/show_bug.cgi?id=424333 Fix some matrix confusion to fix this regression (Chris Wilson): Translucent star exports in a wrong way to PDF https://bugs.launchpad.net/inkscape/+bug/234546 Fix some long-standing bugs with respect to properly computing the extents of transformed, filtered surfaces (Owen Taylor, Carl Worth, and Chris Wilson): Bad clipping with EXTEND_NONE http://bugs.freedesktop.org/show_bug.cgi?id=15349 Improve filtering handling in cairo-pattern.c http://bugs.freedesktop.org/show_bug.cgi?id=15367 Many thanks to Chris Wilson for digging out and cleaning up these fixes. Fix compilation on Solaris 10 (Chris Wilson): Cairo requires -DREENTRANT (along with -D_POSIX_THREAD_SEMANTICS) to compile on Solaris 10 with pthreads https://bugs.freedesktop.org/show_bug.cgi?id=18010 Fix very old bug causing dashes to be rendered at the wrong length in fallback images (Adrian Johnson) Dashed strokes too long in fallback images https://bugs.freedesktop.org/show_bug.cgi?id=9189 Fix broken dashing when a dashed path starts outside the clip region (Chris Wilson). Avoid range overflow when computing large patterns (Benjamin Otte and Chris Wilson). Avoid crashing due to an invalid font with an incorrect entry in its CMAP table (Adrian Johnson). Fix bugs in computing maximum size of text requests that can be sent with the Render extension, (avoiding potential crashes when rendering large amounts of text) (Behdad Esfahbod and Chris Wilson). Fix rendering of operators unbounded by the mask (Chris Wilson). Fix compilation on systems without compiler support for a native 64-bit type (Chris Wilson). Fix several cases of missing error-status propagation. (Chris Wilson, doing the work he seems to never tire of). Fix several locking issues found with the lockdep valgrind skin (Chris Wilson). Backend-specific bug fixes -------------------------- xlib: Avoid crash due to attempting XRender calls on pixmaps with formats not supported by the Render extension (Chris Wilson): XRender crashes due to NULL pointer from Cairo on SGI O2 https://bugs.freedesktop.org/show_bug.cgi?id=1173 xlib: Add support for XImages with depth of 4, 20, 24, or 28 bits (Chris Wilson): cairo doesn't support 24 bits per pixel mode on X11 https://bugs.freedesktop.org/show_bug.cgi?id=9102 xlib: Avoid mistakenly considering two surfaces as similar just because their depths match (while their Render formats do not) (Karl Tomlinson). ps: Fix slight mis-scaling of bitmapped fonts (Adrian Johnson) svg: Correctly emit comp-op for paint, mask, and show_glyphs operations (Emmanuel Pacaud). svg: Use finer-grained fallbacks for SVG 1.2 (as PS and PDF backends have been doing since 1.6.0) (Chris Wilson).
2008-10-16add two patches from wiz: fix build with "ssp", "make test" fixdrochner1-1/+3
2008-10-16update to 1.8.0drochner1-8/+6
from the announcement: The dominant theme of this release is improvements to cairo's ability to handle text. The highlights include a new "user fonts" feature as well as a new cairo_show_text_glyphs API which allows glyphs to be embedded in PDF output along with their original text, (for searching, selection, and copy-and-paste). Another major feature is a revamp of cairo's build system making it much easier to build cairo on various platforms.
2008-08-25Fix png backend with libpng 1.2.30. Older libpng versions flushed thejoerg1-1/+2
output at the end of the write and this was restored with 1.2.30, but cairo didn't override the flush function, resulting in fflush on a non-stream. This in turn resulted in crashes of graphviz when compiling doxygen. Bump revision.
2008-05-14Fix to instal cairo-quartz-font.pc.obache1-2/+2
(and while here, enable quartz-image) Then atsui support for pango again. Bump pkgrevision.
2008-05-05Make this build on OS X 10.4.x/ppc.yyamano1-1/+2
2008-04-21Update to cairo-1.6.4.tnn1-7/+6
Major changes between the 1.4 and 1.6 branch: - Now uses external "pixman" library instead of a bundled one. - Improvements to PDF, SVG and PostScript output - New support for arbitrary X server visuals (the 8-bit display support patch (patch-ae in pkgsrc) is integrated) - rendering backend improvements - various new API additions, while maintaining ABI compatibility - New Quartz backend - bug fixes
2008-03-12update to 1.4.14drochner1-4/+4
changes: -minor bugfixes -make PostScript output more conformant wrt Type 3 fonts
2007-11-30sync the patch dealing with 8-bit displays with the last versiondrochner1-2/+2
from https://bugs.freedesktop.org/show_bug.cgi?id=4945 ride on recent update
2007-11-29Update to 1.4.12:wiz1-4/+4
Release 1.4.12 (2007-11-26 Carl Worth <cworth@cworth.org>) ========================================================== This is the sixth update in cairo's stable 1.4 series. It comes five months after the 1.4.10 release. This fix includes various bug fixes originally developed during the 1.5.x development and backported to 1.4. Some of the most significant bug fixes prevent crashes: * Avoid overflow when allocating large buffers (Vladimir Vukicevic) * Fix crash with cairo_pattern_set_user_data (Carl Worth) * Fix broken locking in cairo-ft error path (Chris Wilson) * Avoid crash when cleaning up after Render extension (Carl Worth) * Avoid crash for zero-sized bitmap glyph (Chris Wilson) * Avoid crash with type-1 fonts and ft and atsui enabled (Brian Ewins) * Fix many error-handling cases in the Quartz/ATSUI code (Brian Ewins) * Eliminate cairo_stroke crash with scaling near zero (Carl Worth) Other fixes address rendering problems: * Fix PDF linear gradients without stops at 0.0 and 1.0 (Adrian Johnson) * Fix PDF CFF subsetting to work with Apple Preview (Adrian Johnson) * Report proper errors on out-of-memory on win32 (Vladimir Vukicevic) * Fix EXTEND_NONE gradients for cairo-quartz (Brian Ewins) * Fix odd-number-of-dashes dashing for cairo-quartz (Brian Ewins) * Fix erroneous results from cairo_stroke_extents (Carl Worth) * Force non-AA text when bitmap strikes are available (Keith Packard) * Fix cairo-atsui font metrics (Richard Hult) And some avoid raising cairo errors for innocent problems: * Avoid drawing shutdown for glyph-not-found in font (Behdad Esfahbod) * Don't raise an error for creating an empty path (Chris Wilson) At least one optimization managed to sneak in: * Free glyph surfaces after uploading to X server cache (Behdad Esfahbod) And there are a few very minor fixes, (such as build fixes).
2007-07-06update to 1.4.10drochner1-5/+5
changes: The most significant change in this release is a fix to avoid an X error in certain cases, (that were causing OpenOffice.org to crash in Fedora). There is also a semantic change to include child window contents when using an xlib surface as a source, an optimization when drawing many rectangles, and several minor fixes.
2007-06-15update to 1.4.8drochner1-5/+5
This is the fourth update in cairo's stable 1.4 series. It comes just over five weeks after the 1.4.6 release. This release includes a thread-safe surface-cache for solid patterns which significantly improves text rendering with the xlib backend. Also, dozens of error paths in cairo have been fixed thanks to extensive fault-injection testing by Chris Wilson.
2007-06-08Update to 1.4.6:wiz1-8/+7
Release 1.4.6 (2007-05-01 Carl Worth <cworth@cworth.org>) ========================================================= This is the third update in cairo's stable 1.4 series. It comes a little less than three weeks since the 1.4.4 release. This release fixes the broken mutex initialization that made cairo 1.4.4 unusable on win32, OS/2, and BeOS systems. This release also adds significant improvements to cairo's PDF backend, (native gradients!), and a couple of performance optimizations, (one of which is very significant for users of the xlib backend). Release 1.4.4 (2007-04-13 Carl Worth <cworth@cworth.org>) ========================================================= This is the second update release in cairo's stable 1.4 series. It comes just less than a month after 1.4.2. The changes since 1.4.2 consist primarily of bug fixes, but also include at least one optimization. See below for details. There have been lots of individuals doing lots of great work on cairo, but two efforts during the 1.4.4 series deserve particular mention: Internal cleanup of error handling, (Chris Wilson) -------------------------------------------------- Chris contributed a tremendous series of patches (74 patches!) to improve cairo's handling of out-of-memory and other errors. He began by adding gcc's warn_unused_attribute to as many functions as possible, and then launched into the ambitious efforts of adding correct code to quiet the dozens of resulting warnings. Chris also wrote a custom valgrind skin to systematically inject malloc failures into cairo, and did all the work necessary to verify that cairo's performance test suite runs to completion without crashing. The end result is a much more robust implementation. Previously, many error conditions would have gone unnoticed and would have led to assertion failures, segmentation faults, or other harder-to-diagnose problems. Now, more than ever, cairo should cleanly let the user know of problems through cairo_status and other similar status functions. Well done, Chris! More malloc reduction, (Mathias Hasselmann) ------------------------------------------- After 1.4.0, Behdad launched an effort to chase down excessive calls to malloc within the implementation of cairo. He fixed a lot of malloc-happy objects for 1.4.2, but one of the worst offenders, (pixman regions), was left around. Mathias contributed an excellent series of 15 patches to finish off this effort. The end result is a cairo that calls malloc much less often than it did before. Compared to 1.4.2, 55% of the calls to malloc have been eliminate, (and 60% have been eliminated compared to 1.4.0). Well done, Mathias!
2007-04-05before testing for definitions from config.h, #include itdrochner1-2/+2
fixes build failure on Linux reported by Ondrej Tuma
2007-03-29Repair a broken build on solaris and possibly others.dmcmahill1-1/+2
2007-03-20update to 1.4.2drochner1-11/+7
This switches to the new stable branch. Too many changes to list here, see the changelog. Most notably: speed improvements, PDF output improvement, API additions, bugfixes.
2007-03-12Removed patch-ah. It had been rejected upstream as "invalid".rillig1-2/+1
I still know that it was necessary for some package, but I don't remember which one and on which platform, and even the CVS log message doesn't give any useful information.
2007-02-15Added a patch to fix the pkg-config dependencies.rillig1-1/+2
2006-11-23don't use visibily attribute "hidden" on solaris, from Gilles Dauphindrochner1-1/+2
per PR pkg/35101
2006-11-09update to 1.2.6drochner1-6/+6
changes: mostly bugfixes