Commit graph

28 commits

Author SHA1 Message Date
Andrea Canciani
b8a7f8621a Update FSF address
I updated the Free Software Foundation address using the following script.

for i in $(git grep Temple | cut -d: -f1 )
do
  sed -e 's/59 Temple Place[, -]* Suite 330, Boston, MA *02111-1307[, ]* USA/51 Franklin Street, Suite 500, Boston, MA 02110-1335, USA/' -i "$i"
done

Fixes http://bugs.freedesktop.org/show_bug.cgi?id=21356
2010-04-27 11:13:38 +02:00
Chris Wilson
8afd4e4c3d hull: _cairo_hull_vertex_compare() return 0 for identical elements
Andreas Falkenhahn reported a bizarre situation with some
implementations of qsort that actually compare the same elements and
require the comparator to return 0. So be it.

Reported-by: Andreas Falkenhahn <andreas@airsoftsoftwair.de>
2010-04-13 17:56:14 +01:00
Chris Wilson
c50c8b90c0 Move _cairo_error() to a standalone header
A pending commit will want to include some utility code from cairo and
so we need to extricate the error handling from the PLT symbol hiding.
2010-01-22 22:30:43 +00:00
Chris Wilson
3fcac1ef21 [slope] Inline _cairo_slope_init()
Move the definition to a separate header file and allow callers to inline
the simple function.
2009-08-29 08:08:33 +01:00
Chris Wilson
1ae2ddc1dd [memfault] Manually inject faults when using stack allocations
Ensure that no assumptions are made that a small allocation will succeed
by manually injecting faults when we may be simply allocating from an
embedded memory pool.

The main advantage in manual fault injection is improved code coverage -
from within the test suite most allocations are handled by the embedded
memory pools.
2009-04-23 09:22:51 +01:00
Chris Wilson
e6963a5bfe Mark allocation failures as unlikely.
Use the gcc likelihood annotation to indicate that allocation failures are
extremely unlikely.
2008-11-29 11:20:34 +00:00
Chris Wilson
1440399625 [hull] Replace open-coding of 64bit arithmetic.
Use primitives from cairo-wideint-private.h - in this case it helps to
make the code more readable as well as reduce dependence on native 64bit
integers.
2008-10-07 01:45:45 +01:00
Chris Wilson
ba6b2d092a [cairo-hull] Attempt to allocate vertices on stack.
First try to allocate the vertices using an on-stack array, otherwise, if
we need more vertices than can be accomodated, fallback to using a heap
array.
2008-06-13 21:34:41 +01:00
Carl Worth
c26a7de970 Prevent potentially infinite wandering through memeory in _cairo_hull_prev_valid
It is possible for _cairo_hull_prev_valid to be called just once
right before the calling loop is going to terminate. In this
case we really don't want to walk off the beginning of the
array and start wandering.

Thanks to Jonathan Watt for noticing this problem:

	https://bugzilla.mozilla.org/show_bug.cgi?id=306649#c21
2008-04-08 01:54:27 -07:00
Carl Worth
afc6e3b69d Quiet some trivial unused and potentially-uninitialized compiler warnings 2008-04-01 14:40:18 -07:00
Chris Wilson
5efc5238d5 [cairo-hull] Propagate error during hull computation.
Propagate the original error status instead of returning a new NO_MEMORY
error.
2008-03-04 09:31:21 +00:00
Chris Wilson
7758e56d0c [cairo-hull] Remove a couple of redundant status returns.
Those two functions unconditionally returned success, so change the
return to void.
2007-10-10 14:21:51 +01:00
Chris Wilson
bed8239f03 [cairo-error] Clean up all the warnings and missing _cairo_error() calls.
Every time we assign or return a hard-coded error status wrap that value
with a call to _cairo_error(). So the idiom becomes:
    status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
or
    return _cairo_error (CAIRO_STATUS_INVALID_DASH);

This ensures that a breakpoint placed on _cairo_error() will trigger
immediately cairo detects the error.
2007-10-04 13:31:44 +01:00
Chris Wilson
f4356efb64 [malloc/error] Fixup _cairo_error (CAIRO_STATUS_SUCCESS)!
At some point during the blitz, I accidentally wrote
_cairo_error (CAIRO_STATUS_SUCCESS) and then proceeded to paste it into
the next 30 error sites! s/CAIRO_STATUS_SUCCESS/CAIRO_STATUS_NO_MEMORY/
2007-10-04 09:30:32 +01:00
Chris Wilson
8ad56b308a [malloc/error] Add call to _cairo_error() after a failed malloc.
Blitz all allocations to ensure that they raise a
_cairo_error(CAIRO_STATUS_NO_MEMORY) on failure.
2007-10-04 00:42:30 +01:00
Vladimir Vukicevic
5c7d2d14d7 [fix] Avoid int overflow when allocating large buffers
This patch introduces three macros: _cairo_malloc_ab,
_cairo_malloc_abc, _cairo_malloc_ab_plus_c and replaces various calls
to malloc(a*b), malloc(a*b*c), and malloc(a*b+c) with them.  The macros
return NULL if int overflow would occur during the allocation.  See
CODING_STYLE for more information.
2007-06-29 09:46:08 -07:00
Carl Worth
4670366ede Remove trailing whitespace from lines that look like comments.
This patch was produced with the following (GNU) sed script:

	sed -i -r -e '/^[ \t]*\/?\*/ s/[ \t]+$//'

run on all *.[ch] files within cairo, (though I manually excluded
src/cairo-atsui-font.c which has a code line that appears as a comment
to this script).
2006-06-06 15:35:48 -07:00
Bertram Felgenhauer
a028678179 simplify id initialisation of last patch
reviewed by: keithp
2005-09-29 20:00:14 +00:00
Bertram Felgenhauer
fa2d0ab5b7 Using a pointer comparison as the fallback total order was wrong - these pointers are not stable. So we introduce our own total order instead.
mark 4599 as fixed
reviewed by: cworth
2005-09-29 17:26:20 +00:00
Billy Biggs
17845df95b Fix for bug #4165:
Use pointer comparison for coincident points to ensure a well-defined ordering, and avoid setting discard on both points. This fixes problems with my Mac's implementation of qsort. Final patch by Bertram Felgenhauer.
Update reference images after the change.
2005-08-21 11:41:44 +00:00
Carl Worth
dcfb0d8a2b Switch from broken cworth@isi.edu address to canonical cworth@cworth.org address. 2005-02-22 11:35:03 +00:00
Carl Worth
bf8374dba2 Convert all files to utf-8. Add copyright information to cairo_png_surface.c. 2004-10-21 18:40:50 +00:00
Carl Worth
215d5c5a46 Fix comparison so that it results in a stable sort. This should fix some rendering bugs due to broken pens. 2004-10-21 18:26:25 +00:00
Carl Worth
0f3ce6a240 Add the MPL as a new license option, in addition to the LGPL. 2004-09-04 06:38:34 +00:00
Carl Worth
e5afa03605 Fix to explicitly refer to GNU Lesser Public License 2.1 rather than the Library Public License version 2 or 'any later version' 2004-08-02 17:04:00 +00:00
Carl Worth
d5e92dd1c8 Change from MIT license to LGPL. 2004-08-02 13:13:28 +00:00
Carl Worth
2c9d1913cc Fixed copyright attribution to refer to "University of Southern California 2003-10-23 07:47:29 +00:00
Carl Worth
61726a88f2 Generate convex hull of pen before stroking. 2003-10-04 14:34:42 +00:00