cairo-perf and the X server should be bound to CPUs (either the same
or separate) on SMP systems. Not doing so causes random results when
the X server is moved to or from cairo-perf's CPU during the
benchmarks.
Thanks to Thomas Klausner for passing the report along.
This fixes the following bug report:
hidden attribute does not work with Solaris ld
https://bugs.freedesktop.org/show_bug.cgi?id=10227
And as Behdad points out, an even better fix would be to
move checks for supported visibility attribute to configure.
The man page for GNU find says:
-not expr
Same as ! expr, but not POSIX compliant.
And actually, on e.g. NetBSD, "-not" is not supported.
This resolved the following bug:
https://bugs.freedesktop.org/show_bug.cgi?id=10226
Quite some time ago we switched from using deflate-based compression to LZW
for the ps backend, (which allows it to target PostScript Level 2 instead of
PostScript Level 3). Now, we finally drop the fact that the ps backend was
still requiring zlib in order to build.
Otherwise we risk pulling in an otherwise-unneeded dependency on zlib.
This fixes the bug reported here:
Without PDF surface backend we don't need cairo-deflate-stream
https://bugs.freedesktop.org/show_bug.cgi?id=10202
When a single function accepts pointers for multiple return values,
the convention is that it's legal for the user to pass NULL for
those pointers in case the user is only interested in some subset
of the values.
This was already properly implemented for functions such as
cairo_pattern_get_rgba, etc.
Here we fix four functions to follow the same convention:
cairo_stroke_extents
cairo_fill_extents
cairo_clip_extents
cairo_surface_get_device_offset
This fixes the line-width-zero test case and the bug reported here:
Crash in cairo_stroke_extents whe line width is 0 and line cap is ROUND
(_cairo_pen_find_active_cw_vertex_index)
https://bugs.freedesktop.org/show_bug.cgi?id=10231
The crash is described in this bug report:
Crash in cairo_stroke_extents whe line width is 0 and line cap is ROUND
(_cairo_pen_find_active_cw_vertex_index)
https://bugs.freedesktop.org/show_bug.cgi?id=10231
The newly rewritten convex_quad code is actually simpler than the
triangle code being replaced here. This also allows us to throw
away the problematic _compute_x function which can't handle
horizontal lines, (divide by zero). So the cairo world becomes a
better place.
Use the new hook functions to register a callback for xlib to clear
the private glyph data when the display is closed. In order to do this
we need to reset the glyph cache inside the generic scaled font as well.
This patch adds a simple hook data type for a notifier style callback
and introduces two functions to manipulate a list of callbacks for
cleaning up on display closure.
This test started failing with the recent renaming of the following
three functions, (before they had no cairo in their names so they
were not getting picked up at all):
_cairo_test_fallback_surface_create
_cairo_test_meta_surface_create
_cairo_test_paginated_surface_create_for_data
With this change, the failure now goes away again.
The previous code was not handling all cases correctly, (yes,
even something as simple as a quadrilateral can exhibit a
remarkably large number of different cases when tessellation
is attempted).
This fix now introduces slope comparison which handles several
cases that were mis-handled with the previous implementation which
only used independent sorting of the X and Y values of the
coordinates.
This fixes the skew-extreme test case and the bug reported here:
Skew transforms were broken by the cairo update in December
https://bugzilla.mozilla.org/show_bug.cgi?id=373632
This is necessary to ensure that limiting backends using
CAIRO_TEST_TARGET does not increase the number of tests failing,
which is a desirable invariant.