mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-06 11:38:16 +02:00
Allow NULL as a valid value for several objects. That is, calling reference or destroy on these objects will simply do nothing, successfully.
Remove extra whitespace.
This commit is contained in:
parent
7b4a65dba4
commit
4f2f520dce
8 changed files with 81 additions and 6 deletions
20
ChangeLog
20
ChangeLog
|
|
@ -4,6 +4,26 @@
|
|||
the clip surface to a new surface the size of the intersection of
|
||||
the old clip surface and the extents of the new clip path.
|
||||
|
||||
2005-06-03 Carl Worth <cworth@cworth.org>
|
||||
|
||||
* src/cairo-font.c: (cairo_font_face_reference),
|
||||
(cairo_font_face_destroy), (_cairo_simple_font_face_destroy),
|
||||
(_cairo_unscaled_font_reference), (_cairo_unscaled_font_destroy),
|
||||
(cairo_scaled_font_reference), (cairo_scaled_font_destroy):
|
||||
* src/cairo-ft-font.c: (_ft_font_cache_destroy_cache),
|
||||
(_cairo_ft_unscaled_font_destroy), (_ft_font_face_destroy):
|
||||
* src/cairo-glitz-surface.c: (_cairo_glitz_area_destroy):
|
||||
* src/cairo-path-data.c: (cairo_path_destroy):
|
||||
* src/cairo-pdf-surface.c: (cairo_pdf_font_destroy),
|
||||
(cairo_pdf_ft_font_destroy):
|
||||
* src/cairo-win32-font.c: (_cairo_win32_scaled_font_destroy):
|
||||
Allow NULL as a valid value for several objects. That is, calling
|
||||
reference or destroy on these objects will simply do nothing,
|
||||
successfully.
|
||||
|
||||
* src/cairo-atsui-font.c: (_cairo_atsui_font_destroy_font): Remove
|
||||
extra whitespace.
|
||||
|
||||
2005-06-03 Carl Worth <cworth@cworth.org>
|
||||
|
||||
* src/cairoint.h:
|
||||
|
|
|
|||
|
|
@ -209,7 +209,6 @@ _cairo_atsui_font_destroy_font(void *abstract_font)
|
|||
{
|
||||
cairo_atsui_font_t *font = abstract_font;
|
||||
|
||||
|
||||
if (font == NULL)
|
||||
return;
|
||||
|
||||
|
|
|
|||
|
|
@ -53,15 +53,19 @@ _cairo_font_face_init (cairo_font_face_t *font_face,
|
|||
|
||||
/**
|
||||
* cairo_font_face_reference:
|
||||
* @font_face: a #cairo_font_face_t
|
||||
* @font_face: a #cairo_font_face_t, (may be NULL in which case this
|
||||
* function does nothing).
|
||||
*
|
||||
* Increases the reference count on @font_face by one. This prevents
|
||||
* @font_face from being destroyed until a matching call to cairo_font_face_destroy()
|
||||
* is made.
|
||||
* @font_face from being destroyed until a matching call to
|
||||
* cairo_font_face_destroy() is made.
|
||||
**/
|
||||
void
|
||||
cairo_font_face_reference (cairo_font_face_t *font_face)
|
||||
{
|
||||
if (font_face == NULL)
|
||||
return;
|
||||
|
||||
font_face->refcount++;
|
||||
}
|
||||
|
||||
|
|
@ -76,6 +80,9 @@ cairo_font_face_reference (cairo_font_face_t *font_face)
|
|||
void
|
||||
cairo_font_face_destroy (cairo_font_face_t *font_face)
|
||||
{
|
||||
if (font_face == NULL)
|
||||
return;
|
||||
|
||||
if (--(font_face->refcount) > 0)
|
||||
return;
|
||||
|
||||
|
|
@ -327,6 +334,9 @@ _cairo_simple_font_face_destroy (void *abstract_face)
|
|||
cairo_cache_t *cache;
|
||||
cairo_simple_cache_key_t key;
|
||||
|
||||
if (simple_face == NULL)
|
||||
return;
|
||||
|
||||
_lock_global_simple_cache ();
|
||||
cache = _get_global_simple_cache ();
|
||||
assert (cache);
|
||||
|
|
@ -847,12 +857,18 @@ _cairo_unscaled_font_init (cairo_unscaled_font_t *unscaled_font,
|
|||
void
|
||||
_cairo_unscaled_font_reference (cairo_unscaled_font_t *unscaled_font)
|
||||
{
|
||||
if (unscaled_font == NULL)
|
||||
return;
|
||||
|
||||
unscaled_font->refcount++;
|
||||
}
|
||||
|
||||
void
|
||||
_cairo_unscaled_font_destroy (cairo_unscaled_font_t *unscaled_font)
|
||||
{
|
||||
if (unscaled_font == NULL)
|
||||
return;
|
||||
|
||||
if (--(unscaled_font->refcount) > 0)
|
||||
return;
|
||||
|
||||
|
|
@ -867,7 +883,8 @@ _cairo_unscaled_font_destroy (cairo_unscaled_font_t *unscaled_font)
|
|||
|
||||
/**
|
||||
* cairo_scaled_font_reference:
|
||||
* @scaled_font: a #cairo_scaled_font_t
|
||||
* @scaled_font: a #cairo_scaled_font_t, (may be NULL in which case
|
||||
* this function does nothing)
|
||||
*
|
||||
* Increases the reference count on @scaled_font by one. This prevents
|
||||
* @scaled_font from being destroyed until a matching call to
|
||||
|
|
@ -876,6 +893,9 @@ _cairo_unscaled_font_destroy (cairo_unscaled_font_t *unscaled_font)
|
|||
void
|
||||
cairo_scaled_font_reference (cairo_scaled_font_t *scaled_font)
|
||||
{
|
||||
if (scaled_font == NULL)
|
||||
return;
|
||||
|
||||
scaled_font->refcount++;
|
||||
}
|
||||
|
||||
|
|
@ -893,6 +913,9 @@ cairo_scaled_font_destroy (cairo_scaled_font_t *scaled_font)
|
|||
cairo_font_cache_key_t key;
|
||||
cairo_cache_t *cache;
|
||||
|
||||
if (scaled_font == NULL)
|
||||
return;
|
||||
|
||||
if (--(scaled_font->refcount) > 0)
|
||||
return;
|
||||
|
||||
|
|
|
|||
|
|
@ -256,6 +256,7 @@ static void
|
|||
_ft_font_cache_destroy_cache (void *cache)
|
||||
{
|
||||
ft_cache_t *fc = (ft_cache_t *) cache;
|
||||
|
||||
FT_Done_FreeType (fc->lib);
|
||||
free (fc);
|
||||
}
|
||||
|
|
@ -482,6 +483,9 @@ _cairo_ft_unscaled_font_destroy (void *abstract_font)
|
|||
{
|
||||
ft_unscaled_font_t *unscaled = abstract_font;
|
||||
|
||||
if (unscaled == NULL)
|
||||
return;
|
||||
|
||||
if (unscaled->from_face) {
|
||||
/* See comments in _ft_font_face_destroy about the "zombie" state
|
||||
* for a _ft_font_face.
|
||||
|
|
@ -1340,6 +1344,9 @@ _ft_font_face_destroy (void *abstract_face)
|
|||
ft_font_face_t *tmp_face = NULL;
|
||||
ft_font_face_t *last_face = NULL;
|
||||
|
||||
if (font_face == NULL)
|
||||
return;
|
||||
|
||||
/* When destroying the face created by cairo_ft_font_face_create_for_ft_face,
|
||||
* we have a special "zombie" state for the face when the unscaled font
|
||||
* is still alive but there are no public references to the font face.
|
||||
|
|
|
|||
|
|
@ -1328,7 +1328,7 @@ _cairo_glitz_area_create (cairo_glitz_root_area_t *root,
|
|||
static void
|
||||
_cairo_glitz_area_destroy (cairo_glitz_area_t *area)
|
||||
{
|
||||
if (!area)
|
||||
if (area == NULL)
|
||||
return;
|
||||
|
||||
if (area->state == CAIRO_GLITZ_AREA_OCCUPIED)
|
||||
|
|
|
|||
|
|
@ -364,9 +364,26 @@ _cairo_path_data_create_real (cairo_path_fixed_t *path_fixed,
|
|||
return path;
|
||||
}
|
||||
|
||||
/**
|
||||
* cairo_path_destroy:
|
||||
* @path: a #cairo_path_t pointer returned from either cairo_copy_path
|
||||
* or cairo_copy_path_flat.
|
||||
*
|
||||
* Frees @path and all memory associated with it. Upon returning from
|
||||
* this function @path will be pointing to an invalid location which
|
||||
* should not be used.
|
||||
*
|
||||
* The cairo_path_destroy function should only be called with a
|
||||
* pointer to a #cairo_path_t returned by a cairo function. Any
|
||||
* manually created cairo_path_t object should be freed manually as
|
||||
* well.
|
||||
**/
|
||||
void
|
||||
cairo_path_destroy (cairo_path_t *path)
|
||||
{
|
||||
if (path == NULL)
|
||||
return;
|
||||
|
||||
free (path->data);
|
||||
path->num_data = 0;
|
||||
free (path);
|
||||
|
|
|
|||
|
|
@ -291,6 +291,9 @@ cairo_pdf_font_generate (cairo_pdf_font_t *font,
|
|||
static void
|
||||
cairo_pdf_font_destroy (cairo_pdf_font_t *font)
|
||||
{
|
||||
if (font == NULL)
|
||||
return;
|
||||
|
||||
font->backend->destroy (font);
|
||||
}
|
||||
|
||||
|
|
@ -378,6 +381,9 @@ cairo_pdf_ft_font_destroy (void *abstract_font)
|
|||
{
|
||||
cairo_pdf_ft_font_t *font = abstract_font;
|
||||
|
||||
if (font == NULL)
|
||||
return;
|
||||
|
||||
_cairo_unscaled_font_destroy (font->base.unscaled_font);
|
||||
free (font->base.base_font);
|
||||
free (font->parent_to_subset);
|
||||
|
|
|
|||
|
|
@ -466,6 +466,9 @@ _cairo_win32_scaled_font_destroy (void *abstract_font)
|
|||
{
|
||||
cairo_win32_scaled_font_t *scaled_font = abstract_font;
|
||||
|
||||
if (scaled_font == NULL)
|
||||
return;
|
||||
|
||||
if (scaled_font->scaled_hfont)
|
||||
DeleteObject (scaled_font->scaled_hfont);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue