Commit graph

3198 commits

Author SHA1 Message Date
Behdad Esfahbod
57e1b6fa98 [RELEASING] Reorder pushing tag and commits
We should push the tag only after pushing the actually release commit.
2007-03-03 15:34:19 -05:00
Behdad Esfahbod
052acc95e9 [RELEASING] Fix git-tag invocation 2007-03-03 15:32:42 -05:00
Behdad Esfahbod
9f0a1648b7 [configure.in] Increase version to 1.3.17 post-release 2007-03-03 00:22:53 -05:00
Behdad Esfahbod
b3e1fd8c1c [configure.in] Increase version to 1.3.16 in preparation for release 2007-03-03 00:07:34 -05:00
Behdad Esfahbod
c6541b9ac2 [RELEASING] Add note about ChangeLog sanity 2007-03-03 00:07:14 -05:00
Behdad Esfahbod
9aecd7c815 [test] Include romedalen.png in dist, oops 2007-03-03 00:05:40 -05:00
Behdad Esfahbod
2f497c25f9 [Makefile.am] Check for ChangeLog sanity in release-publish 2007-03-02 23:59:55 -05:00
Behdad Esfahbod
eb8214c960 [ChangeLog.mk] Adapt to latest git-describe output format 2007-03-02 23:49:27 -05:00
Behdad Esfahbod
8a69a32795 [test] Update list of refrerence images 2007-03-02 23:29:54 -05:00
Behdad Esfahbod
55d4806127 [NEWS] Add note about documentation improvements 2007-03-02 22:52:38 -05:00
Behdad Esfahbod
77b27fd06b [doc] Update templates 2007-03-02 22:45:50 -05:00
Behdad Esfahbod
1082fed692 [doc] Docuemnt all symbols but cairo_filter_t and cairo_operator_t
Lets see if this is enough to push Carl Worth document those two.
2007-03-02 22:42:17 -05:00
Behdad Esfahbod
e37b6ca3e2 Beautify cairo.h 2007-03-02 22:03:27 -05:00
Behdad Esfahbod
9be961eb0c [doc] Some documentation love 2007-03-02 22:01:15 -05:00
Behdad Esfahbod
8a6308e144 [doc] Update list of header files to ignore 2007-03-02 22:00:25 -05:00
Behdad Esfahbod
fed13e77e1 [NEWS] Fix typos 2007-03-02 16:49:58 -05:00
Vladimir Vukicevic
ab1887f4b0 [quartz] Bug 3939 - Fix Quartz backend endianness problem
Add kCGBitmapByteOrder32Host to CGImageCreate call in release_dest_image
of Quartz surface.
2007-03-02 13:46:31 -08:00
Carl Worth
2640aa7e99 Add notes for 1.3.16
Now, maybe we won't actually make a 1.3.16 snapshot, but these are all
the things that will be new in 1.4.0 compared to 1.3.14.
2007-03-02 13:23:06 -08:00
Behdad Esfahbod
a0bc2ada78 [test] Support passing extra valgrind flags
using EXTRA_VALGRIND_FLAGS make variable or CAIRO_EXTRA_VALGRIND_FLAGS
env variable.
2007-03-02 15:45:02 -05:00
Carl Worth
cd43c03d16 Fix leak of an output stream in cairo_type1_font_destroy 2007-03-02 12:30:53 -08:00
Carl Worth
8c579ef835 More tightening of test cleanup to avoid valgrind complaints. 2007-03-02 12:30:14 -08:00
Carl Worth
9854d01a8d Fix leak in pattern-getters test (missing cairo_pattern_destroy) 2007-03-02 11:32:47 -08:00
Carl Worth
b52dda62fe Augment cairo_test_init with cairo_test_fini to avoid leak
Without this, any tests that were using cairo_test_init rather than
cairo_test would end up leaking a FILE* for the log file. So this
keeps valgrind much more happy with the test suite.
2007-03-02 11:31:13 -08:00
Carl Worth
7d6e21c7e2 Add even more XrmGetFileDatabase leaks to the valgrind suppressions file 2007-03-02 11:29:40 -08:00
Carl Worth
e054314e5e Add a couple of missing test cases to .gitignore 2007-03-02 09:34:46 -08:00
Carl Worth
02f2ece88d Fix leak in pdiff lpyramid
This was a leak in the test suite only, (and then only when tests failed).
2007-03-02 09:32:14 -08:00
Carl Worth
6da7f14033 Fix INVALID_RESTORE case to avoid crashes
Previously, an INVALID_RESTORE error would leave cr->gstate as NULL,
(which is generally impossible/invalid). This seems safe enough as
most cairo functions check cr->status first and bail if anything
looks fishy.

However, the many cairo_get functions happily march along in spite
of any current error. We could instrument all of those functions to
check for the error status and return some dummy value in that case.
But it's much easier to get the same basic effect by simply creating
a non-NULL cr->gstate which will hold all those dummy values, and
we can eliminate the crashes without having to touch up every
cairo_get function.

This fixes the bug reported here:

	evolution crash to _cairo_gstate_backend_to_user()
	https://bugs.freedesktop.org/show_bug.cgi?id=9906

It also eliminates the crash that was added to the nil-surface test
with the previous commit.
2007-03-02 03:49:45 -08:00
Carl Worth
36590fd470 Add test of cairo_get_* after INVALID_RESTORE to nil-surface
This new test demonstrates a crash condition as reported here:

	evolution crash to _cairo_gstate_backend_to_user()
	https://bugs.freedesktop.org/show_bug.cgi?id=9906
2007-03-02 03:43:46 -08:00
Carl Worth
712447856d Fix yet another backend (quartz) for the gradient renaming
So it looks like it took us three commits before we finally got
all of the users of inner/outer switched to c1/c2. Hopefully
someday we'll have the compiler passing over all of cairo's
source code even if the backends aren't available to be run
on a particular system.
2007-03-02 03:15:35 -08:00
Carl Worth
4e0f0d9425 Don't crash if backend->create_similar returns a nil surface
This fixes the bug reported here:

	cairo crashes in cairo_create_simular if nil surface returned by other->backend->create_similar
	https://bugs.freedesktop.org/show_bug.cgi?id=9844
2007-03-02 03:12:37 -08:00
Carl Worth
b0c086fce4 Update documentation for cairo_get_scaled_font and cairo_get_font_face
There was some leftover cut-and-paste description of get_font_face
in the documentation for get_scaled_font. That turned out to be a
good thing as it alerted me to the fact that the get_font_face
documentation was stale as well.

Add description of the 'nil' object return values, rather than NULL.
2007-03-02 03:12:37 -08:00
Jeff Muizelaar
5f386bb15a Use a closed interval when eliminating outliers from performance measurements
When choosing the samples that are not outliers we use a half-open interval
(outlier_min <= x < outlier_max). This causes all of the samples to be
discarded when the interquartile range is 0 because none of them are less
than outlier_max. Fix the problem and make the test more consistent by
using a closed interval (outliner_min <= x <= outlier_max).
2007-03-02 03:12:36 -08:00
Jinghua Luo
d48f313701 glitz: fix build error.
Rename radial gradient inner/outer to c1/c2.
2007-03-02 18:37:06 +08:00
Carl Worth
c12a4571af Cast -1 values to unsigned to quiet the compiler.
Marking the magic values to indicate we really did mean to type them.
2007-03-02 00:37:21 -08:00
Carl Worth
3685a66b5b Cast away a const to quiet a compiler warning. 2007-03-02 00:22:57 -08:00
Carl Worth
d48bb4fbe8 Implement CAIRO_MUTEX_INIT with memcpy instead of pthread_mutex_init
The trick here is that with the weak symbol support for pthreads,
pthread_mutex_init can be a NOP leaving the mutex uninitialized.
Then, if some pthread-using library is dynamically loaded, the
non-NOP pthread functions get used and we end up trying to lock
an uninitialized mutex.

This should fix the bugs reported here:

	Cairo 1.3.14 deadlocks in cairo_scaled_font_glyph_extents or _cairo_ft_unscaled_font_lock_face
	https://bugs.freedesktop.org/show_bug.cgi?id=10035
2007-03-01 23:42:03 -08:00
Carl Worth
df2d42ac7f Merge branch 'radial-gradient-fixes' into cairo 2007-03-01 17:08:03 -08:00
Behdad Esfahbod
ec11ca33a7 [PS/PDF] Mark CAIRO_EXTEND_PAD for surface patterns as natively supported
since the image surface does not implement that case either, so image
fallbacks have no benefit.
2007-03-01 19:14:40 -05:00
Behdad Esfahbod
4ee6cda6e5 [test] Move .la dependencies around 2007-03-01 19:13:19 -05:00
Behdad Esfahbod
ff06ea1abf [boilerplate] Add correct dependency on libcairo.la 2007-03-01 19:12:58 -05:00
Behdad Esfahbod
4b1f450f4c [test] Add more valgrind suppressions 2007-03-01 18:36:27 -05:00
Behdad Esfahbod
dcdcb7ac2a Fix leak in rectilinear stroking code
The code was not cleaning up after itself when rejecting a path as
rectilinear.
2007-03-01 18:36:16 -05:00
Behdad Esfahbod
2acd5b5277 [test] Add leak-revealing path to rectilinear-stroke
Based on this thread:
http://lists.freedesktop.org/archives/cairo/2007-March/009860.html
2007-03-01 18:34:53 -05:00
Carl Worth
97dbbae621 SVG: Support CAIRO_EXTEND_NONE for radial gradients.
This is as simple as adding transparent color stops on either end.
2007-03-01 15:17:19 -08:00
Behdad Esfahbod
bd2cd2c868 [test] Plug a leak in the test suite 2007-03-01 18:14:33 -05:00
Behdad Esfahbod
7de96a1faa [xlib] Drop XrmFinalize() stuff. That didn't ever exist in any public X server 2007-03-01 18:00:23 -05:00
Carl Worth
fe68e8aa32 Fix gradient walker to not reset needlessly
Previously the gradient walker was doing excessive resets, (such
as on every pixel in constant-colored regions or outside the
gradient with CAIRO_EXTEND_NONE). Don't do that.
2007-03-01 14:55:29 -08:00
Carl Worth
9a5dfe1415 Fix implementation of radial gradients for inner radius != 0
The previous implementation fell apart quite badly when neither radius
value was equal to 0.0. I derived the math from scratch, (much thanks to
Vincent Torri <vtorri@univ-evry.fr> for guiding me to a simpler derivation
than I was doing originally), and it's working much better now without
being any slower, (in fact, cairo-perf shows speedup of 1.05x to 1.58x on
my laptop here).

This work also provides groundwork for defining the behavior of radial
gradients where neither circle is wholly contained within the other, (though
we haven't done that definition yet---it will require a new test case and a
very little bit of work on the implementation).

This is a fix for the following bug report:

	Radial Gradients with nonzero inner radius misplace stops
	https://bugs.freedesktop.org/show_bug.cgi?id=7685
2007-03-01 14:53:48 -08:00
Carl Worth
0439f4c4f7 Rename radial gradient inner/outer to c1/c2
The inner/outer names were totally bogus. It is quite
legitimate to have the first circle's radius be larger than
that of the second.
2007-03-01 13:21:54 -08:00
Carl Worth
d65455ed38 Add radial-gradient test case
Embarrassingly enough, the test suite previously never called
into cairo_pattern_create_radial at all. Unsurprisingly, this
has led to bugs creeping into the radial gradient implementation.
2007-03-01 13:16:38 -08:00