Commit graph

5312 commits

Author SHA1 Message Date
Vladimir Vukicevic
d756a4d632 [xlib] check for too-large surface size in create similar to avoid UNSUPPORTED loop 2008-08-28 16:58:52 -07:00
Behdad Esfahbod
894940b81f Some nasty tracks to make changing version number not cause a total rebuild
Quite slick!  This comes handy when git-bisect'ing.  The canonical version
number is in toplevel cairo-version.h now.
2008-08-28 18:18:23 -04:00
Behdad Esfahbod
ab5c528de2 Undefine PACKAGE* macros defined by autotools
We use our own macros.  This makes it easier for other build systems.
2008-08-28 17:36:43 -04:00
Behdad Esfahbod
47b3c9aa3f Move version functions to cairo-misc.c 2008-08-28 17:29:32 -04:00
Behdad Esfahbod
89900525fb Move version number to src/cairo-version.h 2008-08-28 17:28:08 -04:00
Behdad Esfahbod
22552dae51 Rename _cairo_matrix_compute_scale_factors to _cairo_matrix_compute_basis_scale_factors 2008-08-27 20:08:49 -04:00
Behdad Esfahbod
df64e0e632 Cleanup libtool version handling
In preparation to remove the manual numbering completely
2008-08-27 18:41:22 -04:00
Vladimir Vukicevic
2cf82eaf0d [xlib] Check CreatePixmap dimensions before calling, to avoid unnecessary size errors 2008-08-27 14:16:52 -07:00
Behdad Esfahbod
719c17c293 [src/Makefile.am] Remove gcc dependency 2008-08-27 17:09:19 -04:00
Chris Wilson
a8c0998baf [ps] Check tmpfile status after reading.
Be paranoid and check to see if we encountered an error whilst reading the
temporary file.
2008-08-27 14:58:53 +01:00
Chris Wilson
de6742c5f1 [ps] Mark the hex data as unsigned char.
Use unsigned char to avoid sign extensions issues when bit shifting.
2008-08-26 23:02:41 +01:00
Chris Wilson
590ccb9006 [ps] Convert a few residual CRLF to LF.
Just a few CRLF eol-terminators remained, cluttering the output.
2008-08-26 23:01:15 +01:00
Chris Wilson
b9287e6669 [test] Cache last output and compare next time.
Compare the current output against a previous run to determine if there
has been any change since last time, and only run through imagediff if
there has been. For the vector surfaces, we can check the vector output
first and potentially skip the rasterisation. On my machine this reduces
the time for a second run from 6 minutes to 2m30s. As most of the time,
most test output will remain unchanged, so this seems to be a big win. On
unix systems, hard linking is used to reduce the amount of storage space
required - others will see about a three-fold increase in the amount of
disk used.  The directory continues to be a stress test for file selectors.

In order to reduce the changes between runs, the current time is no longer
written to the PNG files (justified by that it only exists as a debugging
aid) and the boilerplate tweaks the PS surface so that the creation date
is fixed. To fully realise the benefits here, we need to strip the
creation time from all the reference images...

The biggest problem with using the caches is that different runs of the
test suite can go through different code paths, introducing potential
Heisenbergs. If you suspect that caching is interfering with the test
results, use 'make -C test clean-caches check'.
2008-08-20 23:56:56 +01:00
Chris Wilson
98bb04cf93 [ps] Check for end-of-stream after advancing character.
Whilst writing the base85 stream we advance an extra character if we spot
a '~', however we need to be paranoid that we have not stepped beyond the
end of the data for this write.
2008-08-20 23:20:14 +01:00
Alex Rostovtsev
186e7a2602 [png] Specify a no-op flush callback (NULL deref)
libpng changed behaviour in v1.2.30 to call the png_ptr->output_flush_fn
in png_write_end(). If no flush function is provided with
png_set_write_fn(), libpng will use its default fflush() instead - which
assumes that closure passed is a FILE* and not an arbitrary user pointer.

Consequently, we must actually set a dummy output_flush_fn to avoid
segfaulting.
2008-08-19 23:45:40 +01:00
Behdad Esfahbod
00bc650455 Add new public API cairo_surface_has_show_text_glyphs()
We added cairo_has_show_text_glyphs() before.  Since this is really a
surface property, should have the surface method too.  Like we added
cairo_surface_show_page()...
2008-08-18 14:54:21 -04:00
Behdad Esfahbod
da83f405ca Tone down comment 2008-08-18 12:31:13 -04:00
Behdad Esfahbod
5379af109c [cairo-ft] Add useless cairo_warn decorator 2008-08-18 12:31:13 -04:00
Chris Wilson
19d721d84c [cairo-compiler-private.h] Clear definition of __attribute__
Avoid a redefinition error when playing silly tricks with 'cpp -U__GNUC__'.
2008-08-17 21:43:14 +01:00
Chris Wilson
12d3d32f22 [Makefile.am] Support uno.
For the extreme masochist only. At the moment, it only generate syntax
errors, but the command line appears functional.
2008-08-17 21:41:36 +01:00
Chris Wilson
6808174e72 [win32-font] Review error handling.
The test-suite for win32 shows less than ideal error detection whilst
running on mingw32. Looking at the code, I spotted a few places where the
error propagation could be improved, and lo...
2008-08-17 21:00:52 +01:00
Chris Wilson
5ef52cd08f [svg] Tweak base64_write_func().
On a wild goose chase to eliminate a valgrind warning (caused by libpng,
alas) tweak the code for a bit of simplification.
2008-08-17 20:27:02 +01:00
Chris Wilson
d5f90a241c [ft-font] Dead store elimination.
Value stored to 'stride' is never read.
2008-08-17 15:19:19 +01:00
Chris Wilson
5109fdb1e6 [xlib] Return the integer from XGetDefault().
If the default value does not match a fontconfig constant, actually return
the parsed token.
2008-08-17 15:19:19 +01:00
Chris Wilson
4f4621adbf [scaled-font-subsets] Check for a failed malloc.
Missing NULL check after malloc.
2008-08-17 15:19:19 +01:00
Chris Wilson
418ebb0930 [scaled-font-subsets] Propagate error status from index_to_ucs4().
Check for an error status from ->index_to_ucs4() and propagate.
2008-08-17 15:19:19 +01:00
Chris Wilson
2ab700f21a [type3-glyph] Propagate error from image emission.
Return the error status from ->emit_image().
2008-08-17 15:19:19 +01:00
Chris Wilson
0549fcfd85 [pdf-operators] Propagate status from end_text().
Check for an error status after end_text().
2008-08-17 15:19:19 +01:00
Chris Wilson
96d45cfeee [pdf-operators] Propagate error from emit_glyph_string*().
Do not overwrite the error status if returned by either of the
emit_glyph_string*() routines.
2008-08-17 15:19:12 +01:00
Chris Wilson
63f64ff336 [pdf-operators] Propagate error from begin_actualtext().
Check the status return from begin_actualtext().
2008-08-17 14:53:55 +01:00
Chris Wilson
56c5f9954a [pdf] Propagate error from open_stream() failure.
Check status return for _cairo_pdf_surface_open_stream().
2008-08-17 14:51:48 +01:00
Chris Wilson
311464ad50 [pdf] Propagate status return.
Check status return from type3_glyph_surface_emit_glyph().
2008-08-17 14:50:35 +01:00
Chris Wilson
b14c6ac685 [pdf] dead code elimination.
Value stored to 'matrix' is never read.
2008-08-17 14:49:02 +01:00
Chris Wilson
97a2038c76 [ps] Dead store elimination.
Value stored to 'matrix' is never read.
2008-08-17 14:47:27 +01:00
Chris Wilson
e3b6a0c89a [cairo-output-stream] Dead store.
Value stored to 'p' is never read.
2008-08-17 14:44:44 +01:00
Chris Wilson
4517ef0520 [cairo-image-surface] Dead store.
Value stored to 'ret' is never read.
Value stored to 'mask_bpp' is never read.
2008-08-17 14:35:45 +01:00
Chris Wilson
4114a7bf06 [cairo-clip] Dead store.
Value stored to 'status' is never read.
2008-08-17 14:33:38 +01:00
Chris Wilson
32843260ae [cairo-scaled-font] Dead store.
Value stored to 'status' is never read.
2008-08-17 14:31:12 +01:00
Chris Wilson
6c0da32b06 [cairo-scaled-font] Actually use bytes_per_row.
bytes_per_row was precomputed but not actually used in the inner loop.
2008-08-17 14:30:04 +01:00
Chris Wilson
c7d803fc91 [cairo-surface] Add the lcd_filter default to the nil surfaces.
The nil surfaces did not correctly initialize the lcd filter font option
to the default value.
2008-08-17 14:08:28 +01:00
Chris Wilson
3b2d49e567 Ensure ranges of wideint types are always defined.
Define the range of the fixed types (int16, int32 etc) if the standard
headers fail to provide the definitions.
2008-08-17 14:08:28 +01:00
Chris Wilson
3501eef698 [cairo-cache] Fixup doc comment.
Missing % before the macro name in the comment.
2008-08-17 12:13:59 +01:00
Peter O'Gorman
586dbaafe6 Compile with old compilers
Some compilers fail to compile non-constant struct initializers.
2008-08-17 11:42:48 +01:00
Chris Wilson
3998040c11 [cairo-cache] Simplify a status return to boolean.
_cairo_cache_remove_random() just returned whether it found an entry to
remove and so the code can be simplified by returning a boolean as opposed
to a status code.
2008-08-17 11:39:56 +01:00
Chris Wilson
841fe91c0e [ps] Promote char to an int to avoid valgrind warnings.
valgrind warns about an uninitialized read after a single char is promoted
to an int when passed to the printf. Silence the warning by using a
explicitly promoting the output byte to a full int.
2008-08-17 11:39:56 +01:00
Chris Wilson
db7e3cb854 [Makefile.am] Delete intermediates
Clean up after calling 'gcc -save-temps'.
2008-08-17 11:39:56 +01:00
Chris Wilson
67326b728b [gitignore] Ignore *.[is]
Playing with 'gcc -save-temps' understandably leaves behind large amounts
of clutter.
2008-08-17 11:39:56 +01:00
Chris Wilson
bafcbc633a [cairo-scaled-font] Check the most recently used font used first.
When searching for a matching font, check the most recently used font
first. This optimizes the common case where pango calls save() and restore()
around rendering each layout, but almost all consecutive layouts use the
same font.
2008-08-17 11:39:56 +01:00
Behdad Esfahbod
a1e5d40376 [doc] Another typo fix 2008-08-17 00:11:34 -04:00
Behdad Esfahbod
20d178c1c2 [doc] Fix typo 2008-08-16 21:27:03 -04:00