[Fwd: cairo snapshot 1.5.2 now available]
FYI
-------- Forwarded Message -------- From: Carl Worth <cworth@...573...> To: cairo-announce@...278... Cc: gnome-announce-list@...45... Subject: cairo snapshot 1.5.2 now available Date: Tue, 30 Oct 2007 22:47:52 -0700
A new cairo snapshot 1.5.2 is now available from:
http://cairographics.org/snapshots/cairo-1.5.2.tar.gz
which can be verified with:
http://cairographics.org/snapshots/cairo-1.5.2.tar.gz.sha1 39d6593433ce4896a065a6c4ad2882a5cc1fe05a cairo-1.5.2.tar.gz
http://cairographics.org/snapshots/cairo-1.5.2.tar.gz.sha1.asc (signed by Carl Worth)
Additionally, a git clone of the source tree:
git clone git://git.cairographics.org/git/cairo
will include a signed 1.5.2 tag which points to a commit named: ee5dc04aaf81d6ce9c496c7966ceebfbd6ab12fb
which can be verified with: git verify-tag 1.5.2
and can be checked out with a command such as: git checkout -b build 1.5.2
This is the first snapshot in cairo's unstable 1.5 series. It comes 4 months after the 1.4.10 release. This snapshot includes significant improvements to PDF and PostScript output, which is one of the things in which we're most interested in getting feedback. There are a couple of minor API additions, and several optimizations, (primarily in the "print/vector" backends). And there are dozens of bug fixes and robustness improvements.
NOTE: This is a snapshot of in-progress development, not a "release". So it is expected that there will be more rough edges than one would find in a major release. For example, various tests in the test suite are currently failing against the PDF backend, and we'll get those fixed before the 1.6 release. But you're likely to notice more improvements than problems, so give this snapshot a try and let us know how it goes for you. Read more below for many details on the exciting things in cairo 1.5.2 compared to cairo 1.4.10.
Have fun with cairo!
-Carl
New dependency on external pixman library ----------------------------------------- A significant change in this snapshot compared to all previous cairo releases is that cairo now depends on an external "pixman" library for its software rendering. Previously this same code was compiled internally as part of cairo, but now the code is separate so that both cairo and the X server can now share common code, (thanks very much to Søren Sandmann for his work on separating pixman and maintaining it).
So users will need to acquire and build pixman before being able to build cairo. The current release is 0.9.6 and can be obtained from here:
http://cairographics.org/releases/pixman-0.9.6.tar.gz
which can be verified with:
http://cairographics.org/releases/pixman-0.9.6.tar.gz.sha1 66f01a682c64403a3d7a855ba5aa609ed93bcb9e pixman-0.9.6.tar.gz
http://cairographics.org/releases/pixman-0.9.6.tar.gz.sha1.asc (signed by Carl Worth)
Major PDF/PostScript improvements --------------------------------- Adrian Johnson has done some long-awaited work to make cairo's PDF and PostScript output more interesting than ever before. First, many operations that previously triggered image fallbacks will now be rendered as native vectors. These operations include:
PDF: cairo_push_group, cairo_surface_create_similar, cairo_mask, A8/A1 surface sources, repeating/reflecting linear gradients.
PostScript: cairo_push_group, cairo_surface_create_similar, gradients, bilevel alpha masks, (for example, all values either 0 or 255 for an A8 mask).
Not only that, but when an image fallback is required, it will now be limited to only the necessary region. For example, a tiny translucent image overlaying a small portion of text would previously caused an entire PostScript page to be rendered as a giant image. Now, the majority of that page will be nice text, and there will only be a tiny image in the output.
Additionally, the PostScript output now carefully encodes text so that if it is subsequently converted to PDF, the text will be selectable.
This is very exciting progress, and we're hoping to hear from users during the 1.5 series about how things have improved, (for example, inkscape users doing cairo-based PDF export: please let us know how things look). And feel free to pass your thanks along to Adrian for his excellent work.
NOTE: This much improved PDF output makes more sophisticated use of functionality in the PDF specification. This means that cairo's output will sometimes expose bugs in some free software PDF viewers, (evince, poppler, and xpdf, for example), that are not yet ready for such PDF files. We're working with the poppler maintainers to get these bugs fixed as quickly as possible. In the meantime, please double-check with other PDF viewers if cairo-generated PDF files are not being rendered correctly. It may be due to a bug in the viewer rather than in the PDF file that cairo has created.
Robustness improvements ----------------------- Chris Wilson has made the largest contribution by far to cairo 1.5.2, (in number of commits). His more than 150 commits include a huge number of fixes to increase cairo's robustness. These fixes make cairo more robust against invalid and degenerate input, (NaN, empty path, etc.), against size-0 malloc calls, against memory leaks on error-recovery paths, and against other failures during error handling. He also implemented atomic operations to cairo, and used them to fix cairo's previously non-thread-safe reference counting, again improving robustness.
Chris has put a tremendous amount of time and effort into writing analysis tools for this work, and in running those tools and fixing the problems they report. We're very grateful for this work, and hope that all cairo users appreciate the more robust implementation that results from it.
This work is largely thankless, so it might make sense to notice sometime that cairo has been running quite smoothly for you, and when you do, send a quick "thank you" off to Chris Wilson, since it is all definitely running smoother thanks to his work.
New API ------- There are no major additions to cairo's core API. The only new, generic functions are:
void cairo_surface_copy_page (cairo_surface_t *surface);
void cairo_surface_show_page (cairo_surface_t *surface);
which can now be used much more conveniently than the existing cairo_copy_page and cairo_show_page functions in some situations. These functions act identically, but require only a cairo_surface_t* and not a cairo_t*.
All other API additions are specific to particular backends.
New cairo-win32 API (new font face function and "win32 printing" surface) ------------------------------------------------------------------------- There is a new function for creating a win32 font face for both a logfontw and an hfont together. This complements the existing functions for creating a font face from one or the other:
cairo_font_face_t * cairo_win32_font_face_create_for_logfontw_hfont (LOGFONTW *logfont, HFONT font);
There is also a new "win32 printing" surface:
cairo_surface_t * cairo_win32_printing_surface_create (HDC hdc);
This interface looks identical to the original cairo_win32_surface_create, (both accept and HDC), but the behavior of this new surface is very different. It should only be called with a printing DC, and will result in all drawing commands being stored into a meta-surface and emitted after each page is complete, with analysis to do as minimal image-based fallbacks as necessary. The behavior and implementation shares much with the PDF and PostScript backends.
New cairo-ps API (EPS and PostScript level control) --------------------------------------------------- An often requested feature has been the ability to generate Encapsulated PostScript (EPS) with cairo. We have that now with the following very simple API. Just do cairo_ps_surface_create as usual then call this function with a true value:
void cairo_ps_surface_set_eps (cairo_surface_t *surface, cairo_bool_t eps);
[NOTE: As always with snapshots, it's possible---though not very likely---that the API could still be modified before a final release. For example, this is the first public cairo function that accepts a Boolean parameter. I'm generally opposed to Boolean parameters, but this is probably the one case where I'm willing to accept one, (namely a "set" function that accepts a single Boolean).]
Also, it is now possible to control what PostScript level to target, (either level 2 or level 3), with the following new API:
typedef enum _cairo_ps_level { CAIRO_PS_LEVEL_2, CAIRO_PS_LEVEL_3 } cairo_ps_level_t;
void cairo_ps_surface_restrict_to_level (cairo_surface_t *surface, cairo_ps_level_t level);
void cairo_ps_get_levels (cairo_ps_level_t const **levels, int *num_levels);
const char * cairo_ps_level_to_string (cairo_ps_level_t level);
Improvement for cairo-quartz ---------------------------- Brian Ewins had contributed several improvements to cairo-quartz. These include an implementation of EXTEND_NONE for linear and radial gradients, (so this extend mode will no longer trigger image fallbacks for these gradients), as well as native surface-mask clipping, (only on OS X 10.4+ where the CGContextClipToMask function is available).
He also fixed a semantic mismatch between cairo and quartz for dashing with an odd number of entries in the dash array.
We're grateful for Brian since not many quartz-specific improvements to cairo would be happening without him.
Optimizations ------------- Optimize SVG output for when the same path is both filled and stroked, and avoid unnecessary identity matrix in SVG output. (Emmanuel Pacaud).
Optimize PS output to take less space (Ken Herron).
Make PS output more compliant with DSC recommendations (avoid initclip and copy_page) (Adrian Johnson).
Make PDF output more compact (Adrian Johnson).
Release glyph surfaces after uploading them to the X server, (should save some memory for many xlib-using cairo application). (Behdad Esfahbod).
Optimize cairo-win32 to use fewer GDI objects (Vladimir Vukicevic).
win32-printing: Avoid falling back to images when alpha == 255 everywhere. (Adrian Johnson).
win32-printing: Avoid falling back for cairo_push_group and cairo_surface_create_similar. (Adrian Johnson)
Bug fixes --------- Avoid potential integer overflows when allocating large buffers (Vladimir Vukicevic).
Preparations to allow the 16.16 fixed-point format to change to 24.8 (Vladimir Vukicevic).
Fix bugs for unsupported X server visuals (rgb565, rgb555, bgr888, and abgr8888). (Carl Worth and Vladimir Vukicevic)
Fix bugs in PDF gradients (Adrian Johnson).
Fix cairo-xlib to build without requiring Xrender header files (Behdad Esfahbod).
Make cairo more resilient in the case of glyphs not being available in the current font. (Behdad Esfahbod)
Prevent crashes when both atsui and ft font backends are compiled in (Brian Ewins).
Make font subsetting code more robust against fonts that don't include optional tables (Adrian Johnson).
Fix CFF subsetting bug, (which manifested by generating PDF files that Apple's Preview viewer could not read) (Adrian Johnson).
Fixed error handling for quartz and ATSUI backends (Brian Ewins).
Avoid rounding problems by pre-transforming to avoid integer-only restrictions on transformation in GDI (Adrian Johnson).
Fixed an obscure bug (#7245) computing extents for some stroked paths (Carl Worth).
Fix crashes due to extreme transformation of the pen, (seems to show up in many .swf files for some reason) (Carl Worth).
Fix glyph rendering when using a bitmap strike with a scaling-only transformation (Keith Packard).
Summary of changes from 1.4.10 to 1.5.2 ======================================= Adrian Johnson (61): CFF Subsetting: fix integer encoding bug PDF: Fix gradients regression PDF: Fix regression in pdf_surface_set_size() PS: Add finer-grained image fallback support PS: Remove debug info from PS output Add finer-grained fallback support to the PDF surface Fix PDF regression with multipage documents PDF: Clean up comments PDF: Remove unused code Fix PDF gradients bug Fix unbounded operator bug in analysis surface Add support for PDF meta-surface patterns Eliminate unclipped CLEAR from meta-surface playback Create meta-surface source image with same content type as the Add PDF support for cairo_mask() PDF: Remove BC entry from Smask dictionary PS: Remove copy_page() PDF: Fix copy_page() bug PS: Remove initclip operator Change paginated surface size when PS/PDF _set_size() called Analysis-surface: Use pattern extents to limit show_glyphs extents ROADMAP: Add metadata API PDF: Add support for CAIRO_FORMAT_A8 images Add mask-alpha test Truetype Subsetting: Avoid failing when fonts are missing optional tables Add Encapsulated PostScript API Add Encapsulated PostScript support PDF: Remove duplication from the resource dictionary PDF: Compress the content stream PDF: Fix bug in font resources when same font is in multiple groups PDF: Compress pattern and group streams CFF Subetting: Fix for #10849 PDF: Fix bug in font resources ROADMAP: Mark EPS support done TODO: Remove PDF encoding issues Type1 subset: Add check for CFF fonts PS: Add meta surface pattern support Add PS reference images for tests using create_similar Add cairo_ps_surface_restrict_to_level() API Fix bug in _gradient_is_opaque() PS: Add linear and radial gradient support Add PS reference images for tests using gradients Add meta-surface-pattern test PS/Win32-printing: remove redundant checks from _analyze_operation PS: Add support for images with bilevel alpha Make PostScript output text selectable PDF: Add support for linear gradients with REPEAT and REFLECT PDF: Add support for CAIRO_FORMAT_A1 images win32-printing: Add missing struct initializers win32-printing: check if images are opaque update cairo-sections.txt win32-printing: add meta surface pattern support win32-printing: fix rounding problems when using pattern matrix win32-printing: fix stroke rounding problems win32-printing: Use the surface ctm in show_glyphs win32-printing: Add test boilerplate win32-printing: fix dash-caps-joins test failure win32-printing: fix typo in comment win32-printing: remove unused code win32-printing: fix error in comment PDF: Fix meta surface patterns with EXTEND_REFLECT
Behdad Esfahbod (35): Clear executable flag off .c file [configure.in] Cleanup after pixman removal and correctly check for pixman [cairo-paginated-surface] Add XXX mark to integer width,height arguments [cairo-image-surface] Simplify device-offset usage [scaled-font] Really ignore ctm translation Fix device_offset misuse in all glyph surface uses [cairo-scaled-font] Document how glyph surfaces use device offsets [ROADMAP] Mark fine-grained fallbacks done [Makefile.am] Use libcairo_la_CFLAGS instead of INCLUDES [Makefile.am] Add target splint to run splint static source code analyzer [cairo-image-surface] Fix comment syntax [Makefile.am] Inhibit unrecognized options to splint [Makefile.am] Move -DHAVE_CONFIG_H to the right place [Makefile.am] Add target sparse to run sparse static source code analyzer [Makefile.am] Run sparse and splint once per source file [boilerplate] Build libcairoboilerplate.la in make check and make test Fix header inclusion order [perf] Make cairo-perf-diff build cairo-perf-diff-files [configure.in] Document version scheme [configure.in] Make PS backend require zlib too (#12210) [cairo-path-fixed] typedef char cairo_path_fixed_op_t [cairo-path-fixed] Remove leftover typedef keyword [xlib] Make it compile without Xrender available at compile time (#12210) [cairo-xlib-xrender-private] Add copyright/license info for copied files [cairo-xlib-xrender-private] Remove some protocol-specific macros Merge branch 'no-xrender.h' into cairo [configure.in] Fix non-pkgconfig Xrender detection path (#4724) [test,perf] Support TARGETS_EXCLUDE make variable [PDF] Fix typo in comments [cairo-gstate] Fix comment about font_matrix having zero translation [ChangeLog.mk] Make make rule depend on .git/HEAD, not .git [cairo-ft-font] Ignore FT_Load_Glyph errors other than out-of-memory [ROADMAP] Mark xlib IncludeInferior support done [ChangeLog.mk] Fix changelog generation rules [cairo-xlib] Release glyph surfaces if we made them to be generated
Brian Ewins (16): [type1-subset] only subset ft fonts Fix to support new similar tests. propagate cairo_status_t return values do not ignore errors in glyph paths do not ignore ATSUI errors. do not ignore errors when creating styles. do not ignore errors in setup_source do not ignore errors, return NULL instead (moz#874315) do not return a cairo_status_t of UNSUPPORTED call _cairo_error on failure Implement EXTEND_NONE for gradients. fix dash-zero-length test implement clipping with surface masks. [quartz] return status instead of CGShadingRef [quartz] return status instead of cairo_quartz_surface_t [quartz] return status instead of CGPatternRef
Carl Worth (38): Increment version to 1.5.1 after the 1.4.10 release Ensure that a copied pattern gets its own user_data array Use 8-bit math to flatten color when emitting a solid pattern to PostScript Add a new xlib-fallback target to test xlib using image fallbacks instead of the Render extension Ensure the Render extension is initialized before calling XESetCloseDisplay Eliminate fragile cairo_internal_format_t Use a pixman_format_code to describe the image surface used for xlib fallbacks Restore the error message for unsupported X server visuals Add support for image fallbacks for X servers with 565 visuals Add support for image fallbacks for X servers with 555 visuals Remove include of cairoint.h from *-private.h header files. Remove build-breaking debugging helper. Merge branch 'cairo-origin' into cairo Add four new test to exercise interactions of native and fallback objects Add PS-specific reference images for 4 tests Modify ps-specific reference images for ft-text-vertical tests One more PS-specific reference image (for over-between-source) Remove svg2pdf and pdf2svg programs from test directory Add explanation of pdf_ignored_tests with links to upstream poppler bug reports Disable 7 cairo-pdf tests due to poppler knockout-group bug Disable radial-gradient and unbounded-operator tests for pdf Fix error in description of cairo version numbers Add rgb24-ignore-alpha test Merge branch adrianj/pdf-meta-surface-pattern into cairo Add rgb24-specific reference imag for mask-alpha test Fix typo in _cairo_gstate_fini Annoying churn of sgml templates Add figure illustrating derivation of miter limit Limit miters for small angles Fix remaining two calls to _cairo_path_fixed_get_current_point Improve brace readability for multi-line conditional Merge in fix for get-path-extents test case. Update URLs for pixman to point to cairographics.org Add degenerate-pen test case. Fix degenerate-pen test case by removing the triggering assertion Add notes for 1.5.2 snapshot Increment cairo version to 1.5.2 and libtool versioning to 14:0:12 Add missing images to REFERENCE_IMAGES list
Chris Heath (1): [autogen.sh] Tolerate tput failure (#12757)
Chris Wilson (156): [configure] Only run PostScript tests if we have ghostscript. [cairo-matrix] Check determinant for invalid numbers. [check-plt] Ignore entries for pixman. [cairo-glitz-surface] Compile fix. [cairo-ft-font] Decrement lock count on error. [cairo-boilerplate-xlib] Check for NULL xrender_format before use. [cairo-pattern] Assert that the pattern->matrix is invertible. [cairo-pdf-surface] cairo_pattern_set_matrix guarantees invertibility. [cairo-pen] Remove hard-coded CAIRO_STATUS_SUCCESS from _stroke_spline_half() [cairo-pen] Remove status from _cairo_pen_find_active_vertex_*() [cairo-image-surface] Remove status return for hard-coded CAIRO_STATUS_SUCCESS. [cairo-pdf-surface] Check for errors during compression. [cairo-png] Protect against malloc(0). [cairo-truetype-subset] Avoid malloc(0). [boilerplate/xmalloc] Special case malloc(0) and friends. [cairo-image-surface] Avoid malloc(0) [cairo-xlib-surface] Avoid a malloc(0). [cairo-perf-diff] Remove reference to pixman. Fix inadvertent executable mode flip. [cairo-boilerplate-xlib] Clear Render data for the non-Render fallback. [cairo-boilerplate-xlib] Check that the surface will fit in the screen. [cairo-perf] Blacklist xlib-fallback. [cairo-gstate] Avoid copying untransformed glyphs. Revert "[cairo-gstate] Avoid copying untransformed glyphs." [cairo-surface] Add a comment about why the glyph array is not const. [cairo-boilerplate] Introduce CAIRO_TEST_TARGET_EXCLUDE. [cairo-ft-font] Early detection of a zero sized bitmap. [cairo-clip] Avoid a malloc(0). [cairo-region] Call _cairo_error() at original error site. [cairo-boilerplate] Do not throw an error if an exclude target is not found. Move GCC attributes wrapping into a separate header. [cairo-atomic] Introduce atomic ops. [cairo-atomic] Rewrite reference counting using atomic ops. [cairo-atomic] Do not use Intel atomic primitives on i386. [cairo-png] Propagate error from read and write funcs. [test/create-for-stream] Add test case for user error propagation. [test/create-for-stream] Add the missing cairo_surface_finish(). [test/get-path-extents] Test extents of an arc. [test/get-path-extents] Test extents of cairo_text_path(). [configure] Work-around bad interaction of libtool and lcov [cairo-path] Don't raise an error when attempting to create an empty path. [cairo-image-surface] Return correct error surfaces. [cairo-image-surface] Avoid trying to create surfaces with invalid strides. [cairo-pen] Add _cairo_error(). [cairo-polygon] Add a _cairo_error(). [malloc] Check for integer overflow when realloc'ing. [malloc] Take advantage of calloc() argument checking. [malloc/error] Add call to _cairo_error() after a failed malloc. [cairo-path] Check for an empty path in cairo_append_path(). [malloc/error] Fixup _cairo_error (CAIRO_STATUS_SUCCESS)! [cairo-atomic] Use an atomic operation to set the status on a shared resource. [cairo-error] Make _cairo_error() return the error status. [cairo-error] Clean up all the warnings and missing _cairo_error() calls. [cairo-error] Another _cairo_error (CAIRO_STATUS_SUCCESS)! [cairo-output-stream] Propagate error status when copying streams. [cairo-ft-font] Always call _cairo_ft_unscaled_font_fini (). [cairo-font-face] Set the error on the font. [cairo-scaled-font] Return the error status from _cairo_scaled_font_set_error() [cairo-scaled-font] Store fatal errors on the cairo_scaled_font_t. [cairo-scaled-font] Destroy the mask on the error path. [cairo-scaled-font] Freeze the font cache whilst iterating over glyphs. [cairo-matrix] Check whether a matrix is invertible before use. [cairo-gstate] Fix resource leaks on error paths. [cairo-scaled-font] Acquire mutex around _cairo_scaled_font_glyph_path(). [cairo-scaled-font] Don't hold onto to a dropped font. [cairo] Protect the getters when operating on the nil object. [cairo-debug] Finalize mutexes along with other static data. [cairo-cff-subset] Propagate errors and review error paths. [cairo-truetype-subset] Do mask error status returns. [cairo-type1-subset] Do not mask error returns. [cairo-surface] Propagate fatal errors to the surface. [cairo-meta-surface] Propagate errors during replay to the surface. [cairo-output-stream] Guard against destroying the nil streams. [cairo-ps-surface] Check the creation of output streams. [cairo-image-surface] Check for errors whilst cloning. [cairo-pdf-surface] Propagate resource allocation failure. [Makefile] Correct parameters to lcov reset. [cairo-deflate-stream] Return the nil stream if creating from an error stream. [cairo-pdf-surface] Propagate errors from opening/closing groups. [cairo-pdf-surface] Propagate errors during pattern selection. [cairo-pdf-surface] Propagate errors from close_stream. [cairo-pdf-surface] Add some missing error propagation. [cairo-svg-surface] Review error propagation. [cairo-type1-subset] Propagate error status (correctly!) [cairo-atomic] Hide compiler warnings for _cairo_status_set_error(). [cairo-type1-fallback] Propagate error from closing the stream. [cairo-surface-fallback] Release the acquired image on error. [cairo-surface] Add the usual guards to the API entry point. [cairo-scaled-font] Destroy the zombie font. [cairo-scaled-font] Mask cannot be NULL so remove redundant check. [cairo-png] Markup a couple of original error sites with _cairo_error(). [cairo-scaled-font-subset] Propagate errors during collection. [test-surfaces] Mark the test backend as static. [test-paginated] Free resources if fail to create the test surface. [cairo-xlib] Initialize the global mutexes. Cleanup a couple of warnings for use of uninitialized statuses. [cairo-ps-surface] Propagate errors from emit_pattern(). [cairo-pdf-surface] Propagate error status. [cairo-pdf-surface] Destroy local resources on failed surface creation. [cairo-pdf-surface] Check for pdf_resource_t allocation failure. [cairo-boilerplate-xlib] Cleanup fallback after creation failure. [cairo-ps-surface] Cleanup ps surface after creation failure. [cairo-xlib-display] Rescan the displays list during shutdown. [cairo-paginated-surface] Propagate backend errors to the surface. [cairo-scaled-font-subsets] Increment the sub_font counter after insertion. [cairo-pdf-surface] Check status return after emit_meta_pattern(). [cairo-traps] Simplify the status interaction of traps_grow(). [cairo-clip] Propagate error status from clip_intersect_path(). [cairo-hull] Remove a couple of redundant status returns. [test-meta-surface] Propagate error from show_page(). [cairo-cff-subset] Propagate error status from failed append_copy(). [boilerplate-test-surfaces] Check show page for errors. [cairo-xlib-surface] Propagate error from _draw_image_surface() to surface. [cairo-glitz-surface] Propagate errors from set_image(). [cairo-image-surface] Dead code elimination. [configure.in] Initialise test_svg. [win32] Clean up compiler warnings. Fix some trivial syntax warnings for -ansi. [Makefile.am] Change lcov-clean to use more portable constructs. [cairo-pdf-surface] Restore old_group for failed emit_meta_surface(). [cairo-pdf-surface] Free the clip path on error. [cairo-png] Clean up volatile warning. [cairo-ps-surface] Close a couple of memory leaks. [cairo-pdf-surface] Return UNSUPPORTED from _to_unicode_stream(). [cairo-path-stroke] Jump to cleanup after error. [Makefile.am] Add missing headers and reference images. [cairo-path-fixed] Drop the _cairo_error() markup. [cairo-clip] Pass the local pattern to create_similar_solid(). [cairo-ft-font] Add paranoid error checking to Fc* operations. [pdiff] Check for too small images. [pdiff] Reorganise the inner loops of the convolution. [test/rgb24-ignore-alpha] Destroy the surface after use. [cairo-xlib] Move the buggy_repeat discovery to the display_t. [cairo-scaled-font-subsets] Simplify boolean return code. [test/.gitignore] Add *.exe.so [check-plt] Use -W flag to readelf. [cairo-xlib-surface] Match content to xrender_format using the channel masks. [Makefile.am] Fix ${top_srcdir}/libtool [cairo-clip] Avoid work when all clipped out. [cairo-xlib] Check source for XRender support. [cairo-test] Repeat tests for similar surfaces. [cairo-perf] Run performance tests over similar surfaces as well. [cairo-matrix] Check user input for invalid numbers. [cairo-perf-diff-files] Check for terminator before comparing tests. [cairo-perf-diff-files] Only use a valid initializer for min_test. [cairo-test] Remove executable flag from source files. [cairo-gstate] Check scale sx * sy != 0. [cairo-gstate] Add NaN check to rotate. [cairo-gstate] Add a missing _cairo_error() markup. [cairo-gstate] Allow angle==0 whilst rotating. [test/get-path-extents] Add link to bug report. [cairo-surface] Add the usual guards to _cairo_surface_set_font_options(). Simplify return value from cairo_path_fixed_get_current_point(). [cairo-path] Make _cairo_path_nil static. [cairo-path] Return CAIRO_STATUS_SUCCESS. [cairo-surface] Fix typo in doc.
Emmanuel Pacaud (5): [SVG] fix modeline for vim. Add a new fill_stroke surface backend method. [SVG] Implement fill_stroke method. [SVG] Don't emit transform property when matrix is identity. [SVG] Suppress code duplication by using _cairo_svg_surface_emit_stroke_style
Jeff Muizelaar (1): Fix theoretical NULL return from cairo_pop_group()
Jinghua Luo (1): [Glitz] fix compilation.
Jody Goldberg (1): [PDF] The symbol 'GROUP' is already used on some win32 systems; add a prefix
Jonathan Gramain (1): [cairo-gstate] Fix order of matrices in _cairo_gstate_backend_to_user_rectangle()
Keith Packard (1): Force non-AA text when using a bitmap strike with only scaling transform.
Ken Herron (1): PS output optimizations (#11442)
Martin Ejdestig (1): Plug possible leak of pixman_traps in _cairo_image_surface_composite_trapezoids.
Nis Martensen (1): Typo fixes in README files
Søren Sandmann (5): [pixman] Initial port to standalone pixman library. Fix initialization of radial patterns Fix bug where _cairo_image_surface_composite_trapezoids() computed the wrong stride for aliased masks pixman_image_set_transform() returns FALSE on failure Add note about pixman dependency in README
Søren Sandmann Pedersen (2): Merge branch 'master' of git+ssh://sandmann@...1826.../git/cairo Bump pixman dependency to 0.9.4
Vladimir Vukicevic (40): [fix] Avoid int overflow when allocating large buffers [fixpt] Update quartz surface for new types [fixpt] Make fixed point methods static inline and generic [fixpt] Use _cairo_fixed_mul insted of manual multiplication [fixpt] Replace cairo_rectangle_int16_t with cairo_rectangle_int_t [fixpt] fix up image surface to translate to 16.16 for pixman [fixpt] remove dependency on some pixman types [fixpt] Fix xlib surface to handle conversion to 16.16 [fixpt] Fix xcb surface to handle conversion to 16.16 [fixpt] Create cairo_region wrapper around pixman_region16_t [fixpt] Let the compiler calculate the magic double-to-fixed value [fixpt] Fix up compilation post pixman merge [fixpt] Fixup malloc usage to use _cairo_malloc_* [win32] compilation fix for win32 Fix path_fixed_offset_and_scale to apply scale and offset in right order Fix image_extra arg in call to _cairo_release_source_image [win32] check correct surface for BitBlt support in get_subimage [win32] Update win32 Makefiles Implement fallback for clone_similar [win32] Add cairo_win32_font_face_create_for_logfontw_hfont [win32] call free() and not scaled_font_destroy() if scaled init fails Fix previous create_similar fallback patch [win32] call scaled_font_fini in create before returning NULL Add b8g8r8 formats to cairo-image-surface [mlk] Free boxes in copy_rectangle_list on success Export cairo_surface_{copy,show}_page Update cairo-sections.txt Let surfaces specify their native resolution, for fallback purposes [win32] Add win32 printing surface Make NO_MUTEX really mean no mutexes [win32] add new win32 printing surface fix trailing whitespace Avoid divide-by-zero when trying to allocate a 0-sized array [win32] remove ignore_operators flag from win32 printing surface [win32] report error correctly if CreateCompatibleBitmap fails [win32] return a nil surface, not NULL [win32] reduce GDI object usage Simplify CAIRO_REFERENCE_COUNT_INVALID macro Fix win32 printing surface copyright notice [win32] mask win32 printing vertex colors with 0xff00 per docs _______________________________________________ gnome-announce-list mailing list gnome-announce-list@...45... http://mail.gnome.org/mailman/listinfo/gnome-announce-list
participants (1)
-
Ted Gould