Age | Commit message (Collapse) | Author | Files | Lines |
|
Truc Troung reported that the behaviour of
cairo_set_tolerance()/cairo_get_tolerance() was inconsistent with the
documentation, i.e. we failed to mention that the tolerance would be
restricted to the smalled fixed-point value.
Add a sentence to the documentation that describes the restriction without
mentioning what that is... Hopefully that is sufficient detail to
accommodate the reporter, without exposing internal implementation details.
Fixes https://bugs.freedesktop.org/show_bug.cgi?id=20095
Bug 20095 - The cairo_set_tolerance() function behavior is inconsistency
with the spec
|
|
As pointed out by Truc Truong,
cairo_image_surface_create_from_png_stream() cannot return NULL and so the
documentation was incorrect.
Fixes http://bugs.freedesktop.org/show_bug.cgi?id=20075
Bug 20075 There is a misprint in the spec for
cairo_image_surface_create_from_png_stream() function
|
|
empty extents.
This fixes the clip-all test case crashing for me.
|
|
If a matrix was something like [0 .000001 0, .000001 0 0] the old code would
assume that xx and yy were greater than 0 and turn the nearly degenerate matrix
into an actual degenerate one. This caused things to blow up later on. Now we
check that our nearly rectangular matrices are not nearly degenerate, and let
the nearly degenerate ones fall through to the non-rectangular path.
Note: I'm not sure why NEARLY_ZERO(d) is fabs(d) < 1/65536 instead of some
other value. Hopefully, it's a useful definition.
This problem was found by a test case attached to:
https://bugzilla.mozilla.org/show_bug.cgi?id=467423
|
|
|
|
|
|
In preparation for the next stable release.
|
|
Add the historical blurb for 1.8.6.
|
|
git-1.6 moved all the subcommands out of the PATH so update our usage.
|
|
Git moved all the subcommands out of the PATH, so we need to update our
usage.
|
|
As I was reading through the instructions, take the opportunity to fix a
few spelling mistakes.
|
|
A normal comment was marked as a gtk-doc entry and thus causing gtk-doc to
complain.
|
|
Since git 1.6 the plumbing commands aren't installed in the user's
path by default. This patch fixes cairo-perf-diff to find the
git-sh-setup command from git's lib dir.
(cherry picked from commit 0c0f4862c52d68776024f125b003ade455044b27)
|
|
Otherwise this may leads to an invalid memory access to r.
Fixes: Bug 18588 - XCB backend fails with missing render.
https://bugs.freedesktop.org/show_bug.cgi?id=18588
Signed-off-by: Julien Danjou <julien@danjou.info>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
(cherry picked from commit 834f1d7b7097dcc3a32f6c65d21e87fd272d924a)
|
|
Sascha Steinbiss reported a bug where the PDF backend was reading beyond
the end of the glyph array:
http://lists.cairographics.org/archives/cairo/2008-December/015976.html.
It transpires that in the early glyph culling in the gstate we were
not updating the clusters to skip culled glyphs.
|
|
The pattern could be stack allocated so we can't take a reference to it;
instead make a copy.
Based on a patch by Paolo Bonzini.
|
|
Repeat should be handled using MOD instead of '%' so that negative numbers
are handled as expected. E.g. -1 mod 600 = 599, not 495 as the '%' operator
gives. This was causing https://bugzilla.mozilla.org/show_bug.cgi?id=466258
Patch from Robert O'Callahan
|
|
Peter Hercek reported, and provided a very useful test case for, a bug
that caused his applications to crash with Cairo detecting an
non-invertible pattern matrix and thus asserting the impossible happened.
Bisecting revealed that the bug first appeared with 3c18d95 and
disappeared with 0d0c6a1. Since neither of these explain the crash,
further investigation revealed a compiler bug (gcc 4.3.3 20081130,
earlier versions have different bugs!) that caused the matrix inversion
to be invalid iff _cairo_matrix_scalar_multiply() was inlined (i.e. -O0,
or an explicit noinline atttribute on that function prevented the bug, as
did -msse.) So we apply this workaround to hide the bug in the stable
series...
The matrix is quite often just a simple scale and translate (or even
identity!). For this class of matrix, we can skip the full adjoint
rearrangement and determinant calculation and just compute the inverse
directly.
(cherry picked from commit 0d0c6a199c5b631299c72dce80d66ac0f4936a64)
|
|
The defines need to come first, but we specify that cairo.h is the first
header file to be included by files.
|
|
Patch from Dave Yeo to make cairo-os2.h include os2.h directly so the
header is standalone.
|
|
|
|
Fix a trivial compile failure reported here:
Bug 18322 - bug in _cairo_directfb_surface_release_source_image function
(http://bugs.freedesktop.org/show_bug.cgi?id=18322)
|
|
|
|
|
|
Just a few bug fixes here.
|
|
This is in response to a report that a 6.9 server crashes with
cairo's extend-reflect test:
https://bugs.freedesktop.org/show_bug.cgi?id=15628#c2
|
|
It's a confusing condition, so let's be explicit about where
the various numbers come from.
|
|
|
|
|
|
and let type1-fallback handle it. This fixes the bug reported by
Peter Weilbacher in
http://lists.cairographics.org/archives/cairo/2008-October/015569.html
|
|
test/text-glyph-range was crashing since we requested the meta_surface but
the glyph wrongly believed it already had the meta_surface but was
checking for a path instead.
|
|
user-font-mask should PASS modulo the scaling anomalies in the external
renderers, so remove it from the XFAIL list.
|
|
The extents of cairo_mask() is only limited to the mask if the operation
is bounded by the mask.
|
|
Adrian Johnson discovered cases where we mistakenly compared the result
of unsigned arithmetic where we need signed quantities. Look for similar
cases in the users of cairo_rectangle_int_t.
|
|
_cairo_rectangle_intersect() incorrectly allows unsigned promotion during
its arithmetic.
|
|
In order to handle projection of analysis surface with user-fonts we need
to accommodate patterns extending into negative coordinate space.
|
|
_cairo_gstate_backend_to_user_rectangle() requires that its input
arguments are non-NULL and describe the input rectangle to be transformed.
However, we were passing through output parameters from the public API
which were allowed to be NULL. So we need to allocate temporary variables
in which to compute the output rectangle, but only copy them as required.
|
|
Thanks to Chris Wilson (who else?) for the last-minute bug fix.
|
|
Hurrah! We're finally there.
|
|
If the image was opaque with no alpha channel, we filled the output alpha
with 0. Typically, the destination surface for dithering is an RGB window,
so this bug went unnoticed. However, test/xlib-expose-event is an example
where we generate an intermediate alpha-only pixmap for use as a stencil
and this was failing as the mask was left completely transparent. The
simple solution is to ensure that for opaque images, the output alpha is
set to the maximum permissible value.
|
|
Tweak the whitespace to lose some unnecessary line wrapping, casts and
blanks.
|
|
|
|
I missed this in a previous commit, (I think I had used a
pattern of twin-*-ref.png which of course didn't match
this file).
|
|
Add some summarizing paragraphs and organize bug-fixes and optimizations
into separate sections.
|
|
Proof-reading is difficult, even with the squiggly lines.
|
|
Whilst Carl's not looking, fix a couple of typos -- in particular the one
calling me a bug! ;-)
|
|
(Still need to add a paragraph or two summarizing the release.)
|
|
This performance test relied on the recently-removed ability
to select the internal twin-based font family with a name of
"cairo".
Presumably, we'll want to bring this performance case back when
some other means of requesting that font face is added.
|
|
This test relied on the recently-removed ability to select
the internal twin-based font family with a name of "cairo".
Presumably, we'll want to bring this test case back when
some other means of requesting that font face is added.
|
|
It's not fair to steal this name from the namespace of family names.
There are definitely cairo.ttf files that exist out there, and people
may already be using these, (or may use them in the future), with
cairo_select_font_face and a family name of "cairo".
In place of this, we'll want to come up with some other new, and
documented API for selecting the internal font face.
|