mirror of
https://gitlab.freedesktop.org/cairo/cairo.git
synced 2026-05-04 23:28:07 +02:00
Mark if(status) as being unlikely.
The error paths should be hit very rarely during normal operation, so mark them as being unlikely so gcc may emit better code.
This commit is contained in:
parent
f0804d4856
commit
d1801c23fa
40 changed files with 1053 additions and 1050 deletions
|
|
@ -337,7 +337,7 @@ _cairo_analysis_surface_paint (void *abstract_surface,
|
|||
cairo_rectangle_int_t source_extents;
|
||||
|
||||
status = _cairo_pattern_get_extents (source, &source_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
is_empty = _cairo_rectangle_intersect (&extents, &source_extents);
|
||||
|
|
@ -407,7 +407,7 @@ _cairo_analysis_surface_mask (void *abstract_surface,
|
|||
cairo_rectangle_int_t source_extents;
|
||||
|
||||
status = _cairo_pattern_get_extents (source, &source_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
is_empty = _cairo_rectangle_intersect (&extents, &source_extents);
|
||||
|
|
@ -417,7 +417,7 @@ _cairo_analysis_surface_mask (void *abstract_surface,
|
|||
cairo_rectangle_int_t mask_extents;
|
||||
|
||||
status = _cairo_pattern_get_extents (mask, &mask_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
is_empty = _cairo_rectangle_intersect (&extents, &mask_extents);
|
||||
|
|
@ -469,7 +469,7 @@ _cairo_analysis_surface_stroke (void *abstract_surface,
|
|||
cairo_rectangle_int_t source_extents;
|
||||
|
||||
status = _cairo_pattern_get_extents (source, &source_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
is_empty = _cairo_rectangle_intersect (&extents, &source_extents);
|
||||
|
|
@ -489,7 +489,7 @@ _cairo_analysis_surface_stroke (void *abstract_surface,
|
|||
ctm, ctm_inverse,
|
||||
tolerance,
|
||||
&traps);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_traps_fini (&traps);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -541,7 +541,7 @@ _cairo_analysis_surface_fill (void *abstract_surface,
|
|||
cairo_rectangle_int_t source_extents;
|
||||
|
||||
status = _cairo_pattern_get_extents (source, &source_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
is_empty = _cairo_rectangle_intersect (&extents, &source_extents);
|
||||
|
|
@ -560,7 +560,7 @@ _cairo_analysis_surface_fill (void *abstract_surface,
|
|||
fill_rule,
|
||||
tolerance,
|
||||
&traps);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_traps_fini (&traps);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -622,7 +622,7 @@ _cairo_analysis_surface_show_glyphs (void *abstract_surface,
|
|||
cairo_rectangle_int_t source_extents;
|
||||
|
||||
status = _cairo_pattern_get_extents (source, &source_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
is_empty = _cairo_rectangle_intersect (&extents, &source_extents);
|
||||
|
|
@ -635,7 +635,7 @@ _cairo_analysis_surface_show_glyphs (void *abstract_surface,
|
|||
glyphs,
|
||||
num_glyphs,
|
||||
&glyph_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
is_empty = _cairo_rectangle_intersect (&extents, &glyph_extents);
|
||||
|
|
@ -708,7 +708,7 @@ _cairo_analysis_surface_show_text_glyphs (void *abstract_surface,
|
|||
cairo_rectangle_int_t source_extents;
|
||||
|
||||
status = _cairo_pattern_get_extents (source, &source_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
is_empty = _cairo_rectangle_intersect (&extents, &source_extents);
|
||||
|
|
@ -721,7 +721,7 @@ _cairo_analysis_surface_show_text_glyphs (void *abstract_surface,
|
|||
glyphs,
|
||||
num_glyphs,
|
||||
&glyph_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
is_empty = _cairo_rectangle_intersect (&extents, &glyph_extents);
|
||||
|
|
@ -780,7 +780,7 @@ _cairo_analysis_surface_create (cairo_surface_t *target,
|
|||
cairo_status_t status;
|
||||
|
||||
status = target->status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_create_in_error (status);
|
||||
|
||||
surface = malloc (sizeof (cairo_analysis_surface_t));
|
||||
|
|
|
|||
|
|
@ -279,7 +279,7 @@ _cairo_array_append_multiple (cairo_array_t *array,
|
|||
assert (! array->is_snapshot);
|
||||
|
||||
status = _cairo_array_allocate (array, num_elements, &dest);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
memcpy (dest, elements, num_elements * array->element_size);
|
||||
|
|
@ -310,7 +310,7 @@ _cairo_array_allocate (cairo_array_t *array,
|
|||
assert (! array->is_snapshot);
|
||||
|
||||
status = _cairo_array_grow_by (array, num_elements);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
assert (array->num_elements + num_elements <= array->size);
|
||||
|
|
@ -489,7 +489,7 @@ _cairo_user_data_array_set_data (cairo_user_data_array_t *array,
|
|||
}
|
||||
|
||||
status = _cairo_array_append (array, &new_slot);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
|
|||
|
|
@ -131,7 +131,7 @@ _cairo_cache_create (cairo_cache_keys_equal_func_t keys_equal,
|
|||
}
|
||||
|
||||
status = _cairo_cache_init (cache, keys_equal, entry_destroy, max_size);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
free (cache);
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -293,7 +293,7 @@ _cairo_cache_insert (cairo_cache_t *cache,
|
|||
|
||||
status = _cairo_hash_table_insert (cache->hash_table,
|
||||
(cairo_hash_entry_t *) entry);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
cache->size += entry->size;
|
||||
|
|
|
|||
|
|
@ -298,7 +298,7 @@ cff_index_read (cairo_array_t *index, unsigned char **ptr, unsigned char *end_pt
|
|||
element.is_copy = FALSE;
|
||||
element.data = data + start;
|
||||
status = _cairo_array_append (index, &element);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
start = end;
|
||||
}
|
||||
|
|
@ -324,7 +324,7 @@ cff_index_write (cairo_array_t *index, cairo_array_t *output)
|
|||
num_elem = _cairo_array_num_elements (index);
|
||||
count = cpu_to_be16 ((uint16_t) num_elem);
|
||||
status = _cairo_array_append_multiple (output, &count, 2);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (num_elem == 0)
|
||||
|
|
@ -347,13 +347,13 @@ cff_index_write (cairo_array_t *index, cairo_array_t *output)
|
|||
|
||||
buf[0] = (unsigned char) offset_size;
|
||||
status = _cairo_array_append (output, buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
offset = 1;
|
||||
encode_index_offset (buf, offset_size, offset);
|
||||
status = _cairo_array_append_multiple (output, buf, offset_size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
for (i = 0; i < num_elem; i++) {
|
||||
|
|
@ -361,7 +361,7 @@ cff_index_write (cairo_array_t *index, cairo_array_t *output)
|
|||
offset += element->length;
|
||||
encode_index_offset (buf, offset_size, offset);
|
||||
status = _cairo_array_append_multiple (output, buf, offset_size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -370,7 +370,7 @@ cff_index_write (cairo_array_t *index, cairo_array_t *output)
|
|||
status = _cairo_array_append_multiple (output,
|
||||
element->data,
|
||||
element->length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -405,7 +405,7 @@ cff_index_append_copy (cairo_array_t *index,
|
|||
memcpy (element.data, object, element.length);
|
||||
|
||||
status = _cairo_array_append (index, &element);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
free (element.data);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -496,7 +496,7 @@ cff_dict_read (cairo_hash_table_t *dict, unsigned char *p, int dict_size)
|
|||
size = operand_length (p);
|
||||
if (size != 0) {
|
||||
status = _cairo_array_append_multiple (&operands, p, size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
p += size;
|
||||
|
|
@ -506,11 +506,11 @@ cff_dict_read (cairo_hash_table_t *dict, unsigned char *p, int dict_size)
|
|||
_cairo_array_index (&operands, 0),
|
||||
_cairo_array_num_elements (&operands),
|
||||
&op);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
status = _cairo_hash_table_insert (dict, &op->base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
_cairo_array_truncate (&operands, 0);
|
||||
|
|
@ -577,11 +577,11 @@ cff_dict_set_operands (cairo_hash_table_t *dict,
|
|||
else
|
||||
{
|
||||
status = cff_dict_create_operator (operator, operand, size, &op);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_hash_table_insert (dict, &op->base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -724,7 +724,7 @@ cairo_cff_font_read_private_dict (cairo_cff_font_t *font,
|
|||
unsigned char *p;
|
||||
|
||||
status = cff_dict_read (private_dict, ptr, size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
operand = cff_dict_get_operands (private_dict, LOCAL_SUB_OP, &i);
|
||||
|
|
@ -732,13 +732,13 @@ cairo_cff_font_read_private_dict (cairo_cff_font_t *font,
|
|||
decode_integer (operand, &offset);
|
||||
p = ptr + offset;
|
||||
status = cff_index_read (local_sub_index, &p, font->data_end);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* Use maximum sized encoding to reserve space for later modification. */
|
||||
end_buf = encode_integer_max (buf, 0);
|
||||
status = cff_dict_set_operands (private_dict, LOCAL_SUB_OP, buf, end_buf - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -793,7 +793,7 @@ cairo_cff_font_read_cid_fontdict (cairo_cff_font_t *font, unsigned char *ptr)
|
|||
|
||||
cff_index_init (&index);
|
||||
status = cff_index_read (&index, &ptr, font->data_end);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
font->num_fontdicts = _cairo_array_num_elements (&index);
|
||||
|
|
@ -818,12 +818,12 @@ cairo_cff_font_read_cid_fontdict (cairo_cff_font_t *font, unsigned char *ptr)
|
|||
|
||||
for (i = 0; i < font->num_fontdicts; i++) {
|
||||
status = cff_dict_init (&font->fd_dict[i]);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
element = _cairo_array_index (&index, i);
|
||||
status = cff_dict_read (font->fd_dict[i], element->data, element->length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
operand = cff_dict_get_operands (font->fd_dict[i], PRIVATE_OP, &size);
|
||||
|
|
@ -834,7 +834,7 @@ cairo_cff_font_read_cid_fontdict (cairo_cff_font_t *font, unsigned char *ptr)
|
|||
operand = decode_integer (operand, &size);
|
||||
decode_integer (operand, &offset);
|
||||
status = cff_dict_init (&font->fd_private_dict[i]);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
cff_index_init (&font->fd_local_sub_index[i]);
|
||||
|
|
@ -843,7 +843,7 @@ cairo_cff_font_read_cid_fontdict (cairo_cff_font_t *font, unsigned char *ptr)
|
|||
&font->fd_local_sub_index[i],
|
||||
font->data + offset,
|
||||
size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
/* Set integer operand to max value to use max size encoding to reserve
|
||||
|
|
@ -851,7 +851,7 @@ cairo_cff_font_read_cid_fontdict (cairo_cff_font_t *font, unsigned char *ptr)
|
|||
end_buf = encode_integer_max (buf, 0);
|
||||
end_buf = encode_integer_max (end_buf, 0);
|
||||
status = cff_dict_set_operands (font->fd_dict[i], PRIVATE_OP, buf, end_buf - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
|
@ -878,12 +878,12 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font)
|
|||
|
||||
cff_index_init (&index);
|
||||
status = cff_index_read (&index, &font->current_ptr, font->data_end);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
element = _cairo_array_index (&index, 0);
|
||||
status = cff_dict_read (font->top_dict, element->data, element->length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
if (cff_dict_get_operands (font->top_dict, ROS_OP, &size) != NULL)
|
||||
|
|
@ -895,7 +895,7 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font)
|
|||
decode_integer (operand, &offset);
|
||||
p = font->data + offset;
|
||||
status = cff_index_read (&font->charstrings_index, &p, font->data_end);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
font->num_glyphs = _cairo_array_num_elements (&font->charstrings_index);
|
||||
|
||||
|
|
@ -903,13 +903,13 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font)
|
|||
operand = cff_dict_get_operands (font->top_dict, FDSELECT_OP, &size);
|
||||
decode_integer (operand, &offset);
|
||||
status = cairo_cff_font_read_fdselect (font, font->data + offset);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
operand = cff_dict_get_operands (font->top_dict, FDARRAY_OP, &size);
|
||||
decode_integer (operand, &offset);
|
||||
status = cairo_cff_font_read_cid_fontdict (font, font->data + offset);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
} else {
|
||||
operand = cff_dict_get_operands (font->top_dict, PRIVATE_OP, &size);
|
||||
|
|
@ -920,7 +920,7 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font)
|
|||
&font->local_sub_index,
|
||||
font->data + offset,
|
||||
size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
|
@ -928,22 +928,22 @@ cairo_cff_font_read_top_dict (cairo_cff_font_t *font)
|
|||
end_buf = encode_integer_max (buf, 0);
|
||||
status = cff_dict_set_operands (font->top_dict,
|
||||
CHARSTRINGS_OP, buf, end_buf - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
status = cff_dict_set_operands (font->top_dict,
|
||||
FDSELECT_OP, buf, end_buf - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
status = cff_dict_set_operands (font->top_dict,
|
||||
FDARRAY_OP, buf, end_buf - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
status = cff_dict_set_operands (font->top_dict,
|
||||
CHARSET_OP, buf, end_buf - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
cff_dict_remove (font->top_dict, ENCODING_OP);
|
||||
|
|
@ -991,7 +991,7 @@ cairo_cff_font_read_font (cairo_cff_font_t *font)
|
|||
|
||||
for (i = 0; i < ARRAY_LENGTH (font_read_funcs); i++) {
|
||||
status = font_read_funcs[i] (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -1012,26 +1012,26 @@ cairo_cff_font_set_ros_strings (cairo_cff_font_t *font)
|
|||
status = cff_index_append_copy (&font->strings_subset_index,
|
||||
(unsigned char *)registry,
|
||||
strlen(registry));
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
sid2 = NUM_STD_STRINGS + _cairo_array_num_elements (&font->strings_subset_index);
|
||||
status = cff_index_append_copy (&font->strings_subset_index,
|
||||
(unsigned char *)ordering,
|
||||
strlen(ordering));
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
p = encode_integer (buf, sid1);
|
||||
p = encode_integer (p, sid2);
|
||||
p = encode_integer (p, 0);
|
||||
status = cff_dict_set_operands (font->top_dict, ROS_OP, buf, p - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
p = encode_integer (buf, font->scaled_font_subset->num_glyphs);
|
||||
status = cff_dict_set_operands (font->top_dict, CIDCOUNT_OP, buf, p - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -1060,12 +1060,12 @@ cairo_cff_font_subset_dict_string(cairo_cff_font_t *font,
|
|||
element = _cairo_array_index (&font->strings_index, sid - NUM_STD_STRINGS);
|
||||
sid = NUM_STD_STRINGS + _cairo_array_num_elements (&font->strings_subset_index);
|
||||
status = cff_index_append (&font->strings_subset_index, element->data, element->length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
p = encode_integer (buf, sid);
|
||||
status = cff_dict_set_operands (dict, operator, buf, p - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -1092,7 +1092,7 @@ cairo_cff_font_subset_dict_strings (cairo_cff_font_t *font,
|
|||
|
||||
for (i = 0; i < ARRAY_LENGTH (dict_strings); i++) {
|
||||
status = cairo_cff_font_subset_dict_string (font, dict, dict_strings[i]);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -1112,7 +1112,7 @@ cairo_cff_font_subset_charstrings (cairo_cff_font_t *font)
|
|||
status = cff_index_append (&font->charstrings_subset_index,
|
||||
element->data,
|
||||
element->length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -1196,7 +1196,7 @@ cairo_cff_font_create_cid_fontdict (cairo_cff_font_t *font)
|
|||
end_buf = encode_integer_max (buf, 0);
|
||||
end_buf = encode_integer_max (end_buf, 0);
|
||||
status = cff_dict_set_operands (font->fd_dict[0], PRIVATE_OP, buf, end_buf - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -1209,17 +1209,17 @@ cairo_cff_font_subset_strings (cairo_cff_font_t *font)
|
|||
unsigned int i;
|
||||
|
||||
status = cairo_cff_font_subset_dict_strings (font, font->top_dict);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (font->is_cid) {
|
||||
for (i = 0; i < font->num_subset_fontdicts; i++) {
|
||||
status = cairo_cff_font_subset_dict_strings (font, font->fd_dict[font->fd_subset_map[i]]);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cairo_cff_font_subset_dict_strings (font, font->fd_private_dict[font->fd_subset_map[i]]);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -1235,22 +1235,22 @@ cairo_cff_font_subset_font (cairo_cff_font_t *font)
|
|||
cairo_status_t status;
|
||||
|
||||
status = cairo_cff_font_set_ros_strings (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cairo_cff_font_subset_charstrings (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (font->is_cid)
|
||||
status = cairo_cff_font_subset_fontdict (font);
|
||||
else
|
||||
status = cairo_cff_font_create_cid_fontdict (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cairo_cff_font_subset_strings (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return status;
|
||||
|
|
@ -1298,11 +1298,11 @@ cairo_cff_font_write_name (cairo_cff_font_t *font)
|
|||
status = cff_index_append_copy (&index,
|
||||
(unsigned char *) font->subset_font_name,
|
||||
strlen(font->subset_font_name));
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
status = cff_index_write (&index, &font->output);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
FAIL:
|
||||
|
|
@ -1326,27 +1326,27 @@ cairo_cff_font_write_top_dict (cairo_cff_font_t *font)
|
|||
|
||||
count = cpu_to_be16 (1);
|
||||
status = _cairo_array_append_multiple (&font->output, &count, 2);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
buf[0] = offset_size;
|
||||
status = _cairo_array_append (&font->output, buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
encode_index_offset (buf, offset_size, 1);
|
||||
status = _cairo_array_append_multiple (&font->output, buf, offset_size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* Reserve space for last element of offset array and update after
|
||||
* dict is written */
|
||||
offset_index = _cairo_array_num_elements (&font->output);
|
||||
status = _cairo_array_append_multiple (&font->output, buf, offset_size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
dict_start = _cairo_array_num_elements (&font->output);
|
||||
status = cff_dict_write (font->top_dict, &font->output);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
dict_size = _cairo_array_num_elements (&font->output) - dict_start;
|
||||
|
||||
|
|
@ -1381,13 +1381,13 @@ cairo_cff_font_write_fdselect (cairo_cff_font_t *font)
|
|||
if (font->is_cid) {
|
||||
data = 0;
|
||||
status = _cairo_array_append (&font->output, &data);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
for (i = 0; i < font->scaled_font_subset->num_glyphs; i++) {
|
||||
data = font->fdselect_subset[i];
|
||||
status = _cairo_array_append (&font->output, &data);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -1395,7 +1395,7 @@ cairo_cff_font_write_fdselect (cairo_cff_font_t *font)
|
|||
uint16_t word;
|
||||
|
||||
status = _cairo_array_grow_by (&font->output, 9);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
byte = 3;
|
||||
|
|
@ -1431,7 +1431,7 @@ cairo_cff_font_write_charset (cairo_cff_font_t *font)
|
|||
|
||||
cairo_cff_font_set_topdict_operator_to_cur_pos (font, CHARSET_OP);
|
||||
status = _cairo_array_grow_by (&font->output, 5);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
byte = 2;
|
||||
|
|
@ -1470,22 +1470,22 @@ cairo_cff_font_write_cid_fontdict (cairo_cff_font_t *font)
|
|||
cairo_cff_font_set_topdict_operator_to_cur_pos (font, FDARRAY_OP);
|
||||
count = cpu_to_be16 (font->num_subset_fontdicts);
|
||||
status = _cairo_array_append_multiple (&font->output, &count, sizeof (uint16_t));
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
status = _cairo_array_append (&font->output, &offset_size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
status = _cairo_array_allocate (&font->output,
|
||||
(font->num_subset_fontdicts + 1)*offset_size,
|
||||
(void **) &offset_array);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
offset_base = _cairo_array_num_elements (&font->output) - 1;
|
||||
*offset_array++ = cpu_to_be32(1);
|
||||
for (i = 0; i < font->num_subset_fontdicts; i++) {
|
||||
status = cff_dict_write (font->fd_dict[font->fd_subset_map[i]],
|
||||
&font->output);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
*offset_array++ = cpu_to_be32(_cairo_array_num_elements (&font->output) - offset_base);
|
||||
}
|
||||
|
|
@ -1509,7 +1509,7 @@ cairo_cff_font_write_private_dict (cairo_cff_font_t *font,
|
|||
/* Write private dict and update offset and size in top dict */
|
||||
font->private_dict_offset[dict_num] = _cairo_array_num_elements (&font->output);
|
||||
status = cff_dict_write (private_dict, &font->output);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
size = _cairo_array_num_elements (&font->output) - font->private_dict_offset[dict_num];
|
||||
|
|
@ -1548,7 +1548,7 @@ cairo_cff_font_write_local_sub (cairo_cff_font_t *font,
|
|||
p = _cairo_array_index (&font->output, offset);
|
||||
memcpy (p, buf, buf_end - buf);
|
||||
status = cff_index_write (local_sub_index, &font->output);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -1569,7 +1569,7 @@ cairo_cff_font_write_cid_private_dict_and_local_sub (cairo_cff_font_t *font)
|
|||
i,
|
||||
font->fd_dict[font->fd_subset_map[i]],
|
||||
font->fd_private_dict[font->fd_subset_map[i]]);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -1579,7 +1579,7 @@ cairo_cff_font_write_cid_private_dict_and_local_sub (cairo_cff_font_t *font)
|
|||
i,
|
||||
font->fd_private_dict[font->fd_subset_map[i]],
|
||||
&font->fd_local_sub_index[font->fd_subset_map[i]]);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -1587,14 +1587,14 @@ cairo_cff_font_write_cid_private_dict_and_local_sub (cairo_cff_font_t *font)
|
|||
0,
|
||||
font->fd_dict[0],
|
||||
font->private_dict);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cairo_cff_font_write_local_sub (font,
|
||||
0,
|
||||
font->private_dict,
|
||||
&font->local_sub_index);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -1625,7 +1625,7 @@ cairo_cff_font_write_subset (cairo_cff_font_t *font)
|
|||
|
||||
for (i = 0; i < ARRAY_LENGTH (font_write_funcs); i++) {
|
||||
status = font_write_funcs[i] (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -1640,15 +1640,15 @@ cairo_cff_font_generate (cairo_cff_font_t *font,
|
|||
cairo_int_status_t status;
|
||||
|
||||
status = cairo_cff_font_read_font (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cairo_cff_font_subset_font (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cairo_cff_font_write_subset (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
*data = _cairo_array_index (&font->output, 0);
|
||||
|
|
@ -1674,7 +1674,7 @@ cairo_cff_font_create_set_widths (cairo_cff_font_t *font)
|
|||
status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font,
|
||||
TT_TAG_hhea, 0,
|
||||
(unsigned char*) &hhea, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
num_hmetrics = be16_to_cpu (hhea.num_hmetrics);
|
||||
|
||||
|
|
@ -1687,7 +1687,7 @@ cairo_cff_font_create_set_widths (cairo_cff_font_t *font)
|
|||
TT_TAG_hmtx,
|
||||
glyph_index * long_entry_size,
|
||||
buf, &short_entry_size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
else
|
||||
|
|
@ -1696,7 +1696,7 @@ cairo_cff_font_create_set_widths (cairo_cff_font_t *font)
|
|||
TT_TAG_hmtx,
|
||||
(num_hmetrics - 1) * long_entry_size,
|
||||
buf, &short_entry_size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
font->widths[i] = be16_to_cpu (*((int16_t*)buf));
|
||||
|
|
@ -1727,33 +1727,33 @@ _cairo_cff_font_create (cairo_scaled_font_subset_t *scaled_font_subset,
|
|||
data_length = 0;
|
||||
status = backend->load_truetype_table( scaled_font_subset->scaled_font,
|
||||
TT_TAG_CFF, 0, NULL, &data_length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
size = sizeof (tt_head_t);
|
||||
status = backend->load_truetype_table (scaled_font_subset->scaled_font,
|
||||
TT_TAG_head, 0,
|
||||
(unsigned char *) &head, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
size = sizeof (tt_hhea_t);
|
||||
status = backend->load_truetype_table (scaled_font_subset->scaled_font,
|
||||
TT_TAG_hhea, 0,
|
||||
(unsigned char *) &hhea, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
size = 0;
|
||||
status = backend->load_truetype_table (scaled_font_subset->scaled_font,
|
||||
TT_TAG_hmtx, 0, NULL, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
size = 0;
|
||||
status = backend->load_truetype_table (scaled_font_subset->scaled_font,
|
||||
TT_TAG_name, 0, NULL, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
name = malloc (size);
|
||||
|
|
@ -1763,7 +1763,7 @@ _cairo_cff_font_create (cairo_scaled_font_subset_t *scaled_font_subset,
|
|||
status = backend->load_truetype_table (scaled_font_subset->scaled_font,
|
||||
TT_TAG_name, 0,
|
||||
(unsigned char *) name, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail1;
|
||||
|
||||
font = malloc (sizeof (cairo_cff_font_t));
|
||||
|
|
@ -1777,7 +1777,7 @@ _cairo_cff_font_create (cairo_scaled_font_subset_t *scaled_font_subset,
|
|||
|
||||
_cairo_array_init (&font->output, sizeof (char));
|
||||
status = _cairo_array_grow_by (&font->output, 4096);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail2;
|
||||
|
||||
font->subset_font_name = strdup (subset_name);
|
||||
|
|
@ -1840,7 +1840,7 @@ _cairo_cff_font_create (cairo_scaled_font_subset_t *scaled_font_subset,
|
|||
}
|
||||
|
||||
status = cairo_cff_font_create_set_widths (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail5;
|
||||
|
||||
font->data_length = data_length;
|
||||
|
|
@ -1852,17 +1852,17 @@ _cairo_cff_font_create (cairo_scaled_font_subset_t *scaled_font_subset,
|
|||
status = font->backend->load_truetype_table ( font->scaled_font_subset->scaled_font,
|
||||
TT_TAG_CFF, 0, font->data,
|
||||
&font->data_length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail6;
|
||||
|
||||
font->data_end = font->data + font->data_length;
|
||||
|
||||
status = cff_dict_init (&font->top_dict);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail6;
|
||||
|
||||
status = cff_dict_init (&font->private_dict);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail7;
|
||||
|
||||
cff_index_init (&font->strings_index);
|
||||
|
|
@ -1971,11 +1971,11 @@ _cairo_cff_subset_init (cairo_cff_subset_t *cff_subset,
|
|||
unsigned int i;
|
||||
|
||||
status = _cairo_cff_font_create (font_subset, &font, subset_name);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cairo_cff_font_generate (font, &data, &length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail1;
|
||||
|
||||
cff_subset->base_font = strdup (font->font_name);
|
||||
|
|
@ -2047,7 +2047,7 @@ _cairo_cff_font_fallback_create (cairo_scaled_font_subset_t *scaled_font_subset
|
|||
|
||||
_cairo_array_init (&font->output, sizeof (char));
|
||||
status = _cairo_array_grow_by (&font->output, 4096);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail1;
|
||||
|
||||
font->subset_font_name = strdup (subset_name);
|
||||
|
|
@ -2080,11 +2080,11 @@ _cairo_cff_font_fallback_create (cairo_scaled_font_subset_t *scaled_font_subset
|
|||
font->data_end = NULL;
|
||||
|
||||
status = cff_dict_init (&font->top_dict);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail4;
|
||||
|
||||
status = cff_dict_init (&font->private_dict);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail5;
|
||||
|
||||
cff_index_init (&font->strings_index);
|
||||
|
|
@ -2147,37 +2147,37 @@ cairo_cff_font_fallback_generate (cairo_cff_font_t *font,
|
|||
end_buf = encode_integer (end_buf, type2_subset->y_max);
|
||||
status = cff_dict_set_operands (font->top_dict,
|
||||
FONTBBOX_OP, buf, end_buf - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
end_buf = encode_integer_max (buf, 0);
|
||||
status = cff_dict_set_operands (font->top_dict,
|
||||
CHARSTRINGS_OP, buf, end_buf - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cff_dict_set_operands (font->top_dict,
|
||||
FDSELECT_OP, buf, end_buf - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cff_dict_set_operands (font->top_dict,
|
||||
FDARRAY_OP, buf, end_buf - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cff_dict_set_operands (font->top_dict,
|
||||
CHARSET_OP, buf, end_buf - buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cairo_cff_font_set_ros_strings (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* Create CID FD dictionary */
|
||||
status = cairo_cff_font_create_cid_fontdict (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* Create charstrings */
|
||||
|
|
@ -2188,12 +2188,12 @@ cairo_cff_font_fallback_generate (cairo_cff_font_t *font,
|
|||
_cairo_array_index (charstring, 0),
|
||||
_cairo_array_num_elements (charstring));
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
status = cairo_cff_font_write_subset (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
*data = _cairo_array_index (&font->output, 0);
|
||||
|
|
@ -2215,15 +2215,15 @@ _cairo_cff_fallback_init (cairo_cff_subset_t *cff_subset,
|
|||
cairo_type2_charstrings_t type2_subset;
|
||||
|
||||
status = _cairo_cff_font_fallback_create (font_subset, &font, subset_name);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_type2_charstrings_init (&type2_subset, font_subset);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail1;
|
||||
|
||||
status = cairo_cff_font_fallback_generate (font, &type2_subset, &data, &length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail2;
|
||||
|
||||
cff_subset->base_font = strdup (font->font_name);
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ _cairo_clip_init_copy (cairo_clip_t *clip, cairo_clip_t *other)
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_region_copy (&clip->region, &other->region);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_region_fini (&clip->region);
|
||||
cairo_surface_destroy (clip->surface);
|
||||
return status;
|
||||
|
|
@ -174,7 +174,7 @@ _cairo_clip_intersect_to_rectangle (cairo_clip_t *clip,
|
|||
if (clip->path) {
|
||||
status = _cairo_clip_path_intersect_to_rectangle (clip->path,
|
||||
rectangle);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -191,7 +191,7 @@ _cairo_clip_intersect_to_rectangle (cairo_clip_t *clip,
|
|||
|
||||
_cairo_region_fini (&intersection);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -228,7 +228,7 @@ _cairo_clip_intersect_to_region (cairo_clip_t *clip,
|
|||
|
||||
if (clip->has_region) {
|
||||
status = _cairo_region_intersect (region, &clip->region, region);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -241,7 +241,7 @@ _cairo_clip_intersect_to_region (cairo_clip_t *clip,
|
|||
|
||||
_cairo_region_fini (&clip_rect);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -302,7 +302,7 @@ _cairo_clip_intersect_path (cairo_clip_t *clip,
|
|||
return _cairo_error (CAIRO_STATUS_NO_MEMORY);
|
||||
|
||||
status = _cairo_path_fixed_init_copy (&clip_path->path, path);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
free (clip_path);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -362,7 +362,6 @@ _cairo_clip_intersect_region (cairo_clip_t *clip,
|
|||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
|
||||
status = _cairo_traps_extract_region (traps, ®ion);
|
||||
|
||||
if (status)
|
||||
return status;
|
||||
|
||||
|
|
@ -492,7 +491,7 @@ _cairo_clip_intersect_mask (cairo_clip_t *clip,
|
|||
|
||||
_cairo_pattern_fini (&pattern.base);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (surface);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -517,7 +516,7 @@ _cairo_clip_intersect_mask (cairo_clip_t *clip,
|
|||
|
||||
_cairo_pattern_fini (&pattern.base);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (surface);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -581,7 +580,7 @@ _cairo_clip_clip (cairo_clip_t *clip,
|
|||
fill_rule,
|
||||
tolerance,
|
||||
&traps);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto bail;
|
||||
|
||||
status = _cairo_clip_intersect_region (clip, &traps, target);
|
||||
|
|
@ -664,7 +663,7 @@ _cairo_clip_init_deep_copy (cairo_clip_t *clip,
|
|||
} else {
|
||||
if (other->has_region) {
|
||||
status = _cairo_region_copy (&clip->region, &other->region);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
clip->has_region = TRUE;
|
||||
|
|
@ -679,7 +678,7 @@ _cairo_clip_init_deep_copy (cairo_clip_t *clip,
|
|||
other->surface_rect.height,
|
||||
&dx, &dy,
|
||||
&clip->surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
clip->surface_rect = other->surface_rect;
|
||||
|
|
|
|||
|
|
@ -467,10 +467,12 @@ cairo_toy_font_face_create (const char *family,
|
|||
|
||||
/* Make sure we've got valid UTF-8 for the family */
|
||||
status = _cairo_utf8_to_ucs4 (family, -1, NULL, NULL);
|
||||
if (status == CAIRO_STATUS_INVALID_STRING)
|
||||
return (cairo_font_face_t*) &_cairo_font_face_invalid_string;
|
||||
else if (status)
|
||||
if (unlikely (status)) {
|
||||
if (status == CAIRO_STATUS_INVALID_STRING)
|
||||
return (cairo_font_face_t*) &_cairo_font_face_invalid_string;
|
||||
|
||||
return (cairo_font_face_t*) &_cairo_font_face_nil;
|
||||
}
|
||||
|
||||
switch (slant) {
|
||||
case CAIRO_FONT_SLANT_NORMAL:
|
||||
|
|
@ -523,11 +525,11 @@ cairo_toy_font_face_create (const char *family,
|
|||
}
|
||||
|
||||
status = _cairo_toy_font_face_init (font_face, family, slant, weight);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto UNWIND_FONT_FACE_MALLOC;
|
||||
|
||||
status = _cairo_hash_table_insert (hash_table, &font_face->base.hash_entry);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto UNWIND_FONT_FACE_INIT;
|
||||
|
||||
_cairo_toy_font_face_hash_table_unlock ();
|
||||
|
|
@ -614,7 +616,7 @@ _cairo_toy_font_face_scaled_font_create (void *abstract_font_face
|
|||
return font_face->base.status;
|
||||
|
||||
status = cairo_font_options_status ((cairo_font_options_t *) options);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (CAIRO_SCALED_FONT_BACKEND_DEFAULT != &_cairo_user_scaled_font_backend &&
|
||||
|
|
|
|||
|
|
@ -438,12 +438,12 @@ _cairo_ft_unscaled_font_create_internal (cairo_bool_t from_face,
|
|||
}
|
||||
|
||||
status = _cairo_ft_unscaled_font_init (unscaled, from_face, filename, id, font_face);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto UNWIND_UNSCALED_MALLOC;
|
||||
|
||||
status = _cairo_hash_table_insert (font_map->hash_table,
|
||||
&unscaled->base.hash_entry);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto UNWIND_UNSCALED_FONT_INIT;
|
||||
|
||||
_cairo_ft_unscaled_font_map_unlock ();
|
||||
|
|
@ -621,7 +621,7 @@ _compute_transform (cairo_ft_font_transform_t *sf,
|
|||
status = _cairo_matrix_compute_basis_scale_factors (scale,
|
||||
&x_scale, &y_scale,
|
||||
1);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* FreeType docs say this about x_scale and y_scale:
|
||||
|
|
@ -671,7 +671,7 @@ _cairo_ft_unscaled_font_set_scale (cairo_ft_unscaled_font_t *unscaled,
|
|||
unscaled->current_scale = *scale;
|
||||
|
||||
status = _compute_transform (&sf, scale);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
unscaled->x_scale = sf.x_scale;
|
||||
|
|
@ -1084,7 +1084,7 @@ _render_glyph_outline (FT_Face face,
|
|||
}
|
||||
|
||||
status = _get_bitmap_surface (&bitmap, TRUE, font_options, surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -1125,7 +1125,7 @@ _render_glyph_bitmap (FT_Face face,
|
|||
return _cairo_error (CAIRO_STATUS_NO_MEMORY);
|
||||
|
||||
status = _get_bitmap_surface (&glyphslot->bitmap, FALSE, font_options, surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/*
|
||||
|
|
@ -1212,13 +1212,13 @@ _transform_glyph_bitmap (cairo_matrix_t * shape,
|
|||
|
||||
transformed_to_original = original_to_transformed;
|
||||
status = cairo_matrix_invert (&transformed_to_original);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* We need to pad out the width to 32-bit intervals for cairo-xlib-surface.c */
|
||||
width = (width + 3) & ~3;
|
||||
image = cairo_image_surface_create (CAIRO_FORMAT_A8, width, height);
|
||||
if (image->status)
|
||||
if (unlikely (image->status))
|
||||
return image->status;
|
||||
|
||||
/* Initialize it to empty
|
||||
|
|
@ -1227,7 +1227,7 @@ _transform_glyph_bitmap (cairo_matrix_t * shape,
|
|||
CAIRO_COLOR_TRANSPARENT,
|
||||
0, 0,
|
||||
width, height);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (image);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -1245,7 +1245,7 @@ _transform_glyph_bitmap (cairo_matrix_t * shape,
|
|||
|
||||
_cairo_pattern_fini (&pattern.base);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (image);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -1527,7 +1527,7 @@ _cairo_ft_scaled_font_create (cairo_ft_unscaled_font_t *unscaled,
|
|||
font_face,
|
||||
font_matrix, ctm, options,
|
||||
&_cairo_ft_scaled_font_backend);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_unscaled_font_destroy (&unscaled->base);
|
||||
free (scaled_font);
|
||||
goto FAIL;
|
||||
|
|
@ -1535,7 +1535,7 @@ _cairo_ft_scaled_font_create (cairo_ft_unscaled_font_t *unscaled,
|
|||
|
||||
status = _cairo_ft_unscaled_font_set_scale (unscaled,
|
||||
&scaled_font->base.scale);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_unscaled_font_destroy (&unscaled->base);
|
||||
free (scaled_font);
|
||||
goto FAIL;
|
||||
|
|
@ -1626,7 +1626,7 @@ _cairo_ft_scaled_font_create_toy (cairo_toy_font_face_t *toy_face,
|
|||
|
||||
cairo_matrix_multiply (&scale, font_matrix, ctm);
|
||||
status = _compute_transform (&sf, &scale);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
pattern = FcPatternCreate ();
|
||||
|
|
@ -1686,7 +1686,7 @@ _cairo_ft_scaled_font_create_toy (cairo_toy_font_face_t *toy_face,
|
|||
}
|
||||
|
||||
status = _cairo_ft_font_options_substitute (font_options, pattern);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FREE_PATTERN;
|
||||
|
||||
FcDefaultSubstitute (pattern);
|
||||
|
|
@ -1863,7 +1863,7 @@ _decompose_glyph_outline (FT_Face face,
|
|||
}
|
||||
|
||||
status = _cairo_path_fixed_close_path (path);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_path_fixed_destroy (path);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -1918,7 +1918,7 @@ _cairo_ft_scaled_glyph_init (void *abstract_font,
|
|||
|
||||
status = _cairo_ft_unscaled_font_set_scale (scaled_font->unscaled,
|
||||
&scaled_font->base.scale);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
/* Ignore global advance unconditionally */
|
||||
|
|
@ -2066,14 +2066,16 @@ _cairo_ft_scaled_glyph_init (void *abstract_font,
|
|||
} else {
|
||||
status = _render_glyph_bitmap (face, &scaled_font->ft_options.base,
|
||||
&surface);
|
||||
if (status == CAIRO_STATUS_SUCCESS && unscaled->have_shape) {
|
||||
if (likely (status == CAIRO_STATUS_SUCCESS) &&
|
||||
unscaled->have_shape)
|
||||
{
|
||||
status = _transform_glyph_bitmap (&unscaled->current_shape,
|
||||
&surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
cairo_surface_destroy (&surface->base);
|
||||
}
|
||||
}
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
_cairo_scaled_glyph_set_surface (scaled_glyph,
|
||||
|
|
@ -2115,7 +2117,7 @@ _cairo_ft_scaled_glyph_init (void *abstract_font,
|
|||
else
|
||||
status = CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
_cairo_scaled_glyph_set_path (scaled_glyph,
|
||||
|
|
@ -2665,7 +2667,7 @@ cairo_ft_scaled_font_lock_face (cairo_scaled_font_t *abstract_font)
|
|||
|
||||
status = _cairo_ft_unscaled_font_set_scale (scaled_font->unscaled,
|
||||
&scaled_font->base.scale);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_ft_unscaled_font_unlock_face (scaled_font->unscaled);
|
||||
status = _cairo_scaled_font_set_error (&scaled_font->base, status);
|
||||
return NULL;
|
||||
|
|
|
|||
|
|
@ -113,11 +113,11 @@ _cairo_gstate_init (cairo_gstate_t *gstate,
|
|||
return _cairo_error (CAIRO_STATUS_NULL_POINTER);
|
||||
|
||||
status = target->status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = gstate->source->status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -142,7 +142,7 @@ _cairo_gstate_init_copy (cairo_gstate_t *gstate, cairo_gstate_t *other)
|
|||
|
||||
status = _cairo_stroke_style_init_copy (&gstate->stroke_style,
|
||||
&other->stroke_style);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
gstate->fill_rule = other->fill_rule;
|
||||
|
|
@ -155,7 +155,7 @@ _cairo_gstate_init_copy (cairo_gstate_t *gstate, cairo_gstate_t *other)
|
|||
_cairo_font_options_init_copy (&gstate->font_options , &other->font_options);
|
||||
|
||||
status = _cairo_clip_init_copy (&gstate->clip, &other->clip);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_stroke_style_fini (&gstate->stroke_style);
|
||||
cairo_font_face_destroy (gstate->font_face);
|
||||
cairo_scaled_font_destroy (gstate->scaled_font);
|
||||
|
|
@ -227,7 +227,7 @@ _cairo_gstate_save (cairo_gstate_t **gstate, cairo_gstate_t **freelist)
|
|||
*freelist = top->next;
|
||||
|
||||
status = _cairo_gstate_init_copy (top, *gstate);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
top->next = *freelist;
|
||||
*freelist = top;
|
||||
return status;
|
||||
|
|
@ -297,7 +297,7 @@ _cairo_gstate_redirect_target (cairo_gstate_t *gstate, cairo_surface_t *child)
|
|||
|
||||
_cairo_clip_reset (&gstate->clip);
|
||||
status = _cairo_clip_init_deep_copy (&gstate->clip, &gstate->next->clip, child);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* The clip is in surface backend coordinates for the previous target;
|
||||
|
|
@ -668,7 +668,7 @@ _cairo_gstate_transform (cairo_gstate_t *gstate,
|
|||
|
||||
tmp = *matrix;
|
||||
status = cairo_matrix_invert (&tmp);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_gstate_unset_scaled_font (gstate);
|
||||
|
|
@ -827,7 +827,7 @@ _cairo_gstate_copy_transformed_pattern (cairo_gstate_t *gstate,
|
|||
|
||||
if (_cairo_surface_has_device_transform (surface)) {
|
||||
status = _cairo_pattern_init_copy (*pattern, original);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
have_copy = TRUE;
|
||||
|
|
@ -839,7 +839,7 @@ _cairo_gstate_copy_transformed_pattern (cairo_gstate_t *gstate,
|
|||
if (! _cairo_matrix_is_identity (ctm_inverse)) {
|
||||
if (! have_copy) {
|
||||
status = _cairo_pattern_init_copy (*pattern, original);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
have_copy = TRUE;
|
||||
|
|
@ -884,12 +884,12 @@ _cairo_gstate_paint (cairo_gstate_t *gstate)
|
|||
return gstate->source->status;
|
||||
|
||||
status = _cairo_surface_set_clip (gstate->target, &gstate->clip);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
pattern = &pattern_stack.base;
|
||||
status = _cairo_gstate_copy_transformed_source (gstate, &pattern);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_surface_paint (gstate->target,
|
||||
|
|
@ -917,17 +917,17 @@ _cairo_gstate_mask (cairo_gstate_t *gstate,
|
|||
return gstate->source->status;
|
||||
|
||||
status = _cairo_surface_set_clip (gstate->target, &gstate->clip);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
source_pattern = &source_pattern_stack.base;
|
||||
status = _cairo_gstate_copy_transformed_source (gstate, &source_pattern);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
mask_pattern = &mask_pattern_stack.base;
|
||||
status = _cairo_gstate_copy_transformed_mask (gstate, &mask_pattern, mask);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SOURCE;
|
||||
|
||||
status = _cairo_surface_mask (gstate->target,
|
||||
|
|
@ -958,13 +958,13 @@ _cairo_gstate_stroke (cairo_gstate_t *gstate, cairo_path_fixed_t *path)
|
|||
return CAIRO_STATUS_SUCCESS;
|
||||
|
||||
status = _cairo_surface_set_clip (gstate->target, &gstate->clip);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
source_pattern = &source_pattern_stack.base;
|
||||
status = _cairo_gstate_copy_transformed_source (gstate,
|
||||
&source_pattern);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_surface_stroke (gstate->target,
|
||||
|
|
@ -1015,7 +1015,7 @@ _cairo_gstate_in_stroke (cairo_gstate_t *gstate,
|
|||
&gstate->ctm_inverse,
|
||||
gstate->tolerance,
|
||||
&traps);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
*inside_ret = _cairo_traps_contain (&traps, x, y);
|
||||
|
|
@ -1037,12 +1037,12 @@ _cairo_gstate_fill (cairo_gstate_t *gstate, cairo_path_fixed_t *path)
|
|||
return gstate->source->status;
|
||||
|
||||
status = _cairo_surface_set_clip (gstate->target, &gstate->clip);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
pattern = &pattern_stack.base;
|
||||
status = _cairo_gstate_copy_transformed_source (gstate, &pattern);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_surface_fill (gstate->target,
|
||||
|
|
@ -1219,7 +1219,7 @@ _cairo_gstate_int_clip_extents (cairo_gstate_t *gstate,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_surface_get_extents (gstate->target, extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_clip_intersect_to_rectangle (&gstate->clip, extents);
|
||||
|
|
@ -1239,7 +1239,7 @@ _cairo_gstate_clip_extents (cairo_gstate_t *gstate,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_gstate_int_clip_extents (gstate, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
px1 = extents.x;
|
||||
|
|
@ -1358,7 +1358,7 @@ _cairo_gstate_get_font_face (cairo_gstate_t *gstate,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_gstate_ensure_font_face (gstate);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
*font_face = gstate->font_face;
|
||||
|
|
@ -1373,7 +1373,7 @@ _cairo_gstate_get_scaled_font (cairo_gstate_t *gstate,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_gstate_ensure_scaled_font (gstate);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
*scaled_font = gstate->scaled_font;
|
||||
|
|
@ -1489,7 +1489,7 @@ _cairo_gstate_ensure_scaled_font (cairo_gstate_t *gstate)
|
|||
return gstate->scaled_font->status;
|
||||
|
||||
status = _cairo_gstate_ensure_font_face (gstate);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
cairo_surface_get_font_options (gstate->target, &options);
|
||||
|
|
@ -1501,7 +1501,7 @@ _cairo_gstate_ensure_scaled_font (cairo_gstate_t *gstate)
|
|||
&options);
|
||||
|
||||
status = cairo_scaled_font_status (scaled_font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
gstate->scaled_font = scaled_font;
|
||||
|
|
@ -1514,7 +1514,7 @@ _cairo_gstate_get_font_extents (cairo_gstate_t *gstate,
|
|||
cairo_font_extents_t *extents)
|
||||
{
|
||||
cairo_status_t status = _cairo_gstate_ensure_scaled_font (gstate);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
cairo_scaled_font_extents (gstate->scaled_font, extents);
|
||||
|
|
@ -1537,7 +1537,7 @@ _cairo_gstate_text_to_glyphs (cairo_gstate_t *gstate,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_gstate_ensure_scaled_font (gstate);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return cairo_scaled_font_text_to_glyphs (gstate->scaled_font, x, y,
|
||||
|
|
@ -1574,7 +1574,7 @@ _cairo_gstate_glyph_extents (cairo_gstate_t *gstate,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_gstate_ensure_scaled_font (gstate);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
cairo_scaled_font_glyph_extents (gstate->scaled_font,
|
||||
|
|
@ -1604,11 +1604,11 @@ _cairo_gstate_show_text_glyphs (cairo_gstate_t *gstate,
|
|||
return gstate->source->status;
|
||||
|
||||
status = _cairo_surface_set_clip (gstate->target, &gstate->clip);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_gstate_ensure_scaled_font (gstate);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (num_glyphs <= ARRAY_LENGTH (stack_transformed_glyphs)) {
|
||||
|
|
@ -1629,7 +1629,7 @@ _cairo_gstate_show_text_glyphs (cairo_gstate_t *gstate,
|
|||
|
||||
source_pattern = &source_pattern_stack.base;
|
||||
status = _cairo_gstate_copy_transformed_source (gstate, &source_pattern);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_GLYPHS;
|
||||
|
||||
/* Just in case */
|
||||
|
|
@ -1698,7 +1698,7 @@ _cairo_gstate_glyph_path (cairo_gstate_t *gstate,
|
|||
cairo_glyph_t stack_transformed_glyphs[CAIRO_STACK_ARRAY_LENGTH (cairo_glyph_t)];
|
||||
|
||||
status = _cairo_gstate_ensure_scaled_font (gstate);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (num_glyphs < ARRAY_LENGTH (stack_transformed_glyphs))
|
||||
|
|
@ -1712,7 +1712,7 @@ _cairo_gstate_glyph_path (cairo_gstate_t *gstate,
|
|||
glyphs, num_glyphs,
|
||||
transformed_glyphs,
|
||||
NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_GLYPHS;
|
||||
|
||||
status = _cairo_scaled_font_glyph_path (gstate->scaled_font,
|
||||
|
|
|
|||
|
|
@ -870,7 +870,7 @@ _cairo_image_surface_set_attributes (cairo_image_surface_t *surface,
|
|||
|
||||
status = _cairo_image_surface_set_matrix (surface, &attributes->matrix,
|
||||
xc, yc);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
switch (attributes->extend) {
|
||||
|
|
@ -889,7 +889,7 @@ _cairo_image_surface_set_attributes (cairo_image_surface_t *surface,
|
|||
}
|
||||
|
||||
status = _cairo_image_surface_set_filter (surface, attributes->filter);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -968,13 +968,13 @@ _cairo_image_surface_composite (cairo_operator_t op,
|
|||
(cairo_surface_t **) &src,
|
||||
(cairo_surface_t **) &mask,
|
||||
&src_attr, &mask_attr);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_image_surface_set_attributes (src, &src_attr,
|
||||
dst_x + width / 2.,
|
||||
dst_y + height / 2.);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SURFACES;
|
||||
|
||||
if (mask)
|
||||
|
|
@ -982,7 +982,7 @@ _cairo_image_surface_composite (cairo_operator_t op,
|
|||
status = _cairo_image_surface_set_attributes (mask, &mask_attr,
|
||||
dst_x + width / 2.,
|
||||
dst_y + height / 2.);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SURFACES;
|
||||
|
||||
pixman_image_composite (_pixman_operator (op),
|
||||
|
|
@ -1156,13 +1156,13 @@ _cairo_image_surface_composite_trapezoids (cairo_operator_t op,
|
|||
src_x, src_y, width, height,
|
||||
(cairo_surface_t **) &src,
|
||||
&attributes);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto finish;
|
||||
|
||||
status = _cairo_image_surface_set_attributes (src, &attributes,
|
||||
dst_x + width / 2.,
|
||||
dst_y + height / 2.);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SOURCE;
|
||||
|
||||
switch (antialias) {
|
||||
|
|
@ -1353,7 +1353,7 @@ _cairo_image_surface_clone (cairo_image_surface_t *surface,
|
|||
status = cairo_status (cr);
|
||||
cairo_destroy (cr);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (&clone->base);
|
||||
return (cairo_image_surface_t *) _cairo_surface_create_in_error (status);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -137,7 +137,7 @@ _lzw_buf_store_bits (lzw_buf_t *buf, uint16_t value, int num_bits)
|
|||
while (buf->pending_bits >= 8) {
|
||||
if (buf->num_data >= buf->data_size) {
|
||||
status = _lzw_buf_grow (buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return;
|
||||
}
|
||||
buf->data[buf->num_data++] = buf->pending >> (buf->pending_bits - 8);
|
||||
|
|
@ -167,7 +167,7 @@ _lzw_buf_store_pending (lzw_buf_t *buf)
|
|||
|
||||
if (buf->num_data >= buf->data_size) {
|
||||
status = _lzw_buf_grow (buf);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ _cairo_meta_surface_acquire_source_image (void *abstract_surface,
|
|||
surface->height_pixels);
|
||||
|
||||
status = _cairo_meta_surface_replay (&surface->base, image);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (image);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -239,11 +239,11 @@ _cairo_meta_surface_paint (void *abstract_surface,
|
|||
command->op = op;
|
||||
|
||||
status = _cairo_pattern_init_snapshot (&command->source.base, source);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_COMMAND;
|
||||
|
||||
status = _cairo_array_append (&meta->commands, &command);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SOURCE;
|
||||
|
||||
/* An optimisation that takes care to not replay what was done
|
||||
|
|
@ -285,15 +285,15 @@ _cairo_meta_surface_mask (void *abstract_surface,
|
|||
command->op = op;
|
||||
|
||||
status = _cairo_pattern_init_snapshot (&command->source.base, source);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_COMMAND;
|
||||
|
||||
status = _cairo_pattern_init_snapshot (&command->mask.base, mask);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SOURCE;
|
||||
|
||||
status = _cairo_array_append (&meta->commands, &command);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_MASK;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -336,15 +336,15 @@ _cairo_meta_surface_stroke (void *abstract_surface,
|
|||
command->op = op;
|
||||
|
||||
status = _cairo_pattern_init_snapshot (&command->source.base, source);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_COMMAND;
|
||||
|
||||
status = _cairo_path_fixed_init_copy (&command->path, path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SOURCE;
|
||||
|
||||
status = _cairo_stroke_style_init_copy (&command->style, style);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_PATH;
|
||||
|
||||
command->ctm = *ctm;
|
||||
|
|
@ -353,7 +353,7 @@ _cairo_meta_surface_stroke (void *abstract_surface,
|
|||
command->antialias = antialias;
|
||||
|
||||
status = _cairo_array_append (&meta->commands, &command);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_STYLE;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -396,11 +396,11 @@ _cairo_meta_surface_fill (void *abstract_surface,
|
|||
command->op = op;
|
||||
|
||||
status = _cairo_pattern_init_snapshot (&command->source.base, source);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_COMMAND;
|
||||
|
||||
status = _cairo_path_fixed_init_copy (&command->path, path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SOURCE;
|
||||
|
||||
command->fill_rule = fill_rule;
|
||||
|
|
@ -408,7 +408,7 @@ _cairo_meta_surface_fill (void *abstract_surface,
|
|||
command->antialias = antialias;
|
||||
|
||||
status = _cairo_array_append (&meta->commands, &command);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_PATH;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -459,7 +459,7 @@ _cairo_meta_surface_show_text_glyphs (void *abstract_surface,
|
|||
command->op = op;
|
||||
|
||||
status = _cairo_pattern_init_snapshot (&command->source.base, source);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_COMMAND;
|
||||
|
||||
command->utf8 = NULL;
|
||||
|
|
@ -499,7 +499,7 @@ _cairo_meta_surface_show_text_glyphs (void *abstract_surface,
|
|||
command->scaled_font = cairo_scaled_font_reference (scaled_font);
|
||||
|
||||
status = _cairo_array_append (&meta->commands, &command);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SCALED_FONT;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -575,7 +575,7 @@ _cairo_meta_surface_intersect_clip_path (void *dst,
|
|||
|
||||
if (path) {
|
||||
status = _cairo_path_fixed_init_copy (&command->path, path);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
free (command);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -590,7 +590,7 @@ _cairo_meta_surface_intersect_clip_path (void *dst,
|
|||
command->antialias = antialias;
|
||||
|
||||
status = _cairo_array_append (&meta->commands, &command);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
if (path)
|
||||
_cairo_path_fixed_fini (&command->path);
|
||||
free (command);
|
||||
|
|
@ -766,7 +766,7 @@ _cairo_meta_surface_get_path (cairo_surface_t *surface,
|
|||
ASSERT_NOT_REACHED;
|
||||
}
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -814,14 +814,14 @@ _cairo_meta_surface_replay_internal (cairo_surface_t *surface,
|
|||
* ensure the current clip gets set on the surface. */
|
||||
if (command->header.type != CAIRO_COMMAND_INTERSECT_CLIP_PATH) {
|
||||
status = _cairo_surface_set_clip (target, &clip);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
break;
|
||||
}
|
||||
|
||||
dev_path = _cairo_command_get_path (command);
|
||||
if (dev_path && has_device_transform) {
|
||||
status = _cairo_path_fixed_init_copy (&path_copy, dev_path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
break;
|
||||
_cairo_path_fixed_transform (&path_copy, device_transform);
|
||||
dev_path = &path_copy;
|
||||
|
|
@ -986,7 +986,7 @@ _cairo_meta_surface_replay_internal (cairo_surface_t *surface,
|
|||
}
|
||||
}
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -287,7 +287,7 @@ _cairo_validate_text_clusters (const char *utf8,
|
|||
|
||||
/* Make sure we've got valid UTF-8 for the cluster */
|
||||
status = _cairo_utf8_to_ucs4 (utf8+n_bytes, cluster_bytes, NULL, NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return CAIRO_STATUS_INVALID_CLUSTERS;
|
||||
|
||||
n_bytes += cluster_bytes ;
|
||||
|
|
@ -730,7 +730,7 @@ _cairo_intern_string (const char **str_inout, int len)
|
|||
|
||||
status = _cairo_hash_table_insert (_cairo_intern_string_ht,
|
||||
&istring->hash_entry);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
free (istring);
|
||||
} else
|
||||
status = _cairo_error (CAIRO_STATUS_NO_MEMORY);
|
||||
|
|
@ -738,7 +738,7 @@ _cairo_intern_string (const char **str_inout, int len)
|
|||
|
||||
CAIRO_MUTEX_UNLOCK (_cairo_intern_string_mutex);
|
||||
|
||||
if (status == CAIRO_STATUS_SUCCESS)
|
||||
if (likely (status == CAIRO_STATUS_SUCCESS))
|
||||
*str_inout = istring->string;
|
||||
|
||||
return status;
|
||||
|
|
|
|||
|
|
@ -696,7 +696,7 @@ _cairo_memory_stream_destroy (cairo_output_stream_t *abstract_stream,
|
|||
cairo_status_t status;
|
||||
|
||||
status = abstract_stream->status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_output_stream_destroy (abstract_stream);
|
||||
|
||||
stream = (memory_stream_t *) abstract_stream;
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ _cairo_paginated_surface_create (cairo_surface_t *target,
|
|||
|
||||
surface->meta = _cairo_meta_surface_create (content, width, height);
|
||||
status = cairo_surface_status (surface->meta);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL_CLEANUP_SURFACE;
|
||||
|
||||
surface->page_num = 1;
|
||||
|
|
@ -151,7 +151,7 @@ _cairo_paginated_surface_set_size (cairo_surface_t *surface,
|
|||
paginated_surface->meta = _cairo_meta_surface_create (paginated_surface->content,
|
||||
width, height);
|
||||
status = cairo_surface_status (paginated_surface->meta);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -215,7 +215,7 @@ _cairo_paginated_surface_acquire_source_image (void *abstract_surface,
|
|||
cairo_rectangle_int_t extents;
|
||||
|
||||
status = _cairo_surface_get_extents (surface->target, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
image = _cairo_paginated_surface_create_image_surface (surface,
|
||||
|
|
@ -223,7 +223,7 @@ _cairo_paginated_surface_acquire_source_image (void *abstract_surface,
|
|||
extents.height);
|
||||
|
||||
status = _cairo_meta_surface_replay (surface->meta, image);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (image);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -267,7 +267,7 @@ _paint_fallback_image (cairo_paginated_surface_t *surface,
|
|||
cairo_surface_set_device_offset (image, -x*x_scale, -y*y_scale);
|
||||
|
||||
status = _cairo_meta_surface_replay (surface->meta, image);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_IMAGE;
|
||||
|
||||
_cairo_pattern_init_for_surface (&pattern, image);
|
||||
|
|
@ -318,7 +318,7 @@ _paint_page (cairo_paginated_surface_t *surface)
|
|||
|
||||
_cairo_analysis_surface_get_bounding_box (analysis, &bbox);
|
||||
status = surface->backend->set_bounding_box (surface->target, &bbox);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
}
|
||||
|
||||
|
|
@ -327,7 +327,7 @@ _paint_page (cairo_paginated_surface_t *surface)
|
|||
|
||||
status = surface->backend->set_fallback_images_required (surface->target,
|
||||
has_fallbacks);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
}
|
||||
|
||||
|
|
@ -360,7 +360,7 @@ _paint_page (cairo_paginated_surface_t *surface)
|
|||
surface->target,
|
||||
CAIRO_META_REGION_NATIVE);
|
||||
assert (status != CAIRO_INT_STATUS_UNSUPPORTED);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
}
|
||||
|
||||
|
|
@ -375,7 +375,7 @@ _paint_page (cairo_paginated_surface_t *surface)
|
|||
box.p2.x = surface->width;
|
||||
box.p2.y = surface->height;
|
||||
status = _paint_fallback_image (surface, &box);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
}
|
||||
|
||||
|
|
@ -393,19 +393,19 @@ _paint_page (cairo_paginated_surface_t *surface)
|
|||
CAIRO_FILL_RULE_WINDING,
|
||||
CAIRO_GSTATE_TOLERANCE_DEFAULT,
|
||||
CAIRO_ANTIALIAS_DEFAULT);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
region = _cairo_analysis_surface_get_unsupported (analysis);
|
||||
|
||||
num_boxes = 0;
|
||||
status = _cairo_region_get_boxes (region, &num_boxes, &boxes);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
for (i = 0; i < num_boxes; i++) {
|
||||
status = _paint_fallback_image (surface, &boxes[i]);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_region_boxes_fini (region, boxes);
|
||||
goto FAIL;
|
||||
}
|
||||
|
|
@ -439,11 +439,11 @@ _cairo_paginated_surface_copy_page (void *abstract_surface)
|
|||
cairo_paginated_surface_t *surface = abstract_surface;
|
||||
|
||||
status = _start_page (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _paint_page (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
surface->page_num++;
|
||||
|
|
@ -466,20 +466,20 @@ _cairo_paginated_surface_show_page (void *abstract_surface)
|
|||
cairo_paginated_surface_t *surface = abstract_surface;
|
||||
|
||||
status = _start_page (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _paint_page (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
cairo_surface_show_page (surface->target);
|
||||
status = cairo_surface_status (surface->target);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cairo_surface_status (surface->meta);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
cairo_surface_destroy (surface->meta);
|
||||
|
|
@ -488,7 +488,7 @@ _cairo_paginated_surface_show_page (void *abstract_surface)
|
|||
surface->width,
|
||||
surface->height);
|
||||
status = cairo_surface_status (surface->meta);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
surface->page_num++;
|
||||
|
|
|
|||
|
|
@ -177,18 +177,18 @@ _cairo_path_fixed_fill_to_traps (cairo_path_fixed_t *path,
|
|||
_cairo_filler_curve_to,
|
||||
_cairo_filler_close_path,
|
||||
&filler);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
_cairo_polygon_close (&filler.polygon);
|
||||
status = _cairo_polygon_status (&filler.polygon);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
status = _cairo_bentley_ottmann_tessellate_polygon (filler.traps,
|
||||
&filler.polygon,
|
||||
fill_rule);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
BAIL:
|
||||
|
|
|
|||
|
|
@ -372,7 +372,7 @@ _cairo_path_fixed_move_to (cairo_path_fixed_t *path,
|
|||
*last_move_to_point = point;
|
||||
} else {
|
||||
status = _cairo_path_fixed_add (path, CAIRO_PATH_OP_MOVE_TO, &point, 1);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -426,7 +426,7 @@ _cairo_path_fixed_line_to (cairo_path_fixed_t *path,
|
|||
else
|
||||
status = _cairo_path_fixed_add (path, CAIRO_PATH_OP_LINE_TO, &point, 1);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
path->current_point = point;
|
||||
|
|
@ -467,12 +467,12 @@ _cairo_path_fixed_curve_to (cairo_path_fixed_t *path,
|
|||
if (! path->has_current_point) {
|
||||
status = _cairo_path_fixed_add (path, CAIRO_PATH_OP_MOVE_TO,
|
||||
&point[0], 1);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
status = _cairo_path_fixed_add (path, CAIRO_PATH_OP_CURVE_TO, point, 3);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
path->current_point = point[2];
|
||||
|
|
@ -519,13 +519,13 @@ _cairo_path_fixed_close_path (cairo_path_fixed_t *path)
|
|||
return CAIRO_STATUS_SUCCESS;
|
||||
|
||||
status = _cairo_path_fixed_add (path, CAIRO_PATH_OP_CLOSE_PATH, NULL, 0);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_path_fixed_move_to (path,
|
||||
path->last_move_point.x,
|
||||
path->last_move_point.y);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -692,7 +692,7 @@ _cairo_path_fixed_interpret (const cairo_path_fixed_t *path,
|
|||
status = (*close_path) (closure);
|
||||
break;
|
||||
}
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (forward) {
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ _cairo_stroker_init (cairo_stroker_t *stroker,
|
|||
status = _cairo_pen_init (&stroker->pen,
|
||||
stroke_style->line_width / 2.0,
|
||||
tolerance, ctm);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
stroker->has_current_face = FALSE;
|
||||
|
|
@ -658,22 +658,22 @@ _cairo_stroker_add_caps (cairo_stroker_t *stroker)
|
|||
_compute_face (&stroker->first_point, &slope, dx, dy, stroker, &face);
|
||||
|
||||
status = _cairo_stroker_add_leading_cap (stroker, &face);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
status = _cairo_stroker_add_trailing_cap (stroker, &face);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
if (stroker->has_first_face) {
|
||||
status = _cairo_stroker_add_leading_cap (stroker, &stroker->first_face);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
if (stroker->has_current_face) {
|
||||
status = _cairo_stroker_add_trailing_cap (stroker, &stroker->current_face);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -761,7 +761,7 @@ _cairo_stroker_move_to (void *closure, cairo_point_t *point)
|
|||
|
||||
/* Cap the start and end of the previous sub path as needed */
|
||||
status = _cairo_stroker_add_caps (stroker);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
stroker->first_point = *point;
|
||||
|
|
@ -806,13 +806,13 @@ _cairo_stroker_line_to (void *closure, cairo_point_t *point)
|
|||
_compute_normalized_device_slope (&slope_dx, &slope_dy, stroker->ctm_inverse, NULL);
|
||||
|
||||
status = _cairo_stroker_add_sub_edge (stroker, p1, p2, &dev_slope, slope_dx, slope_dy, &start, &end);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (stroker->has_current_face) {
|
||||
/* Join with final face from previous segment */
|
||||
status = _cairo_stroker_join (stroker, &stroker->current_face, &start);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
} else if (!stroker->has_first_face) {
|
||||
/* Save sub path's first face in case needed for closing join */
|
||||
|
|
@ -890,7 +890,7 @@ _cairo_stroker_line_to_dashed (void *closure, cairo_point_t *point)
|
|||
&dev_slope,
|
||||
slope_dx, slope_dy,
|
||||
&sub_start, &sub_end);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (stroker->has_current_face) {
|
||||
|
|
@ -898,7 +898,7 @@ _cairo_stroker_line_to_dashed (void *closure, cairo_point_t *point)
|
|||
status = _cairo_stroker_join (stroker,
|
||||
&stroker->current_face,
|
||||
&sub_start);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
stroker->has_current_face = FALSE;
|
||||
|
|
@ -909,14 +909,14 @@ _cairo_stroker_line_to_dashed (void *closure, cairo_point_t *point)
|
|||
} else {
|
||||
/* Cap dash start if not connecting to a previous segment */
|
||||
status = _cairo_stroker_add_leading_cap (stroker, &sub_start);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
if (remain) {
|
||||
/* Cap dash end if not at end of segment */
|
||||
status = _cairo_stroker_add_trailing_cap (stroker, &sub_end);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
} else {
|
||||
stroker->current_face = sub_end;
|
||||
|
|
@ -927,7 +927,7 @@ _cairo_stroker_line_to_dashed (void *closure, cairo_point_t *point)
|
|||
/* Cap final face from previous segment */
|
||||
status = _cairo_stroker_add_trailing_cap (stroker,
|
||||
&stroker->current_face);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
stroker->has_current_face = FALSE;
|
||||
|
|
@ -955,7 +955,7 @@ _cairo_stroker_line_to_dashed (void *closure, cairo_point_t *point)
|
|||
|
||||
status = _cairo_stroker_add_leading_cap (stroker,
|
||||
&stroker->current_face);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
stroker->has_current_face = TRUE;
|
||||
|
|
@ -986,7 +986,7 @@ _cairo_stroker_curve_to (void *closure,
|
|||
a, b, c, d);
|
||||
if (status == CAIRO_INT_STATUS_DEGENERATE)
|
||||
return _cairo_stroker_line_to (closure, d);
|
||||
else if (status)
|
||||
else if (unlikely (status))
|
||||
return status;
|
||||
|
||||
initial_slope_dx = _cairo_fixed_to_double (spline_pen.spline.initial_slope.dx);
|
||||
|
|
@ -1014,7 +1014,7 @@ _cairo_stroker_curve_to (void *closure,
|
|||
|
||||
if (stroker->has_current_face) {
|
||||
status = _cairo_stroker_join (stroker, &stroker->current_face, &start);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_PEN;
|
||||
} else if (! stroker->has_first_face) {
|
||||
stroker->first_face = start;
|
||||
|
|
@ -1037,7 +1037,7 @@ _cairo_stroker_curve_to (void *closure,
|
|||
extra_points[3].y -= end.point.y;
|
||||
|
||||
status = _cairo_pen_add_points (&spline_pen.pen, extra_points, 4);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_PEN;
|
||||
|
||||
status = _cairo_pen_stroke_spline (&spline_pen,
|
||||
|
|
@ -1121,18 +1121,18 @@ _cairo_stroker_close_path (void *closure)
|
|||
status = _cairo_stroker_line_to_dashed (stroker, &stroker->first_point);
|
||||
else
|
||||
status = _cairo_stroker_line_to (stroker, &stroker->first_point);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (stroker->has_first_face && stroker->has_current_face) {
|
||||
/* Join first and final faces of sub path */
|
||||
status = _cairo_stroker_join (stroker, &stroker->current_face, &stroker->first_face);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
} else {
|
||||
/* Cap the start and end of the sub path as needed */
|
||||
status = _cairo_stroker_add_caps (stroker);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -1175,7 +1175,7 @@ _cairo_path_fixed_stroke_to_traps (cairo_path_fixed_t *path,
|
|||
status = _cairo_stroker_init (&stroker, stroke_style,
|
||||
ctm, ctm_inverse, tolerance,
|
||||
traps);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (stroker.style->dash)
|
||||
|
|
@ -1194,7 +1194,7 @@ _cairo_path_fixed_stroke_to_traps (cairo_path_fixed_t *path,
|
|||
_cairo_stroker_curve_to,
|
||||
_cairo_stroker_close_path,
|
||||
&stroker);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
/* Cap the start and end of the final sub path as needed */
|
||||
|
|
@ -1386,7 +1386,7 @@ _cairo_rectilinear_stroker_emit_segments (cairo_rectilinear_stroker_t *stroker)
|
|||
}
|
||||
|
||||
status = _cairo_traps_tessellate_rectangle (stroker->traps, a, b);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -1403,7 +1403,7 @@ _cairo_rectilinear_stroker_move_to (void *closure,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_rectilinear_stroker_emit_segments (stroker);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
stroker->current_point = *point;
|
||||
|
|
@ -1449,13 +1449,13 @@ _cairo_rectilinear_stroker_close_path (void *closure)
|
|||
|
||||
status = _cairo_rectilinear_stroker_line_to (stroker,
|
||||
&stroker->first_point);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
stroker->open_sub_path = FALSE;
|
||||
|
||||
status = _cairo_rectilinear_stroker_emit_segments (stroker);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -1512,7 +1512,7 @@ _cairo_path_fixed_stroke_rectilinear (cairo_path_fixed_t *path,
|
|||
NULL,
|
||||
_cairo_rectilinear_stroker_close_path,
|
||||
&rectilinear_stroker);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
status = _cairo_rectilinear_stroker_emit_segments (&rectilinear_stroker);
|
||||
|
|
@ -1520,7 +1520,7 @@ _cairo_path_fixed_stroke_rectilinear (cairo_path_fixed_t *path,
|
|||
BAIL:
|
||||
_cairo_rectilinear_stroker_fini (&rectilinear_stroker);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_traps_clear (traps);
|
||||
|
||||
return status;
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ _cairo_path_count (cairo_path_t *path,
|
|||
&cpc);
|
||||
}
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return -1;
|
||||
|
||||
return cpc.count;
|
||||
|
|
@ -283,7 +283,7 @@ _cairo_path_populate (cairo_path_t *path,
|
|||
&cpp);
|
||||
}
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* Sanity check the count */
|
||||
|
|
@ -474,7 +474,7 @@ _cairo_path_append_to_context (const cairo_path_t *path,
|
|||
}
|
||||
|
||||
status = cairo_status (cr);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@ _cairo_pattern_init_copy (cairo_pattern_t *pattern,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_gradient_pattern_init_copy (dst, src);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
} break;
|
||||
|
|
@ -203,7 +203,7 @@ _cairo_pattern_init_snapshot (cairo_pattern_t *pattern,
|
|||
/* We don't bother doing any fancy copy-on-write implementation
|
||||
* for the pattern's data. It's generally quite tiny. */
|
||||
status = _cairo_pattern_init_copy (pattern, other);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* But we do let the surface snapshot stuff be as fancy as it
|
||||
|
|
@ -276,7 +276,7 @@ _cairo_pattern_create_copy (cairo_pattern_t **pattern,
|
|||
return _cairo_error (CAIRO_STATUS_NO_MEMORY);
|
||||
|
||||
status = _cairo_pattern_init_copy (*pattern, other);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
free (*pattern);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -872,7 +872,7 @@ _cairo_pattern_add_color_stop (cairo_gradient_pattern_t *pattern,
|
|||
|
||||
if (pattern->n_stops >= pattern->stops_size) {
|
||||
cairo_status_t status = _cairo_pattern_gradient_grow (pattern);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status = _cairo_pattern_set_error (&pattern->base, status);
|
||||
return;
|
||||
}
|
||||
|
|
@ -1063,7 +1063,7 @@ cairo_pattern_set_matrix (cairo_pattern_t *pattern,
|
|||
|
||||
inverse = *matrix;
|
||||
status = cairo_matrix_invert (&inverse);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
status = _cairo_pattern_set_error (pattern, status);
|
||||
}
|
||||
slim_hidden_def (cairo_pattern_set_matrix);
|
||||
|
|
@ -1519,7 +1519,7 @@ _cairo_pattern_acquire_surface_for_solid (const cairo_solid_pattern_t *patt
|
|||
dst))
|
||||
{
|
||||
status = _cairo_surface_reset (solid_surface_cache.cache[i].surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto UNLOCK;
|
||||
|
||||
goto DONE;
|
||||
|
|
@ -1531,7 +1531,7 @@ _cairo_pattern_acquire_surface_for_solid (const cairo_solid_pattern_t *patt
|
|||
dst))
|
||||
{
|
||||
status = _cairo_surface_reset (solid_surface_cache.cache[i].surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto UNLOCK;
|
||||
|
||||
goto DONE;
|
||||
|
|
@ -1551,11 +1551,11 @@ _cairo_pattern_acquire_surface_for_solid (const cairo_solid_pattern_t *patt
|
|||
/* Reuse the surface instead of evicting */
|
||||
|
||||
status = _cairo_surface_reset (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto EVICT;
|
||||
|
||||
status = _cairo_surface_repaint_solid_pattern_surface (dst, surface, pattern);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto EVICT;
|
||||
|
||||
cairo_surface_reference (surface);
|
||||
|
|
@ -1839,14 +1839,14 @@ _cairo_pattern_acquire_surface_for_surface (const cairo_surface_pattern_t *pat
|
|||
int w, h;
|
||||
|
||||
status = _cairo_surface_get_extents (surface, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
status = _cairo_surface_clone_similar (dst, surface,
|
||||
extents.x, extents.y,
|
||||
extents.width, extents.height,
|
||||
&extents.x, &extents.y, &src);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
w = 2 * extents.width;
|
||||
|
|
@ -1914,14 +1914,14 @@ _cairo_pattern_acquire_surface_for_surface (const cairo_surface_pattern_t *pat
|
|||
|
||||
cairo_surface_destroy (src);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
attr->extend = CAIRO_EXTEND_REPEAT;
|
||||
}
|
||||
|
||||
status = _cairo_surface_get_extents (surface, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
/* We first transform the rectangle to the coordinate space of the
|
||||
|
|
@ -1969,7 +1969,7 @@ _cairo_pattern_acquire_surface_for_surface (const cairo_surface_pattern_t *pat
|
|||
extents.x, extents.y,
|
||||
extents.width, extents.height,
|
||||
&x, &y, out);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
if (x != 0 || y != 0) {
|
||||
|
|
@ -2184,7 +2184,7 @@ _cairo_pattern_acquire_surfaces (const cairo_pattern_t *src,
|
|||
src_x, src_y,
|
||||
width, height,
|
||||
src_out, src_attributes);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
if (mask == NULL) {
|
||||
|
|
@ -2196,7 +2196,7 @@ _cairo_pattern_acquire_surfaces (const cairo_pattern_t *src,
|
|||
mask_x, mask_y,
|
||||
width, height,
|
||||
mask_out, mask_attributes);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_pattern_release_surface (src, *src_out, src_attributes);
|
||||
|
||||
BAIL:
|
||||
|
|
@ -2237,7 +2237,7 @@ _cairo_pattern_get_extents (const cairo_pattern_t *pattern,
|
|||
status = _cairo_surface_get_extents (surface, &surface_extents);
|
||||
if (status == CAIRO_INT_STATUS_UNSUPPORTED)
|
||||
goto UNBOUNDED;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* The filter can effectively enlarge the extents of the
|
||||
|
|
|
|||
|
|
@ -447,7 +447,7 @@ _cairo_pdf_operators_emit_path (cairo_pdf_operators_t *pdf_operators,
|
|||
|
||||
word_wrap = _word_wrap_stream_create (pdf_operators->stream, 72);
|
||||
status = _cairo_output_stream_get_status (word_wrap);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_output_stream_destroy (word_wrap);
|
||||
|
||||
info.output = word_wrap;
|
||||
|
|
@ -488,7 +488,7 @@ _cairo_pdf_operators_clip (cairo_pdf_operators_t *pdf_operators,
|
|||
path,
|
||||
&pdf_operators->cairo_to_pdf,
|
||||
CAIRO_LINE_CAP_ROUND);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -714,7 +714,7 @@ _cairo_pdf_operators_emit_stroke (cairo_pdf_operators_t *pdf_operators,
|
|||
|
||||
if (pdf_operators->in_text_object) {
|
||||
status = _cairo_pdf_operators_end_text (pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -753,7 +753,7 @@ _cairo_pdf_operators_emit_stroke (cairo_pdf_operators_t *pdf_operators,
|
|||
_cairo_matrix_factor_out_scale (&m, &scale);
|
||||
path_transform = m;
|
||||
status = cairo_matrix_invert (&path_transform);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
cairo_matrix_multiply (&m, &m, &pdf_operators->cairo_to_pdf);
|
||||
|
|
@ -762,7 +762,7 @@ _cairo_pdf_operators_emit_stroke (cairo_pdf_operators_t *pdf_operators,
|
|||
status = _cairo_pdf_operators_emit_stroke_style (pdf_operators, style, scale);
|
||||
if (status == CAIRO_INT_STATUS_NOTHING_TO_DO)
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (has_ctm) {
|
||||
|
|
@ -778,7 +778,7 @@ _cairo_pdf_operators_emit_stroke (cairo_pdf_operators_t *pdf_operators,
|
|||
path,
|
||||
&path_transform,
|
||||
style->line_cap);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (pdf_operators->stream, "%s", pdf_operator);
|
||||
|
|
@ -815,7 +815,7 @@ _cairo_pdf_operators_fill (cairo_pdf_operators_t *pdf_operators,
|
|||
|
||||
if (pdf_operators->in_text_object) {
|
||||
status = _cairo_pdf_operators_end_text (pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -823,7 +823,7 @@ _cairo_pdf_operators_fill (cairo_pdf_operators_t *pdf_operators,
|
|||
path,
|
||||
&pdf_operators->cairo_to_pdf,
|
||||
CAIRO_LINE_CAP_ROUND);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
switch (fill_rule) {
|
||||
|
|
@ -964,7 +964,7 @@ _cairo_pdf_operators_flush_glyphs (cairo_pdf_operators_t *pdf_operators)
|
|||
|
||||
word_wrap_stream = _word_wrap_stream_create (pdf_operators->stream, 72);
|
||||
status = _cairo_output_stream_get_status (word_wrap_stream);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_output_stream_destroy (word_wrap_stream);
|
||||
|
||||
/* Check if glyph advance used to position every glyph */
|
||||
|
|
@ -1023,7 +1023,7 @@ _cairo_pdf_operators_set_text_matrix (cairo_pdf_operators_t *pdf_operators,
|
|||
/* We require the matrix to be invertable. */
|
||||
inverse = *matrix;
|
||||
status = cairo_matrix_invert (&inverse);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
pdf_operators->text_matrix = *matrix;
|
||||
|
|
@ -1112,7 +1112,7 @@ _cairo_pdf_operators_set_font_subset (cairo_pdf_operators_t *pdf_ope
|
|||
status = pdf_operators->use_font_subset (subset_glyph->font_id,
|
||||
subset_glyph->subset_id,
|
||||
pdf_operators->use_font_subset_closure);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
pdf_operators->font_id = subset_glyph->font_id;
|
||||
|
|
@ -1143,7 +1143,7 @@ _cairo_pdf_operators_end_text (cairo_pdf_operators_t *pdf_operators)
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_pdf_operators_flush_glyphs (pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (pdf_operators->stream, "ET\n");
|
||||
|
|
@ -1177,7 +1177,7 @@ _cairo_pdf_operators_begin_actualtext (cairo_pdf_operators_t *pdf_operators,
|
|||
_cairo_output_stream_printf (pdf_operators->stream, "/Span << /ActualText <feff");
|
||||
if (utf8_len) {
|
||||
status = _cairo_utf8_to_utf16 (utf8, utf8_len, &utf16, &utf16_len);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
for (i = 0; i < utf16_len; i++) {
|
||||
|
|
@ -1212,11 +1212,11 @@ _cairo_pdf_operators_emit_glyph (cairo_pdf_operators_t *pdf_operator
|
|||
pdf_operators->subset_id != subset_glyph->subset_id)
|
||||
{
|
||||
status = _cairo_pdf_operators_flush_glyphs (pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_pdf_operators_set_font_subset (pdf_operators, subset_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
pdf_operators->is_new_text_object = FALSE;
|
||||
|
|
@ -1241,14 +1241,14 @@ _cairo_pdf_operators_emit_glyph (cairo_pdf_operators_t *pdf_operator
|
|||
fabs(y - pdf_operators->cur_y) > GLYPH_POSITION_TOLERANCE)
|
||||
{
|
||||
status = _cairo_pdf_operators_flush_glyphs (pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
x = glyph->x;
|
||||
y = glyph->y;
|
||||
cairo_matrix_transform_point (&pdf_operators->cairo_to_pdf, &x, &y);
|
||||
status = _cairo_pdf_operators_set_text_position (pdf_operators, x, y);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
x = 0.0;
|
||||
|
|
@ -1296,14 +1296,14 @@ _cairo_pdf_operators_emit_cluster (cairo_pdf_operators_t *pdf_operators,
|
|||
utf8,
|
||||
utf8_len,
|
||||
&subset_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (subset_glyph.utf8_is_mapped || utf8_len < 0) {
|
||||
status = _cairo_pdf_operators_emit_glyph (pdf_operators,
|
||||
glyphs,
|
||||
&subset_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -1313,11 +1313,11 @@ _cairo_pdf_operators_emit_cluster (cairo_pdf_operators_t *pdf_operators,
|
|||
/* Fallback to using ActualText to map zero or more glyphs to a
|
||||
* unicode string. */
|
||||
status = _cairo_pdf_operators_flush_glyphs (pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_pdf_operators_begin_actualtext (pdf_operators, utf8, utf8_len);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
cur_glyph = glyphs;
|
||||
|
|
@ -1329,13 +1329,13 @@ _cairo_pdf_operators_emit_cluster (cairo_pdf_operators_t *pdf_operators,
|
|||
cur_glyph->index,
|
||||
NULL, -1,
|
||||
&subset_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_pdf_operators_emit_glyph (pdf_operators,
|
||||
cur_glyph,
|
||||
&subset_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if ((cluster_flags & CAIRO_TEXT_CLUSTER_FLAG_BACKWARD))
|
||||
|
|
@ -1344,7 +1344,7 @@ _cairo_pdf_operators_emit_cluster (cairo_pdf_operators_t *pdf_operators,
|
|||
cur_glyph++;
|
||||
}
|
||||
status = _cairo_pdf_operators_flush_glyphs (pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_pdf_operators_end_actualtext (pdf_operators);
|
||||
|
|
@ -1374,13 +1374,13 @@ _cairo_pdf_operators_show_text_glyphs (cairo_pdf_operators_t *pdf_operators,
|
|||
status = cairo_matrix_invert (&pdf_operators->font_matrix_inverse);
|
||||
if (status == CAIRO_STATUS_INVALID_MATRIX)
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
pdf_operators->is_new_text_object = FALSE;
|
||||
if (pdf_operators->in_text_object == FALSE) {
|
||||
status = _cairo_pdf_operators_begin_text (pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* Force Tm and Tf to be emitted when starting a new text
|
||||
|
|
@ -1401,7 +1401,7 @@ _cairo_pdf_operators_show_text_glyphs (cairo_pdf_operators_t *pdf_operators,
|
|||
! _cairo_matrix_scale_equal (&pdf_operators->text_matrix, &text_matrix))
|
||||
{
|
||||
status = _cairo_pdf_operators_flush_glyphs (pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
x = glyphs[0].x;
|
||||
|
|
@ -1412,7 +1412,7 @@ _cairo_pdf_operators_show_text_glyphs (cairo_pdf_operators_t *pdf_operators,
|
|||
status = _cairo_pdf_operators_set_text_matrix (pdf_operators, &text_matrix);
|
||||
if (status == CAIRO_STATUS_INVALID_MATRIX)
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -1432,7 +1432,7 @@ _cairo_pdf_operators_show_text_glyphs (cairo_pdf_operators_t *pdf_operators,
|
|||
clusters[i].num_glyphs,
|
||||
cluster_flags,
|
||||
scaled_font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
cur_text += clusters[i].num_bytes;
|
||||
|
|
@ -1448,7 +1448,7 @@ _cairo_pdf_operators_show_text_glyphs (cairo_pdf_operators_t *pdf_operators,
|
|||
1,
|
||||
FALSE,
|
||||
scaled_font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -162,7 +162,7 @@ _cairo_pen_add_points (cairo_pen_t *pen, cairo_point_t *point, int num_points)
|
|||
pen->vertices[pen->num_vertices-num_points+i].point = point[i];
|
||||
|
||||
status = _cairo_hull_compute (pen->vertices, &pen->num_vertices);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_pen_compute_slopes (pen);
|
||||
|
|
@ -491,7 +491,7 @@ _cairo_pen_stroke_spline (cairo_pen_stroke_spline_t *stroker,
|
|||
1);
|
||||
|
||||
status = _cairo_polygon_status (&stroker->polygon);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
status = _cairo_bentley_ottmann_tessellate_polygon (traps,
|
||||
|
|
@ -548,7 +548,7 @@ _cairo_pen_stroke_spline_init (cairo_pen_stroke_spline_t *stroker,
|
|||
}
|
||||
|
||||
status = _cairo_pen_init_copy (&stroker->pen, pen);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_spline_fini (&stroker->spline);
|
||||
return status;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -159,7 +159,7 @@ write_png (cairo_surface_t *surface,
|
|||
|
||||
if (status == CAIRO_INT_STATUS_UNSUPPORTED)
|
||||
return _cairo_error (CAIRO_STATUS_SURFACE_TYPE_MISMATCH);
|
||||
else if (status)
|
||||
else if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* PNG complains about "Image width or height is zero in IHDR" */
|
||||
|
|
@ -361,7 +361,7 @@ stream_write_func (png_structp png, png_bytep data, png_size_t size)
|
|||
|
||||
png_closure = png_get_io_ptr (png);
|
||||
status = png_closure->write_func (png_closure->closure, data, size);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_status_t *error = png_get_error_ptr (png);
|
||||
if (*error == CAIRO_STATUS_SUCCESS)
|
||||
*error = status;
|
||||
|
|
@ -486,7 +486,7 @@ stream_read_func (png_structp png, png_bytep data, png_size_t size)
|
|||
|
||||
png_closure = png_get_io_ptr (png);
|
||||
status = png_closure->read_func (png_closure->closure, data, size);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_status_t *error = png_get_error_ptr (png);
|
||||
if (*error == CAIRO_STATUS_SUCCESS)
|
||||
*error = status;
|
||||
|
|
@ -544,7 +544,7 @@ read_png (struct png_read_closure_t *png_closure)
|
|||
png_get_IHDR (png, info,
|
||||
&png_width, &png_height, &depth,
|
||||
&color_type, &interlace, NULL, NULL);
|
||||
if (status) { /* catch any early warnings */
|
||||
if (unlikely (status)) { /* catch any early warnings */
|
||||
surface = _cairo_surface_create_in_error (status);
|
||||
goto BAIL;
|
||||
}
|
||||
|
|
@ -637,7 +637,7 @@ read_png (struct png_read_closure_t *png_closure)
|
|||
png_read_image (png, row_pointers);
|
||||
png_read_end (png, info);
|
||||
|
||||
if (status) { /* catch any late warnings - probably hit an error already */
|
||||
if (unlikely (status)) { /* catch any late warnings - probably hit an error already */
|
||||
surface = _cairo_surface_create_in_error (status);
|
||||
goto BAIL;
|
||||
}
|
||||
|
|
@ -654,7 +654,7 @@ read_png (struct png_read_closure_t *png_closure)
|
|||
status = _cairo_memory_stream_destroy (png_closure->png_data,
|
||||
&mime_data,
|
||||
&mime_data_length);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (surface);
|
||||
surface = _cairo_surface_create_in_error (status);
|
||||
goto BAIL;
|
||||
|
|
@ -666,7 +666,7 @@ read_png (struct png_read_closure_t *png_closure)
|
|||
mime_data_length,
|
||||
free,
|
||||
mime_data);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
free (mime_data);
|
||||
cairo_surface_destroy (surface);
|
||||
surface = _cairo_surface_create_in_error (status);
|
||||
|
|
|
|||
|
|
@ -262,7 +262,7 @@ _cairo_ps_surface_emit_type1_font_subset (cairo_ps_surface_t *surface,
|
|||
snprintf (name, sizeof name, "f-%d-%d",
|
||||
font_subset->font_id, font_subset->subset_id);
|
||||
status = _cairo_type1_subset_init (&subset, name, font_subset, TRUE);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* FIXME: Figure out document structure convention for fonts */
|
||||
|
|
@ -293,7 +293,7 @@ _cairo_ps_surface_emit_type1_font_fallback (cairo_ps_surface_t *surface,
|
|||
snprintf (name, sizeof name, "f-%d-%d",
|
||||
font_subset->font_id, font_subset->subset_id);
|
||||
status = _cairo_type1_fallback_init_hex (&subset, name, font_subset);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* FIXME: Figure out document structure convention for fonts */
|
||||
|
|
@ -322,7 +322,7 @@ _cairo_ps_surface_emit_truetype_font_subset (cairo_ps_surface_t *surface,
|
|||
unsigned int i, begin, end;
|
||||
|
||||
status = _cairo_truetype_subset_init (&subset, font_subset);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* FIXME: Figure out document structure convention for fonts */
|
||||
|
|
@ -463,7 +463,7 @@ _cairo_ps_surface_analyze_user_font_subset (cairo_scaled_font_subset_t *font_sub
|
|||
for (i = 0; i < font_subset->num_glyphs; i++) {
|
||||
status = _cairo_type3_glyph_surface_analyze_glyph (type3_surface,
|
||||
font_subset->glyphs[i]);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
break;
|
||||
|
||||
}
|
||||
|
|
@ -527,7 +527,7 @@ _cairo_ps_surface_emit_type3_font_subset (cairo_ps_surface_t *surface,
|
|||
font_subset->glyphs[i],
|
||||
&bbox,
|
||||
&width);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
break;
|
||||
|
||||
_cairo_output_stream_printf (surface->final_stream,
|
||||
|
|
@ -549,7 +549,7 @@ _cairo_ps_surface_emit_type3_font_subset (cairo_ps_surface_t *surface,
|
|||
}
|
||||
}
|
||||
cairo_surface_destroy (type3_surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->final_stream,
|
||||
|
|
@ -635,19 +635,19 @@ _cairo_ps_surface_emit_font_subsets (cairo_ps_surface_t *surface)
|
|||
status = _cairo_scaled_font_subsets_foreach_user (surface->font_subsets,
|
||||
_cairo_ps_surface_analyze_user_font_subset,
|
||||
surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
status = _cairo_scaled_font_subsets_foreach_unscaled (surface->font_subsets,
|
||||
_cairo_ps_surface_emit_unscaled_font_subset,
|
||||
surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
status = _cairo_scaled_font_subsets_foreach_scaled (surface->font_subsets,
|
||||
_cairo_ps_surface_emit_scaled_font_subset,
|
||||
surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
status = _cairo_scaled_font_subsets_foreach_user (surface->font_subsets,
|
||||
|
|
@ -730,7 +730,7 @@ _cairo_ps_surface_create_for_stream_internal (cairo_output_stream_t *stream,
|
|||
|
||||
surface->stream = _cairo_output_stream_create_for_file (surface->tmpfile);
|
||||
status = _cairo_output_stream_get_status (surface->stream);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_OUTPUT_STREAM;
|
||||
|
||||
surface->font_subsets = _cairo_scaled_font_subsets_create_simple ();
|
||||
|
|
@ -935,7 +935,7 @@ cairo_ps_surface_restrict_to_level (cairo_surface_t *surface,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _extract_ps_surface (surface, &ps_surface);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status = _cairo_surface_set_error (surface, status);
|
||||
return;
|
||||
}
|
||||
|
|
@ -1010,7 +1010,7 @@ cairo_ps_surface_set_eps (cairo_surface_t *surface,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _extract_ps_surface (surface, &ps_surface);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status = _cairo_surface_set_error (surface, status);
|
||||
return;
|
||||
}
|
||||
|
|
@ -1035,7 +1035,7 @@ cairo_ps_surface_get_eps (cairo_surface_t *surface)
|
|||
cairo_status_t status;
|
||||
|
||||
status = _extract_ps_surface (surface, &ps_surface);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status = _cairo_surface_set_error (surface, status);
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -1069,7 +1069,7 @@ cairo_ps_surface_set_size (cairo_surface_t *surface,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _extract_ps_surface (surface, &ps_surface);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status = _cairo_surface_set_error (surface, status);
|
||||
return;
|
||||
}
|
||||
|
|
@ -1082,7 +1082,7 @@ cairo_ps_surface_set_size (cairo_surface_t *surface,
|
|||
status = _cairo_paginated_surface_set_size (ps_surface->paginated_surface,
|
||||
width_in_points,
|
||||
height_in_points);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
status = _cairo_surface_set_error (surface, status);
|
||||
}
|
||||
|
||||
|
|
@ -1183,7 +1183,7 @@ cairo_ps_surface_dsc_comment (cairo_surface_t *surface,
|
|||
char *comment_copy;
|
||||
|
||||
status = _extract_ps_surface (surface, &ps_surface);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status = _cairo_surface_set_error (surface, status);
|
||||
return;
|
||||
}
|
||||
|
|
@ -1207,7 +1207,7 @@ cairo_ps_surface_dsc_comment (cairo_surface_t *surface,
|
|||
}
|
||||
|
||||
status = _cairo_array_append (ps_surface->dsc_comment_target, &comment_copy);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
free (comment_copy);
|
||||
status = _cairo_surface_set_error (surface, status);
|
||||
return;
|
||||
|
|
@ -1237,7 +1237,7 @@ cairo_ps_surface_dsc_begin_setup (cairo_surface_t *surface)
|
|||
cairo_status_t status;
|
||||
|
||||
status = _extract_ps_surface (surface, &ps_surface);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status = _cairo_surface_set_error (surface, status);
|
||||
return;
|
||||
}
|
||||
|
|
@ -1272,7 +1272,7 @@ cairo_ps_surface_dsc_begin_page_setup (cairo_surface_t *surface)
|
|||
cairo_status_t status;
|
||||
|
||||
status = _extract_ps_surface (surface, &ps_surface);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status = _cairo_surface_set_error (surface, status);
|
||||
return;
|
||||
}
|
||||
|
|
@ -1304,11 +1304,11 @@ _cairo_ps_surface_finish (void *abstract_surface)
|
|||
_cairo_ps_surface_emit_header (surface);
|
||||
|
||||
status = _cairo_ps_surface_emit_font_subsets (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP;
|
||||
|
||||
status = _cairo_ps_surface_emit_body (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP;
|
||||
|
||||
_cairo_ps_surface_emit_footer (surface);
|
||||
|
|
@ -1362,7 +1362,7 @@ _cairo_ps_surface_end_page (cairo_ps_surface_t *surface)
|
|||
cairo_int_status_t status;
|
||||
|
||||
status = _cairo_pdf_operators_flush (&surface->pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->stream,
|
||||
|
|
@ -1378,7 +1378,7 @@ _cairo_ps_surface_show_page (void *abstract_surface)
|
|||
cairo_int_status_t status;
|
||||
|
||||
status = _cairo_ps_surface_end_page (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->stream, "showpage\n");
|
||||
|
|
@ -1407,7 +1407,7 @@ _cairo_ps_surface_analyze_surface_pattern_transparency (cairo_ps_surface_t
|
|||
status = _cairo_surface_acquire_source_image (pattern->surface,
|
||||
&image,
|
||||
&image_extra);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (image->base.status)
|
||||
|
|
@ -1809,7 +1809,7 @@ _cairo_ps_surface_flatten_image_transparency (cairo_ps_surface_t *surface,
|
|||
background_color,
|
||||
0, 0,
|
||||
image->width, image->height);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
status = _cairo_surface_composite (CAIRO_OPERATOR_OVER,
|
||||
|
|
@ -1821,7 +1821,7 @@ _cairo_ps_surface_flatten_image_transparency (cairo_ps_surface_t *surface,
|
|||
0, 0,
|
||||
image->width,
|
||||
image->height);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
_cairo_pattern_fini (&pattern.base);
|
||||
|
|
@ -1851,12 +1851,12 @@ _cairo_ps_surface_emit_base85_string (cairo_ps_surface_t *surface,
|
|||
string_array_stream = _base85_array_stream_create (surface->stream);
|
||||
|
||||
status = _cairo_output_stream_get_status (string_array_stream);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_output_stream_destroy (string_array_stream);
|
||||
|
||||
base85_stream = _cairo_base85_stream_create (string_array_stream);
|
||||
status = _cairo_output_stream_get_status (base85_stream);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status2 = _cairo_output_stream_destroy (string_array_stream);
|
||||
return _cairo_output_stream_destroy (base85_stream);
|
||||
}
|
||||
|
|
@ -1918,7 +1918,7 @@ _cairo_ps_surface_emit_image (cairo_ps_surface_t *surface,
|
|||
status = _cairo_ps_surface_flatten_image_transparency (surface,
|
||||
image,
|
||||
&opaque_image);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
use_mask = FALSE;
|
||||
|
|
@ -2004,7 +2004,7 @@ _cairo_ps_surface_emit_image (cairo_ps_surface_t *surface,
|
|||
data_compressed,
|
||||
data_compressed_size,
|
||||
TRUE);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto bail3;
|
||||
|
||||
_cairo_output_stream_printf (surface->stream,
|
||||
|
|
@ -2138,7 +2138,7 @@ _cairo_ps_surface_emit_jpeg_image (cairo_ps_surface_t *surface,
|
|||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
|
||||
status = _cairo_image_info_get_jpeg_info (&info, mime_data, mime_data_length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (info.num_components != 1 && info.num_components != 3)
|
||||
|
|
@ -2154,7 +2154,7 @@ _cairo_ps_surface_emit_jpeg_image (cairo_ps_surface_t *surface,
|
|||
mime_data,
|
||||
mime_data_length,
|
||||
TRUE);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->stream,
|
||||
|
|
@ -2219,7 +2219,7 @@ _cairo_ps_surface_emit_meta_surface (cairo_ps_surface_t *surface,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_surface_get_extents (meta_surface, &meta_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
old_content = surface->content;
|
||||
|
|
@ -2251,11 +2251,11 @@ _cairo_ps_surface_emit_meta_surface (cairo_ps_surface_t *surface,
|
|||
status = _cairo_meta_surface_replay_region (meta_surface, &surface->base,
|
||||
CAIRO_META_REGION_NATIVE);
|
||||
assert (status != CAIRO_INT_STATUS_UNSUPPORTED);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_pdf_operators_flush (&surface->pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->stream,
|
||||
|
|
@ -2267,7 +2267,7 @@ _cairo_ps_surface_emit_meta_surface (cairo_ps_surface_t *surface,
|
|||
_cairo_pdf_operators_reset (&surface->pdf_operators);
|
||||
surface->cairo_to_ps = old_cairo_to_ps;
|
||||
status = _cairo_surface_set_clip (&surface->base, old_clip);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_pdf_operators_set_cairo_to_pdf_matrix (&surface->pdf_operators,
|
||||
|
|
@ -2337,7 +2337,7 @@ _cairo_ps_surface_acquire_surface (cairo_ps_surface_t *surface,
|
|||
cairo_rectangle_int_t pattern_extents;
|
||||
|
||||
status = _cairo_surface_get_extents (meta_surface, &pattern_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
*width = pattern_extents.width;
|
||||
|
|
@ -2346,7 +2346,7 @@ _cairo_ps_surface_acquire_surface (cairo_ps_surface_t *surface,
|
|||
status = _cairo_surface_acquire_source_image (pattern->surface,
|
||||
&surface->acquired_image,
|
||||
&surface->image_extra);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
pad_image = &surface->acquired_image->base;
|
||||
|
|
@ -2383,7 +2383,7 @@ _cairo_ps_surface_acquire_surface (cairo_ps_surface_t *surface,
|
|||
rect.width,
|
||||
rect.height);
|
||||
_cairo_pattern_fini (&pad_pattern.base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
}
|
||||
|
||||
|
|
@ -2458,7 +2458,7 @@ _cairo_ps_surface_paint_surface (cairo_ps_surface_t *surface,
|
|||
extents,
|
||||
&width, &height,
|
||||
&origin_x, &origin_y);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
cairo_p2d = pattern->base.matrix;
|
||||
|
|
@ -2540,7 +2540,7 @@ _cairo_ps_surface_emit_surface_pattern (cairo_ps_surface_t *surface,
|
|||
extents,
|
||||
&pattern_width, &pattern_height,
|
||||
&origin_x, &origin_y);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
switch (pattern->base.extend) {
|
||||
|
|
@ -2602,7 +2602,7 @@ _cairo_ps_surface_emit_surface_pattern (cairo_ps_surface_t *surface,
|
|||
}
|
||||
status = _cairo_ps_surface_emit_surface (surface, pattern, op,
|
||||
pattern_width, pattern_height);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
surface->use_string_datasource = old_use_string_datasource;
|
||||
|
|
@ -2649,7 +2649,7 @@ _cairo_ps_surface_emit_surface_pattern (cairo_ps_surface_t *surface,
|
|||
">>\n");
|
||||
|
||||
status = _cairo_surface_get_extents (&surface->base, &surface_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
cairo_p2d = pattern->base.matrix;
|
||||
|
|
@ -2955,7 +2955,7 @@ _cairo_ps_surface_emit_linear_pattern (cairo_ps_surface_t *surface,
|
|||
|
||||
status = _cairo_ps_surface_emit_pattern_stops (surface,
|
||||
&pattern->base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (pattern->base.base.extend == CAIRO_EXTEND_REPEAT ||
|
||||
|
|
@ -2964,7 +2964,7 @@ _cairo_ps_surface_emit_linear_pattern (cairo_ps_surface_t *surface,
|
|||
&pattern->base,
|
||||
repeat_begin,
|
||||
repeat_end);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -3042,7 +3042,7 @@ _cairo_ps_surface_emit_radial_pattern (cairo_ps_surface_t *surface,
|
|||
r2 = _cairo_fixed_to_double (pattern->r2);
|
||||
|
||||
status = _cairo_ps_surface_emit_pattern_stops (surface, &pattern->base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->stream,
|
||||
|
|
@ -3092,7 +3092,7 @@ _cairo_ps_surface_emit_pattern (cairo_ps_surface_t *surface,
|
|||
! _cairo_color_equal (&surface->current_color, &solid->color))
|
||||
{
|
||||
status = _cairo_pdf_operators_flush (&surface->pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_ps_surface_emit_solid_pattern (surface, (cairo_solid_pattern_t *) pattern);
|
||||
|
|
@ -3106,7 +3106,7 @@ _cairo_ps_surface_emit_pattern (cairo_ps_surface_t *surface,
|
|||
|
||||
surface->current_pattern_is_solid_color = FALSE;
|
||||
status = _cairo_pdf_operators_flush (&surface->pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
switch (pattern->type) {
|
||||
|
|
@ -3120,21 +3120,21 @@ _cairo_ps_surface_emit_pattern (cairo_ps_surface_t *surface,
|
|||
(cairo_surface_pattern_t *) pattern,
|
||||
extents,
|
||||
op);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
break;
|
||||
|
||||
case CAIRO_PATTERN_TYPE_LINEAR:
|
||||
status = _cairo_ps_surface_emit_linear_pattern (surface,
|
||||
(cairo_linear_pattern_t *) pattern);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
break;
|
||||
|
||||
case CAIRO_PATTERN_TYPE_RADIAL:
|
||||
status = _cairo_ps_surface_emit_radial_pattern (surface,
|
||||
(cairo_radial_pattern_t *) pattern);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
break;
|
||||
}
|
||||
|
|
@ -3163,7 +3163,7 @@ _cairo_ps_surface_intersect_clip_path (void *abstract_surface,
|
|||
|
||||
if (path == NULL) {
|
||||
status = _cairo_pdf_operators_flush (&surface->pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (stream, "Q q\n");
|
||||
|
|
@ -3230,11 +3230,11 @@ _cairo_ps_surface_paint (void *abstract_surface,
|
|||
#endif
|
||||
|
||||
status = _cairo_surface_get_extents (&surface->base, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_pdf_operators_flush (&surface->pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (source->type == CAIRO_PATTERN_TYPE_SURFACE &&
|
||||
|
|
@ -3248,7 +3248,7 @@ _cairo_ps_surface_paint (void *abstract_surface,
|
|||
status = _cairo_ps_surface_paint_surface (surface,
|
||||
(cairo_surface_pattern_t *) source,
|
||||
paint_extents, op);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (stream, "Q\n");
|
||||
|
|
@ -3257,7 +3257,7 @@ _cairo_ps_surface_paint (void *abstract_surface,
|
|||
if (status == CAIRO_INT_STATUS_NOTHING_TO_DO)
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (stream, "0 0 %d %d rectfill\n",
|
||||
|
|
@ -3332,7 +3332,7 @@ _cairo_ps_surface_fill (void *abstract_surface,
|
|||
source->extend == CAIRO_EXTEND_PAD))
|
||||
{
|
||||
status = _cairo_pdf_operators_flush (&surface->pdf_operators);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->stream, "q\n");
|
||||
|
|
@ -3340,13 +3340,13 @@ _cairo_ps_surface_fill (void *abstract_surface,
|
|||
status = _cairo_pdf_operators_clip (&surface->pdf_operators,
|
||||
path,
|
||||
fill_rule);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_ps_surface_paint_surface (surface,
|
||||
(cairo_surface_pattern_t *) source,
|
||||
extents, op);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->stream, "Q\n");
|
||||
|
|
@ -3356,7 +3356,7 @@ _cairo_ps_surface_fill (void *abstract_surface,
|
|||
if (status == CAIRO_INT_STATUS_NOTHING_TO_DO)
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_pdf_operators_fill (&surface->pdf_operators,
|
||||
|
|
@ -3397,7 +3397,7 @@ _cairo_ps_surface_show_glyphs (void *abstract_surface,
|
|||
if (status == CAIRO_INT_STATUS_NOTHING_TO_DO)
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return _cairo_pdf_operators_show_text_glyphs (&surface->pdf_operators,
|
||||
|
|
|
|||
|
|
@ -294,7 +294,7 @@ _cairo_sub_font_create (cairo_scaled_font_subsets_t *parent,
|
|||
* Type 3 fonts */
|
||||
if (! _cairo_font_face_is_user (scaled_font->font_face)) {
|
||||
status = _cairo_sub_font_map_glyph (sub_font, 0, NULL, -1, &subset_glyph);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_hash_table_destroy (sub_font->sub_font_glyphs);
|
||||
free (sub_font);
|
||||
return status;
|
||||
|
|
@ -349,7 +349,7 @@ _cairo_sub_font_glyph_lookup_unicode (cairo_sub_font_glyph_t *sub_font_glyph,
|
|||
status = scaled_font->backend->index_to_ucs4 (scaled_font,
|
||||
scaled_font_glyph_index,
|
||||
&unicode);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -466,7 +466,7 @@ _cairo_sub_font_map_glyph (cairo_sub_font_t *sub_font,
|
|||
* except for Type 3 fonts */
|
||||
if (! _cairo_font_face_is_user (sub_font->scaled_font->font_face)) {
|
||||
status = _cairo_sub_font_map_glyph (sub_font, 0, NULL, -1, &tmp_subset_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
}
|
||||
|
|
@ -477,7 +477,7 @@ _cairo_sub_font_map_glyph (cairo_sub_font_t *sub_font,
|
|||
CAIRO_SCALED_GLYPH_INFO_METRICS,
|
||||
&scaled_glyph);
|
||||
assert (status != CAIRO_INT_STATUS_UNSUPPORTED);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_scaled_font_thaw_cache (sub_font->scaled_font);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -495,13 +495,13 @@ _cairo_sub_font_map_glyph (cairo_sub_font_t *sub_font,
|
|||
status = _cairo_sub_font_glyph_lookup_unicode (sub_font_glyph,
|
||||
sub_font->scaled_font,
|
||||
scaled_font_glyph_index);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_sub_font_glyph_destroy (sub_font_glyph);
|
||||
return status;
|
||||
}
|
||||
|
||||
status = _cairo_hash_table_insert (sub_font->sub_font_glyphs, &sub_font_glyph->base);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_sub_font_glyph_destroy (sub_font_glyph);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -768,7 +768,7 @@ _cairo_scaled_font_subsets_map_glyph (cairo_scaled_font_subsets_t *subsets,
|
|||
subset_glyph->is_composite,
|
||||
&sub_font);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_scaled_font_destroy (unscaled_font);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -776,7 +776,7 @@ _cairo_scaled_font_subsets_map_glyph (cairo_scaled_font_subsets_t *subsets,
|
|||
status = _cairo_hash_table_insert (subsets->unscaled_sub_fonts,
|
||||
&sub_font->base);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_sub_font_destroy (sub_font);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -808,14 +808,14 @@ _cairo_scaled_font_subsets_map_glyph (cairo_scaled_font_subsets_t *subsets,
|
|||
subset_glyph->is_scaled,
|
||||
subset_glyph->is_composite,
|
||||
&sub_font);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_scaled_font_destroy (scaled_font);
|
||||
return status;
|
||||
}
|
||||
|
||||
status = _cairo_hash_table_insert (subsets->scaled_sub_fonts,
|
||||
&sub_font->base);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_sub_font_destroy (sub_font);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -1003,11 +1003,11 @@ _cairo_scaled_font_subset_create_glyph_names (cairo_scaled_font_subset_t *subset
|
|||
}
|
||||
|
||||
status = create_string_entry (subset->glyph_names[0], &entry);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_HASH;
|
||||
|
||||
status = _cairo_hash_table_insert (names, &entry->base);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
free (entry);
|
||||
goto CLEANUP_HASH;
|
||||
}
|
||||
|
|
@ -1020,7 +1020,7 @@ _cairo_scaled_font_subset_create_glyph_names (cairo_scaled_font_subset_t *subset
|
|||
utf16_len = 0;
|
||||
if (utf8 && *utf8) {
|
||||
status = _cairo_utf8_to_utf16 (utf8, -1, &utf16, &utf16_len);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status; /* FIXME */
|
||||
}
|
||||
|
||||
|
|
@ -1043,11 +1043,11 @@ _cairo_scaled_font_subset_create_glyph_names (cairo_scaled_font_subset_t *subset
|
|||
}
|
||||
|
||||
status = create_string_entry (subset->glyph_names[i], &entry);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_HASH;
|
||||
|
||||
status = _cairo_hash_table_insert (names, &entry->base);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
free (entry);
|
||||
goto CLEANUP_HASH;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -425,7 +425,7 @@ _cairo_scaled_font_register_placeholder_and_unlock_font_map (cairo_scaled_font_t
|
|||
assert (CAIRO_MUTEX_IS_LOCKED (_cairo_scaled_font_map_mutex));
|
||||
|
||||
status = scaled_font->status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
placeholder_scaled_font = malloc (sizeof (cairo_scaled_font_t));
|
||||
|
|
@ -439,14 +439,14 @@ _cairo_scaled_font_register_placeholder_and_unlock_font_map (cairo_scaled_font_t
|
|||
&scaled_font->ctm,
|
||||
&scaled_font->options,
|
||||
NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FREE_PLACEHOLDER;
|
||||
|
||||
placeholder_scaled_font->placeholder = TRUE;
|
||||
|
||||
status = _cairo_hash_table_insert (cairo_scaled_font_map->hash_table,
|
||||
&placeholder_scaled_font->hash_entry);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FINI_PLACEHOLDER;
|
||||
|
||||
CAIRO_MUTEX_UNLOCK (_cairo_scaled_font_map_mutex);
|
||||
|
|
@ -599,7 +599,7 @@ _cairo_scaled_font_init (cairo_scaled_font_t *scaled_font,
|
|||
cairo_status_t status;
|
||||
|
||||
status = cairo_font_options_status ((cairo_font_options_t *) options);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_scaled_font_init_key (scaled_font, font_face,
|
||||
|
|
@ -613,7 +613,7 @@ _cairo_scaled_font_init (cairo_scaled_font_t *scaled_font,
|
|||
fabs (scaled_font->scale.yx) + fabs (scaled_font->scale.yy));
|
||||
scaled_font->scale_inverse = scaled_font->scale;
|
||||
status = cairo_matrix_invert (&scaled_font->scale_inverse);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
/* If the font scale matrix is rank 0, just using an all-zero inverse matrix
|
||||
* makes everything work correctly. This make font size 0 work without
|
||||
* producing an error.
|
||||
|
|
@ -697,7 +697,7 @@ _cairo_scaled_font_set_metrics (cairo_scaled_font_t *scaled_font,
|
|||
status = _cairo_matrix_compute_basis_scale_factors (&scaled_font->font_matrix,
|
||||
&font_scale_x, &font_scale_y,
|
||||
1);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/*
|
||||
|
|
@ -782,7 +782,7 @@ cairo_scaled_font_create (cairo_font_face_t *font_face,
|
|||
return _cairo_scaled_font_create_in_error (font_face->status);
|
||||
|
||||
status = cairo_font_options_status ((cairo_font_options_t *) options);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_scaled_font_create_in_error (status);
|
||||
|
||||
/* Note that degenerate ctm or font_matrix *are* allowed.
|
||||
|
|
@ -791,7 +791,7 @@ cairo_scaled_font_create (cairo_font_face_t *font_face,
|
|||
if (font_face->backend->get_implementation != NULL) {
|
||||
/* indirect implementation, lookup the face that is used for the key */
|
||||
status = font_face->backend->get_implementation (font_face, &impl_face);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_scaled_font_create_in_error (status);
|
||||
} else
|
||||
impl_face = font_face;
|
||||
|
|
@ -889,7 +889,7 @@ cairo_scaled_font_create (cairo_font_face_t *font_face,
|
|||
/* Otherwise create it and insert it into the hash table. */
|
||||
status = font_face->backend->scaled_font_create (font_face, font_matrix,
|
||||
ctm, options, &scaled_font);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_scaled_font_map_unlock ();
|
||||
status = _cairo_font_face_set_error (font_face, status);
|
||||
return _cairo_scaled_font_create_in_error (status);
|
||||
|
|
@ -905,7 +905,7 @@ cairo_scaled_font_create (cairo_font_face_t *font_face,
|
|||
|
||||
_cairo_scaled_font_map_unlock ();
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
/* We can't call _cairo_scaled_font_destroy here since it expects
|
||||
* that the font has already been successfully inserted into the
|
||||
* hash table. */
|
||||
|
|
@ -1221,7 +1221,7 @@ cairo_scaled_font_text_extents (cairo_scaled_font_t *scaled_font,
|
|||
&glyphs, &num_glyphs,
|
||||
NULL, NULL,
|
||||
NULL);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status = _cairo_scaled_font_set_error (scaled_font, status);
|
||||
goto ZERO_EXTENTS;
|
||||
}
|
||||
|
|
@ -1304,7 +1304,7 @@ cairo_scaled_font_glyph_extents (cairo_scaled_font_t *scaled_font,
|
|||
glyphs[i].index,
|
||||
CAIRO_SCALED_GLYPH_INFO_METRICS,
|
||||
&scaled_glyph);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status = _cairo_scaled_font_set_error (scaled_font, status);
|
||||
goto UNLOCK;
|
||||
}
|
||||
|
|
@ -1521,7 +1521,7 @@ cairo_scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font,
|
|||
cairo_text_cluster_t *orig_clusters;
|
||||
|
||||
status = scaled_font->status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* A slew of sanity checks */
|
||||
|
|
@ -1584,7 +1584,7 @@ cairo_scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font,
|
|||
|
||||
/* validate input so backend does not have to */
|
||||
status = _cairo_utf8_to_ucs4 (utf8, utf8_len, NULL, &num_chars);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
_cairo_scaled_font_freeze_cache (scaled_font);
|
||||
|
|
@ -1682,7 +1682,7 @@ cairo_scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font,
|
|||
(*glyphs)[i].index,
|
||||
CAIRO_SCALED_GLYPH_INFO_METRICS,
|
||||
&scaled_glyph);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
goto DONE;
|
||||
}
|
||||
|
||||
|
|
@ -1693,7 +1693,7 @@ cairo_scaled_font_text_to_glyphs (cairo_scaled_font_t *scaled_font,
|
|||
DONE: /* error that should be logged on scaled_font happened */
|
||||
_cairo_scaled_font_thaw_cache (scaled_font);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
*num_glyphs = 0;
|
||||
if (*glyphs != orig_glyphs) {
|
||||
cairo_glyph_free (*glyphs);
|
||||
|
|
@ -1752,7 +1752,7 @@ _cairo_scaled_font_glyph_device_extents (cairo_scaled_font_t *scaled_font,
|
|||
glyphs[i].index,
|
||||
CAIRO_SCALED_GLYPH_INFO_METRICS,
|
||||
&scaled_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
break;
|
||||
|
||||
/* XXX glyph images are snapped to pixel locations */
|
||||
|
|
@ -1771,7 +1771,7 @@ _cairo_scaled_font_glyph_device_extents (cairo_scaled_font_t *scaled_font,
|
|||
}
|
||||
|
||||
_cairo_scaled_font_thaw_cache (scaled_font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_scaled_font_set_error (scaled_font, status);
|
||||
|
||||
if (min.x < max.x && min.y < max.y) {
|
||||
|
|
@ -1853,7 +1853,7 @@ _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font,
|
|||
CAIRO_SCALED_GLYPH_INFO_SURFACE,
|
||||
&scaled_glyph);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_MASK;
|
||||
|
||||
glyph_surface = scaled_glyph->surface;
|
||||
|
|
@ -1912,7 +1912,7 @@ _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font,
|
|||
|
||||
_cairo_pattern_fini (&mask_pattern.base);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (new_mask);
|
||||
goto CLEANUP_MASK;
|
||||
}
|
||||
|
|
@ -1940,7 +1940,7 @@ _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font,
|
|||
|
||||
_cairo_pattern_fini (&glyph_pattern.base);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_MASK;
|
||||
}
|
||||
|
||||
|
|
@ -2027,29 +2027,29 @@ _add_unit_rectangle_to_path (cairo_path_fixed_t *path, int x, int y)
|
|||
status = _cairo_path_fixed_move_to (path,
|
||||
_cairo_fixed_from_int (x),
|
||||
_cairo_fixed_from_int (y));
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_path_fixed_rel_line_to (path,
|
||||
_cairo_fixed_from_int (1),
|
||||
_cairo_fixed_from_int (0));
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_path_fixed_rel_line_to (path,
|
||||
_cairo_fixed_from_int (0),
|
||||
_cairo_fixed_from_int (1));
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_path_fixed_rel_line_to (path,
|
||||
_cairo_fixed_from_int (-1),
|
||||
_cairo_fixed_from_int (0));
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_path_fixed_close_path (path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -2089,7 +2089,7 @@ _trace_mask_to_path (cairo_image_surface_t *mask,
|
|||
a1_mask = _cairo_image_surface_clone (mask, CAIRO_FORMAT_A1);
|
||||
|
||||
status = cairo_surface_status (&a1_mask->base);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (&a1_mask->base);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -2104,7 +2104,7 @@ _trace_mask_to_path (cairo_image_surface_t *mask,
|
|||
if (byte & (1 << bit)) {
|
||||
status = _add_unit_rectangle_to_path (path,
|
||||
x - xoff, y - yoff);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
}
|
||||
}
|
||||
|
|
@ -2129,7 +2129,7 @@ _cairo_scaled_font_glyph_path (cairo_scaled_font_t *scaled_font,
|
|||
cairo_path_fixed_t *glyph_path;
|
||||
|
||||
status = scaled_font->status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
closure.path = path;
|
||||
|
|
@ -2153,7 +2153,7 @@ _cairo_scaled_font_glyph_path (cairo_scaled_font_t *scaled_font,
|
|||
glyphs[i].index,
|
||||
CAIRO_SCALED_GLYPH_INFO_SURFACE,
|
||||
&scaled_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
glyph_path = _cairo_path_fixed_create ();
|
||||
|
|
@ -2163,7 +2163,7 @@ _cairo_scaled_font_glyph_path (cairo_scaled_font_t *scaled_font,
|
|||
}
|
||||
|
||||
status = _trace_mask_to_path (scaled_glyph->surface, glyph_path);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_path_fixed_destroy (glyph_path);
|
||||
goto BAIL;
|
||||
}
|
||||
|
|
@ -2182,7 +2182,7 @@ _cairo_scaled_font_glyph_path (cairo_scaled_font_t *scaled_font,
|
|||
if (glyph_path != scaled_glyph->path)
|
||||
_cairo_path_fixed_destroy (glyph_path);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
}
|
||||
BAIL:
|
||||
|
|
@ -2377,7 +2377,7 @@ _cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font,
|
|||
/* ask backend to initialize metrics and shape fields */
|
||||
status = (*scaled_font->backend->
|
||||
scaled_glyph_init) (scaled_font, scaled_glyph, info);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_scaled_glyph_destroy (scaled_glyph);
|
||||
goto CLEANUP;
|
||||
}
|
||||
|
|
@ -2385,7 +2385,7 @@ _cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font,
|
|||
/* on success, the cache takes ownership of the scaled_glyph */
|
||||
status = _cairo_cache_insert (scaled_font->glyphs,
|
||||
&scaled_glyph->cache_entry);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_scaled_glyph_destroy (scaled_glyph);
|
||||
goto CLEANUP;
|
||||
}
|
||||
|
|
@ -2410,7 +2410,7 @@ _cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font,
|
|||
if (need_info) {
|
||||
status = (*scaled_font->backend->
|
||||
scaled_glyph_init) (scaled_font, scaled_glyph, need_info);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP;
|
||||
|
||||
/* Don't trust the scaled_glyph_init() return value, the font
|
||||
|
|
@ -2438,7 +2438,7 @@ _cairo_scaled_glyph_lookup (cairo_scaled_font_t *scaled_font,
|
|||
}
|
||||
|
||||
CLEANUP:
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
/* It's not an error for the backend to not support the info we want. */
|
||||
if (status != CAIRO_INT_STATUS_UNSUPPORTED)
|
||||
status = _cairo_scaled_font_set_error (scaled_font, status);
|
||||
|
|
|
|||
|
|
@ -335,7 +335,7 @@ _emit_context (cairo_script_surface_t *surface)
|
|||
|
||||
status = _bitmap_next_id (&surface->ctx->surface_id,
|
||||
&surface->id);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->ctx->stream,
|
||||
|
|
@ -586,25 +586,25 @@ _emit_stroke_style (cairo_script_surface_t *surface,
|
|||
assert (_cairo_script_surface_owns_context (surface));
|
||||
|
||||
status = _emit_line_width (surface, style->line_width, force);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_line_cap (surface, style->line_cap);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_line_join (surface, style->line_join);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_miter_limit (surface, style->miter_limit, force);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_dash (surface,
|
||||
style->dash, style->num_dashes, style->dash_offset,
|
||||
force);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -750,13 +750,13 @@ _emit_meta_surface_pattern (cairo_script_surface_t *surface,
|
|||
cairo_surface_destroy (null_surface);
|
||||
|
||||
status = analysis_surface->status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_meta_surface_replay (source, analysis_surface);
|
||||
_cairo_analysis_surface_get_bounding_box (analysis_surface, &bbox);
|
||||
cairo_surface_destroy (analysis_surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
similar = cairo_surface_create_similar (&surface->base,
|
||||
|
|
@ -767,13 +767,13 @@ _emit_meta_surface_pattern (cairo_script_surface_t *surface,
|
|||
return similar->status;
|
||||
|
||||
status = _cairo_meta_surface_replay (source, similar);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (similar);
|
||||
return status;
|
||||
}
|
||||
|
||||
status = _emit_context (surface);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (similar);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -936,7 +936,7 @@ _emit_png_surface (cairo_script_surface_t *surface,
|
|||
base85_stream = _cairo_base85_stream_create (surface->ctx->stream);
|
||||
_cairo_output_stream_write (base85_stream, mime_data, mime_data_length);
|
||||
status = _cairo_output_stream_destroy (base85_stream);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_puts (surface->ctx->stream,
|
||||
|
|
@ -979,7 +979,7 @@ _emit_image_surface (cairo_script_surface_t *surface,
|
|||
status2 = _cairo_output_stream_destroy (base85_stream);
|
||||
if (status == CAIRO_STATUS_SUCCESS)
|
||||
status = status2;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_puts (surface->ctx->stream,
|
||||
|
|
@ -1006,7 +1006,7 @@ _emit_image_surface (cairo_script_surface_t *surface,
|
|||
base85_stream = _cairo_base85_stream_create (surface->ctx->stream);
|
||||
_cairo_output_stream_write (base85_stream, mime_data, mime_data_length);
|
||||
status = _cairo_output_stream_destroy (base85_stream);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_puts (surface->ctx->stream,
|
||||
|
|
@ -1034,7 +1034,7 @@ _emit_image_surface_pattern (cairo_script_surface_t *surface,
|
|||
|
||||
/* XXX snapshot-cow */
|
||||
status = _cairo_surface_acquire_source_image (source, &image, &image_extra);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_image_surface (surface, image);
|
||||
|
|
@ -1089,7 +1089,7 @@ _emit_pattern (cairo_script_surface_t *surface,
|
|||
ASSERT_NOT_REACHED;
|
||||
status = CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
}
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (! _cairo_matrix_is_identity (&pattern->matrix)) {
|
||||
|
|
@ -1151,15 +1151,15 @@ _emit_source (cairo_script_surface_t *surface,
|
|||
cairo_pattern_destroy (surface->cr.current_source);
|
||||
status = _cairo_pattern_create_copy (&surface->cr.current_source,
|
||||
source);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_identity (surface, &matrix_updated);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_pattern (surface, source);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_puts (surface->ctx->stream,
|
||||
|
|
@ -1242,7 +1242,7 @@ _emit_path (cairo_script_surface_t *surface,
|
|||
double y2 = _cairo_fixed_to_double (box.p2.y);
|
||||
|
||||
status = _cairo_path_fixed_init_copy (&surface->cr.current_path, path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->ctx->stream,
|
||||
|
|
@ -1252,7 +1252,7 @@ _emit_path (cairo_script_surface_t *surface,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_path_fixed_init_copy (&surface->cr.current_path, path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_path_fixed_interpret (path,
|
||||
|
|
@ -1262,7 +1262,7 @@ _emit_path (cairo_script_surface_t *surface,
|
|||
_path_curve_to,
|
||||
_path_close,
|
||||
surface->ctx->stream);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -1356,7 +1356,7 @@ _cairo_script_surface_create_similar (void *abstract_surface,
|
|||
|
||||
status = _bitmap_next_id (&ctx->surface_id,
|
||||
&other->id);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_create_in_error (status);
|
||||
|
||||
_cairo_output_stream_printf (ctx->stream,
|
||||
|
|
@ -1378,7 +1378,7 @@ _cairo_script_surface_create_similar (void *abstract_surface,
|
|||
|
||||
status = _bitmap_next_id (&ctx->surface_id,
|
||||
&surface->id);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (&surface->base);
|
||||
return _cairo_surface_create_in_error (status);
|
||||
}
|
||||
|
|
@ -1455,7 +1455,7 @@ _cairo_script_surface_copy_page (void *abstract_surface)
|
|||
cairo_status_t status;
|
||||
|
||||
status = _emit_context (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_puts (surface->ctx->stream, "copy_page\n");
|
||||
|
|
@ -1470,7 +1470,7 @@ _cairo_script_surface_show_page (void *abstract_surface)
|
|||
cairo_status_t status;
|
||||
|
||||
status = _emit_context (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_puts (surface->ctx->stream, "show_page\n");
|
||||
|
|
@ -1490,7 +1490,7 @@ _cairo_script_surface_intersect_clip_path (void *abstract_surface,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _emit_context (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (path == NULL) {
|
||||
|
|
@ -1499,23 +1499,23 @@ _cairo_script_surface_intersect_clip_path (void *abstract_surface,
|
|||
}
|
||||
|
||||
status = _emit_identity (surface, &matrix_updated);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_fill_rule (surface, fill_rule);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_tolerance (surface, tolerance, matrix_updated);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_antialias (surface, antialias);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_path (surface, path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_puts (surface->ctx->stream, "clip+\n");
|
||||
|
|
@ -1533,15 +1533,15 @@ _cairo_script_surface_paint (void *abstract_surface,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _emit_context (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_operator (surface, op);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_source (surface, op, source);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_puts (surface->ctx->stream,
|
||||
|
|
@ -1561,19 +1561,19 @@ _cairo_script_surface_mask (void *abstract_surface,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _emit_context (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_operator (surface, op);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_source (surface, op, source);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_pattern (surface, mask);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_puts (surface->ctx->stream,
|
||||
|
|
@ -1599,39 +1599,39 @@ _cairo_script_surface_stroke (void *abstract_surface,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _emit_context (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_identity (surface, &matrix_updated);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_path (surface, path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_source (surface, op, source);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_matrix (surface, ctm, &matrix_updated);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_operator (surface, op);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_stroke_style (surface, style, matrix_updated);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_tolerance (surface, tolerance, matrix_updated);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_antialias (surface, antialias);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_puts (surface->ctx->stream, "stroke+\n");
|
||||
|
|
@ -1654,35 +1654,35 @@ _cairo_script_surface_fill (void *abstract_surface,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _emit_context (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_operator (surface, op);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_identity (surface, &matrix_updated);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_source (surface, op, source);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_fill_rule (surface, fill_rule);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_tolerance (surface, tolerance, matrix_updated);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_antialias (surface, antialias);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_path (surface, path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_puts (surface->ctx->stream, "fill+\n");
|
||||
|
|
@ -1828,7 +1828,7 @@ _emit_type42_font (cairo_script_surface_t *surface,
|
|||
|
||||
size = 0;
|
||||
status = backend->load_truetype_table (scaled_font, 0, 0, NULL, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
buf = malloc (size);
|
||||
|
|
@ -1836,7 +1836,7 @@ _emit_type42_font (cairo_script_surface_t *surface,
|
|||
return _cairo_error (CAIRO_STATUS_NO_MEMORY);
|
||||
|
||||
status = backend->load_truetype_table (scaled_font, 0, 0, buf, NULL);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
free (buf);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -1898,7 +1898,7 @@ _emit_scaled_font_init (cairo_script_surface_t *surface,
|
|||
|
||||
status = _bitmap_next_id (&surface->ctx->font_id,
|
||||
&font_private->id);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
free (font_private);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -1907,7 +1907,7 @@ _emit_scaled_font_init (cairo_script_surface_t *surface,
|
|||
scaled_font->surface_backend = &_cairo_script_surface_backend;
|
||||
|
||||
status = _emit_context (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_type42_font (surface, scaled_font);
|
||||
|
|
@ -1943,7 +1943,7 @@ _emit_scaled_font (cairo_script_surface_t *surface,
|
|||
|
||||
cairo_scaled_font_get_ctm (scaled_font, &matrix);
|
||||
status = _emit_matrix (surface, &matrix, &matrix_updated);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (! matrix_updated && surface->cr.current_scaled_font == scaled_font)
|
||||
|
|
@ -1951,12 +1951,12 @@ _emit_scaled_font (cairo_script_surface_t *surface,
|
|||
|
||||
cairo_scaled_font_get_font_matrix (scaled_font, &matrix);
|
||||
status = _emit_font_matrix (surface, &matrix);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
cairo_scaled_font_get_font_options (scaled_font, &options);
|
||||
status = _emit_font_options (surface, &options);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
surface->cr.current_scaled_font = scaled_font;
|
||||
|
|
@ -1967,11 +1967,11 @@ _emit_scaled_font (cairo_script_surface_t *surface,
|
|||
font_private = scaled_font->surface_private;
|
||||
if (font_private == NULL) {
|
||||
status = _emit_scaled_font_init (surface, scaled_font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
} else {
|
||||
status = _emit_context (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->ctx->stream,
|
||||
|
|
@ -2059,7 +2059,7 @@ _emit_scaled_glyph_bitmap (cairo_script_surface_t *surface,
|
|||
scaled_glyph->fs_metrics.y_bearing);
|
||||
|
||||
status = _emit_image_surface (surface, scaled_glyph->surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (! _cairo_matrix_is_identity (&scaled_font->font_matrix)) {
|
||||
|
|
@ -2121,7 +2121,7 @@ _emit_scaled_glyphs (cairo_script_surface_t *surface,
|
|||
glyphs[n].index,
|
||||
CAIRO_SCALED_GLYPH_INFO_METRICS,
|
||||
&scaled_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
break;
|
||||
|
||||
if (scaled_glyph->surface_private != NULL)
|
||||
|
|
@ -2137,7 +2137,7 @@ _emit_scaled_glyphs (cairo_script_surface_t *surface,
|
|||
if (status == CAIRO_STATUS_SUCCESS) {
|
||||
if (! have_glyph_prologue) {
|
||||
status = _emit_scaled_glyph_prologue (surface, scaled_font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
break;
|
||||
|
||||
have_glyph_prologue = TRUE;
|
||||
|
|
@ -2146,7 +2146,7 @@ _emit_scaled_glyphs (cairo_script_surface_t *surface,
|
|||
status = _emit_scaled_glyph_vector (surface,
|
||||
scaled_font,
|
||||
scaled_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
break;
|
||||
|
||||
continue;
|
||||
|
|
@ -2162,7 +2162,7 @@ _emit_scaled_glyphs (cairo_script_surface_t *surface,
|
|||
if (status == CAIRO_STATUS_SUCCESS) {
|
||||
if (! have_glyph_prologue) {
|
||||
status = _emit_scaled_glyph_prologue (surface, scaled_font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
break;
|
||||
|
||||
have_glyph_prologue = TRUE;
|
||||
|
|
@ -2171,7 +2171,7 @@ _emit_scaled_glyphs (cairo_script_surface_t *surface,
|
|||
status = _emit_scaled_glyph_bitmap (surface,
|
||||
scaled_font,
|
||||
scaled_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
break;
|
||||
|
||||
continue;
|
||||
|
|
@ -2210,23 +2210,23 @@ _cairo_script_surface_show_text_glyphs (void *abstract_surface,
|
|||
cairo_output_stream_t *base85_stream = NULL;
|
||||
|
||||
status = _emit_context (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_operator (surface, op);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_source (surface, op, source);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_scaled_font (surface, scaled_font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _emit_scaled_glyphs (surface, scaled_font, glyphs, num_glyphs);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* (utf8) [cx cy [glyphs]] [clusters] backward show_text_glyphs */
|
||||
|
|
@ -2264,7 +2264,7 @@ _cairo_script_surface_show_text_glyphs (void *abstract_surface,
|
|||
glyphs[n].index,
|
||||
CAIRO_SCALED_GLYPH_INFO_METRICS,
|
||||
&scaled_glyph);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_scaled_font_thaw_cache (scaled_font);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -2284,7 +2284,7 @@ _cairo_script_surface_show_text_glyphs (void *abstract_surface,
|
|||
glyphs[n].index,
|
||||
CAIRO_SCALED_GLYPH_INFO_METRICS,
|
||||
&scaled_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
break;
|
||||
|
||||
if (fabs (glyphs[n].x - x) > 1e-5 || fabs (glyphs[n].y - y) > 1e-5) {
|
||||
|
|
@ -2295,7 +2295,7 @@ _cairo_script_surface_show_text_glyphs (void *abstract_surface,
|
|||
iy -= scaled_font->font_matrix.y0;
|
||||
if (base85_stream != NULL) {
|
||||
status = _cairo_output_stream_destroy (base85_stream);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
base85_stream = NULL;
|
||||
break;
|
||||
}
|
||||
|
|
@ -2345,7 +2345,7 @@ _cairo_script_surface_show_text_glyphs (void *abstract_surface,
|
|||
} else {
|
||||
_cairo_output_stream_puts (surface->ctx->stream, " ]");
|
||||
}
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (utf8 != NULL && clusters != NULL) {
|
||||
|
|
@ -2378,7 +2378,7 @@ _cairo_script_surface_show_text_glyphs (void *abstract_surface,
|
|||
_cairo_output_stream_write (base85_stream, c, 2);
|
||||
}
|
||||
status = _cairo_output_stream_destroy (base85_stream);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -240,7 +240,7 @@ _cairo_sdl_surface_composite (cairo_operator_t op,
|
|||
src_x, src_y, width, height,
|
||||
(cairo_surface_t **) &src,
|
||||
&src_attr);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
is_integer_translation =
|
||||
|
|
@ -324,7 +324,7 @@ _cairo_sdl_surface_flush (void *abstract_surface)
|
|||
|
||||
n_boxes = 0;
|
||||
status = _cairo_region_get_boxes (&surface->update, &n_boxes, &boxes);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
if (n_boxes == 0)
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
|
|||
|
|
@ -79,7 +79,7 @@ _fallback_init (fallback_state_t *state,
|
|||
status = _cairo_surface_acquire_dest_image (dst, &state->extents,
|
||||
&state->image, &state->image_rect,
|
||||
&state->image_extra);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* XXX: This NULL value tucked away in state->image is a rather
|
||||
|
|
@ -131,7 +131,7 @@ _create_composite_mask_pattern (cairo_surface_pattern_t *mask_pattern,
|
|||
NULL, mask,
|
||||
extents->x, extents->y,
|
||||
extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SURFACE;
|
||||
|
||||
if (clip && clip->surface)
|
||||
|
|
@ -139,7 +139,7 @@ _create_composite_mask_pattern (cairo_surface_pattern_t *mask_pattern,
|
|||
mask,
|
||||
extents->x, extents->y,
|
||||
extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SURFACE;
|
||||
|
||||
_cairo_pattern_init_for_surface (mask_pattern, mask);
|
||||
|
|
@ -169,7 +169,7 @@ _clip_and_composite_with_mask (cairo_clip_t *clip,
|
|||
clip,
|
||||
draw_func, draw_closure,
|
||||
dst, extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_surface_composite (op,
|
||||
|
|
@ -226,14 +226,14 @@ _clip_and_composite_combine (cairo_clip_t *clip,
|
|||
|
||||
_cairo_pattern_fini (&dst_pattern.base);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SURFACE;
|
||||
|
||||
status = (*draw_func) (draw_closure, op,
|
||||
src, intermediate,
|
||||
extents->x, extents->y,
|
||||
extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SURFACE;
|
||||
|
||||
/* Combine that with the clip
|
||||
|
|
@ -242,7 +242,7 @@ _clip_and_composite_combine (cairo_clip_t *clip,
|
|||
intermediate,
|
||||
extents->x, extents->y,
|
||||
extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SURFACE;
|
||||
|
||||
/* Punch the clip out of the destination
|
||||
|
|
@ -251,7 +251,7 @@ _clip_and_composite_combine (cairo_clip_t *clip,
|
|||
dst,
|
||||
0, 0,
|
||||
extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SURFACE;
|
||||
|
||||
/* Now add the two results together
|
||||
|
|
@ -293,7 +293,7 @@ _clip_and_composite_source (cairo_clip_t *clip,
|
|||
clip,
|
||||
draw_func, draw_closure,
|
||||
dst, extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* Compute dest' = dest OUT (mask IN clip)
|
||||
|
|
@ -305,7 +305,7 @@ _clip_and_composite_source (cairo_clip_t *clip,
|
|||
extents->x, extents->y,
|
||||
extents->width, extents->height);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_MASK_PATTERN;
|
||||
|
||||
/* Now compute (src IN (mask IN clip)) ADD dest'
|
||||
|
|
@ -439,7 +439,7 @@ _composite_trap_region (cairo_clip_t *clip,
|
|||
status = _cairo_surface_set_clip_region (dst,
|
||||
trap_region,
|
||||
clip_serial);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -531,7 +531,7 @@ _clip_and_composite_trapezoids (const cairo_pattern_t *src,
|
|||
return CAIRO_STATUS_SUCCESS;
|
||||
|
||||
status = _cairo_surface_get_extents (dst, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_traps_extract_region (traps, &trap_region);
|
||||
|
|
@ -548,7 +548,7 @@ _clip_and_composite_trapezoids (const cairo_pattern_t *src,
|
|||
|
||||
if (has_trap_region) {
|
||||
status = _cairo_clip_intersect_to_region (clip, &trap_region);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto out;
|
||||
|
||||
_cairo_region_get_extents (&trap_region, &trap_extents);
|
||||
|
|
@ -564,7 +564,7 @@ _clip_and_composite_trapezoids (const cairo_pattern_t *src,
|
|||
}
|
||||
|
||||
status = _cairo_clip_intersect_to_rectangle (clip, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto out;
|
||||
} else {
|
||||
cairo_surface_t *clip_surface = clip ? clip->surface : NULL;
|
||||
|
|
@ -579,13 +579,13 @@ _clip_and_composite_trapezoids (const cairo_pattern_t *src,
|
|||
has_clear_region = TRUE;
|
||||
status = _cairo_clip_intersect_to_region (clip, &clear_region);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto out;
|
||||
|
||||
_cairo_region_get_extents (&clear_region, &extents);
|
||||
|
||||
status = _cairo_region_subtract (&clear_region, &clear_region, &trap_region);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto out;
|
||||
|
||||
if (!_cairo_region_not_empty (&clear_region)) {
|
||||
|
|
@ -597,7 +597,7 @@ _clip_and_composite_trapezoids (const cairo_pattern_t *src,
|
|||
}
|
||||
}
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto out;
|
||||
|
||||
if (has_trap_region) {
|
||||
|
|
@ -681,14 +681,14 @@ _cairo_surface_fallback_paint (cairo_surface_t *surface,
|
|||
cairo_traps_t traps;
|
||||
|
||||
status = _cairo_surface_get_extents (surface, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (_cairo_operator_bounded_by_source (op)) {
|
||||
cairo_rectangle_int_t source_extents;
|
||||
|
||||
status = _cairo_pattern_get_extents (source, &source_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (! _cairo_rectangle_intersect (&extents, &source_extents))
|
||||
|
|
@ -696,7 +696,7 @@ _cairo_surface_fallback_paint (cairo_surface_t *surface,
|
|||
}
|
||||
|
||||
status = _cairo_clip_intersect_to_rectangle (surface->clip, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_box_from_rectangle (&box, &extents);
|
||||
|
|
@ -752,12 +752,12 @@ _cairo_surface_fallback_mask (cairo_surface_t *surface,
|
|||
cairo_rectangle_int_t extents, source_extents, mask_extents;
|
||||
|
||||
status = _cairo_surface_get_extents (surface, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (_cairo_operator_bounded_by_source (op)) {
|
||||
status = _cairo_pattern_get_extents (source, &source_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (! _cairo_rectangle_intersect (&extents, &source_extents))
|
||||
|
|
@ -766,7 +766,7 @@ _cairo_surface_fallback_mask (cairo_surface_t *surface,
|
|||
|
||||
if (_cairo_operator_bounded_by_mask (op)) {
|
||||
status = _cairo_pattern_get_extents (mask, &mask_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (! _cairo_rectangle_intersect (&extents, &mask_extents))
|
||||
|
|
@ -774,7 +774,7 @@ _cairo_surface_fallback_mask (cairo_surface_t *surface,
|
|||
}
|
||||
|
||||
status = _cairo_clip_intersect_to_rectangle (surface->clip, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _clip_and_composite (surface->clip, op,
|
||||
|
|
@ -804,13 +804,13 @@ _cairo_surface_fallback_stroke (cairo_surface_t *surface,
|
|||
cairo_rectangle_int_t extents;
|
||||
|
||||
status = _cairo_surface_get_extents (surface, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (_cairo_operator_bounded_by_source (op)) {
|
||||
cairo_rectangle_int_t source_extents;
|
||||
status = _cairo_pattern_get_extents (source, &source_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (! _cairo_rectangle_intersect (&extents, &source_extents))
|
||||
|
|
@ -818,7 +818,7 @@ _cairo_surface_fallback_stroke (cairo_surface_t *surface,
|
|||
}
|
||||
|
||||
status = _cairo_clip_intersect_to_rectangle (surface->clip, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (extents.width == 0 || extents.height == 0)
|
||||
|
|
@ -834,7 +834,7 @@ _cairo_surface_fallback_stroke (cairo_surface_t *surface,
|
|||
ctm, ctm_inverse,
|
||||
tolerance,
|
||||
&traps);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
status = _clip_and_composite_trapezoids (source,
|
||||
|
|
@ -865,14 +865,14 @@ _cairo_surface_fallback_fill (cairo_surface_t *surface,
|
|||
cairo_rectangle_int_t extents;
|
||||
|
||||
status = _cairo_surface_get_extents (surface, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (_cairo_operator_bounded_by_source (op)) {
|
||||
cairo_rectangle_int_t source_extents;
|
||||
|
||||
status = _cairo_pattern_get_extents (source, &source_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (! _cairo_rectangle_intersect (&extents, &source_extents))
|
||||
|
|
@ -880,7 +880,7 @@ _cairo_surface_fallback_fill (cairo_surface_t *surface,
|
|||
}
|
||||
|
||||
status = _cairo_clip_intersect_to_rectangle (surface->clip, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (extents.width == 0 || extents.height == 0)
|
||||
|
|
@ -895,7 +895,7 @@ _cairo_surface_fallback_fill (cairo_surface_t *surface,
|
|||
fill_rule,
|
||||
tolerance,
|
||||
&traps);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_traps_fini (&traps);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -992,7 +992,7 @@ _cairo_surface_fallback_show_glyphs (cairo_surface_t *surface,
|
|||
cairo_show_glyphs_info_t glyph_info;
|
||||
|
||||
status = _cairo_surface_get_extents (surface, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (_cairo_operator_bounded_by_mask (op)) {
|
||||
|
|
@ -1002,7 +1002,7 @@ _cairo_surface_fallback_show_glyphs (cairo_surface_t *surface,
|
|||
glyphs,
|
||||
num_glyphs,
|
||||
&glyph_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (! _cairo_rectangle_intersect (&extents, &glyph_extents))
|
||||
|
|
@ -1010,7 +1010,7 @@ _cairo_surface_fallback_show_glyphs (cairo_surface_t *surface,
|
|||
}
|
||||
|
||||
status = _cairo_clip_intersect_to_rectangle (surface->clip, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
glyph_info.font = scaled_font;
|
||||
|
|
@ -1045,7 +1045,7 @@ _cairo_surface_fallback_snapshot (cairo_surface_t *surface)
|
|||
|
||||
status = _cairo_surface_acquire_source_image (surface,
|
||||
&image, &image_extra);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_create_in_error (status);
|
||||
|
||||
snapshot = cairo_image_surface_create (image->format,
|
||||
|
|
@ -1073,7 +1073,7 @@ _cairo_surface_fallback_snapshot (cairo_surface_t *surface)
|
|||
_cairo_surface_release_source_image (surface,
|
||||
image, image_extra);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (snapshot);
|
||||
return _cairo_surface_create_in_error (status);
|
||||
}
|
||||
|
|
@ -1083,7 +1083,7 @@ _cairo_surface_fallback_snapshot (cairo_surface_t *surface)
|
|||
|
||||
for (mime_type = mime_types; *mime_type; mime_type++) {
|
||||
status = _cairo_surface_copy_mime_data (snapshot, surface, *mime_type);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (snapshot);
|
||||
return _cairo_surface_create_in_error (status);
|
||||
}
|
||||
|
|
@ -1112,7 +1112,7 @@ _cairo_surface_fallback_composite (cairo_operator_t op,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _fallback_init (&state, dst, dst_x, dst_y, width, height);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
if (status == CAIRO_INT_STATUS_NOTHING_TO_DO)
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
return status;
|
||||
|
|
@ -1173,7 +1173,7 @@ _cairo_surface_fallback_fill_rectangles (cairo_surface_t *surface,
|
|||
}
|
||||
|
||||
status = _fallback_init (&state, surface, x1, y1, x2 - x1, y2 - y1);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
if (status == CAIRO_INT_STATUS_NOTHING_TO_DO)
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
return status;
|
||||
|
|
@ -1229,7 +1229,7 @@ _cairo_surface_fallback_composite_trapezoids (cairo_operator_t op,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _fallback_init (&state, dst, dst_x, dst_y, width, height);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
if (status == CAIRO_INT_STATUS_NOTHING_TO_DO)
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
return status;
|
||||
|
|
|
|||
|
|
@ -322,7 +322,7 @@ _cairo_surface_create_similar_solid (cairo_surface_t *other,
|
|||
|
||||
_cairo_pattern_fini (&solid_pattern.base);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (surface);
|
||||
return _cairo_surface_create_in_error (status);
|
||||
}
|
||||
|
|
@ -455,7 +455,7 @@ _cairo_surface_reset (cairo_surface_t *surface)
|
|||
|
||||
if (surface->backend->reset != NULL) {
|
||||
cairo_status_t status = surface->backend->reset (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
}
|
||||
|
||||
|
|
@ -523,7 +523,7 @@ cairo_surface_finish (cairo_surface_t *surface)
|
|||
/* call finish even if in error mode */
|
||||
if (surface->backend->finish) {
|
||||
status = surface->backend->finish (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
status = _cairo_surface_set_error (surface, status);
|
||||
}
|
||||
|
||||
|
|
@ -608,7 +608,7 @@ cairo_surface_get_mime_data (cairo_surface_t *surface,
|
|||
return;
|
||||
|
||||
status = _cairo_intern_string (&mime_type, -1);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status = _cairo_surface_set_error (surface, status);
|
||||
return;
|
||||
}
|
||||
|
|
@ -672,7 +672,7 @@ cairo_surface_set_mime_data (cairo_surface_t *surface,
|
|||
return surface->status;
|
||||
|
||||
status = _cairo_intern_string (&mime_type, -1);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
|
||||
if (data != NULL) {
|
||||
|
|
@ -693,7 +693,7 @@ cairo_surface_set_mime_data (cairo_surface_t *surface,
|
|||
(cairo_user_data_key_t *) mime_type,
|
||||
mime_data,
|
||||
_cairo_mime_data_destroy);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -715,7 +715,7 @@ _cairo_surface_copy_mime_data (cairo_surface_t *dst,
|
|||
return _cairo_surface_set_error (dst, src->status);
|
||||
|
||||
status = _cairo_intern_string (&mime_type, -1);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (dst, status);
|
||||
|
||||
mime_data = _cairo_user_data_array_get_data (&src->user_data,
|
||||
|
|
@ -729,7 +729,7 @@ _cairo_surface_copy_mime_data (cairo_surface_t *dst,
|
|||
(cairo_user_data_key_t *) mime_type,
|
||||
mime_data,
|
||||
_cairo_mime_data_destroy);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_mime_data_destroy (mime_data);
|
||||
return _cairo_surface_set_error (dst, status);
|
||||
}
|
||||
|
|
@ -839,7 +839,7 @@ cairo_surface_flush (cairo_surface_t *surface)
|
|||
|
||||
if (surface->backend->flush) {
|
||||
status = surface->backend->flush (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
status = _cairo_surface_set_error (surface, status);
|
||||
}
|
||||
}
|
||||
|
|
@ -917,7 +917,7 @@ cairo_surface_mark_dirty_rectangle (cairo_surface_t *surface,
|
|||
y + surface->device_transform.y0,
|
||||
width, height);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
status = _cairo_surface_set_error (surface, status);
|
||||
}
|
||||
}
|
||||
|
|
@ -1355,7 +1355,7 @@ _cairo_surface_clone_similar (cairo_surface_t *surface,
|
|||
clone_out);
|
||||
|
||||
/* We should never get UNSUPPORTED here, so if we have an error, bail. */
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* Update the clone's device_transform (which the underlying surface
|
||||
|
|
@ -1562,7 +1562,7 @@ _cairo_surface_fill_region (cairo_surface_t *surface,
|
|||
if (num_boxes > 1) {
|
||||
num_boxes = sizeof (stack_rects) / sizeof (cairo_box_int_t);
|
||||
status = _cairo_region_get_boxes (region, &num_boxes, &boxes);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (num_boxes > ARRAY_LENGTH (stack_rects)) {
|
||||
|
|
@ -1661,7 +1661,7 @@ _cairo_surface_paint (cairo_surface_t *surface,
|
|||
status = _cairo_surface_copy_pattern_for_destination (&source,
|
||||
surface,
|
||||
&dev_source.base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
|
||||
if (surface->backend->paint) {
|
||||
|
|
@ -1698,13 +1698,13 @@ _cairo_surface_mask (cairo_surface_t *surface,
|
|||
status = _cairo_surface_copy_pattern_for_destination (&source,
|
||||
surface,
|
||||
&dev_source.base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FINISH;
|
||||
|
||||
status = _cairo_surface_copy_pattern_for_destination (&mask,
|
||||
surface,
|
||||
&dev_mask.base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_SOURCE;
|
||||
|
||||
if (surface->backend->mask) {
|
||||
|
|
@ -1757,13 +1757,13 @@ _cairo_surface_fill_stroke (cairo_surface_t *surface,
|
|||
status = _cairo_surface_copy_pattern_for_destination (&stroke_source,
|
||||
surface,
|
||||
&dev_stroke_source.base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
|
||||
status = _cairo_surface_copy_pattern_for_destination (&fill_source,
|
||||
surface,
|
||||
&dev_fill_source.base);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
if (stroke_source == &dev_stroke_source.base)
|
||||
_cairo_pattern_fini (&dev_stroke_source.base);
|
||||
|
||||
|
|
@ -1792,13 +1792,13 @@ _cairo_surface_fill_stroke (cairo_surface_t *surface,
|
|||
|
||||
status = _cairo_surface_fill (surface, fill_op, fill_source, path,
|
||||
fill_rule, fill_tolerance, fill_antialias, NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
|
||||
status = _cairo_surface_stroke (surface, stroke_op, stroke_source, path,
|
||||
stroke_style, stroke_ctm, stroke_ctm_inverse,
|
||||
stroke_tolerance, stroke_antialias, NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -1831,7 +1831,7 @@ _cairo_surface_stroke (cairo_surface_t *surface,
|
|||
status = _cairo_surface_copy_pattern_for_destination (&source,
|
||||
surface,
|
||||
&dev_source.base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
|
||||
if (surface->backend->stroke) {
|
||||
|
|
@ -1880,7 +1880,7 @@ _cairo_surface_fill (cairo_surface_t *surface,
|
|||
status = _cairo_surface_copy_pattern_for_destination (&source,
|
||||
surface,
|
||||
&dev_source.base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
|
||||
if (surface->backend->fill) {
|
||||
|
|
@ -2097,13 +2097,13 @@ _cairo_surface_reset_clip (cairo_surface_t *surface)
|
|||
CAIRO_FILL_RULE_WINDING,
|
||||
0,
|
||||
CAIRO_ANTIALIAS_DEFAULT);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
}
|
||||
|
||||
if (surface->backend->set_clip_region != NULL) {
|
||||
status = surface->backend->set_clip_region (surface, NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
}
|
||||
|
||||
|
|
@ -2181,7 +2181,7 @@ _cairo_surface_set_clip_path_recursive (cairo_surface_t *surface,
|
|||
return CAIRO_STATUS_SUCCESS;
|
||||
|
||||
status = _cairo_surface_set_clip_path_recursive (surface, clip_path->prev);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return _cairo_surface_intersect_clip_path (surface,
|
||||
|
|
@ -2220,11 +2220,11 @@ _cairo_surface_set_clip_path (cairo_surface_t *surface,
|
|||
CAIRO_FILL_RULE_WINDING,
|
||||
0,
|
||||
CAIRO_ANTIALIAS_DEFAULT);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
|
||||
status = _cairo_surface_set_clip_path_recursive (surface, clip_path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
|
||||
surface->current_clip_serial = serial;
|
||||
|
|
@ -2458,7 +2458,7 @@ _cairo_surface_show_text_glyphs (cairo_surface_t *surface,
|
|||
status = _cairo_surface_copy_pattern_for_destination (&source,
|
||||
surface,
|
||||
&dev_source.base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_set_error (surface, status);
|
||||
|
||||
if (_cairo_surface_has_device_transform (surface) &&
|
||||
|
|
@ -2477,7 +2477,7 @@ _cairo_surface_show_text_glyphs (cairo_surface_t *surface,
|
|||
&font_options);
|
||||
}
|
||||
status = cairo_scaled_font_status (dev_scaled_font);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
if (source == &dev_source.base)
|
||||
_cairo_pattern_fini (&dev_source.base);
|
||||
|
||||
|
|
@ -2644,7 +2644,7 @@ _cairo_surface_composite_fixup_unbounded_internal (cairo_surface_t *dst,
|
|||
status = _cairo_region_subtract (&clear_region,
|
||||
&clear_region,
|
||||
&drawn_region);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_REGIONS;
|
||||
|
||||
EMPTY:
|
||||
|
|
@ -2833,7 +2833,7 @@ _cairo_surface_copy_pattern_for_destination (const cairo_pattern_t **pattern,
|
|||
return CAIRO_STATUS_SUCCESS;
|
||||
|
||||
status = _cairo_pattern_init_copy (pattern_copy, *pattern);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_pattern_transform (pattern_copy,
|
||||
|
|
|
|||
|
|
@ -285,7 +285,7 @@ cairo_svg_surface_restrict_to_version (cairo_surface_t *abstract_surface,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _extract_svg_surface (abstract_surface, &surface);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status = _cairo_surface_set_error (abstract_surface, status);
|
||||
return;
|
||||
}
|
||||
|
|
@ -366,7 +366,7 @@ _cairo_svg_surface_create_for_document (cairo_svg_document_t *document,
|
|||
|
||||
surface->xml_node = _cairo_memory_stream_create ();
|
||||
status = _cairo_output_stream_get_status (surface->xml_node);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP;
|
||||
|
||||
_cairo_array_init (&surface->page_set, sizeof (cairo_svg_page_t));
|
||||
|
|
@ -378,7 +378,7 @@ _cairo_svg_surface_create_for_document (cairo_svg_document_t *document,
|
|||
"fill:rgb(0,0,0);\"/>\n",
|
||||
width, height);
|
||||
status = _cairo_output_stream_get_status (surface->xml_node);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP;
|
||||
}
|
||||
|
||||
|
|
@ -421,7 +421,7 @@ _cairo_svg_surface_create_for_stream_internal (cairo_output_stream_t *stream,
|
|||
status = _cairo_svg_document_create (stream,
|
||||
width, height, version,
|
||||
&document);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
surface = _cairo_surface_create_in_error (status);
|
||||
/* consume the output stream on behalf of caller */
|
||||
status = _cairo_output_stream_destroy (stream);
|
||||
|
|
@ -614,7 +614,7 @@ _cairo_svg_surface_emit_path (cairo_output_stream_t *output,
|
|||
_cairo_svg_path_curve_to,
|
||||
_cairo_svg_path_close_path,
|
||||
&info);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (output, "\"");
|
||||
|
|
@ -635,14 +635,14 @@ _cairo_svg_document_emit_outline_glyph_data (cairo_svg_document_t *document,
|
|||
CAIRO_SCALED_GLYPH_INFO_METRICS|
|
||||
CAIRO_SCALED_GLYPH_INFO_PATH,
|
||||
&scaled_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (document->xml_node_glyphs,
|
||||
"<path style=\"stroke:none;\" ");
|
||||
|
||||
status = _cairo_svg_surface_emit_path (document->xml_node_glyphs, scaled_glyph->path, NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (document->xml_node_glyphs,
|
||||
|
|
@ -668,7 +668,7 @@ _cairo_svg_document_emit_bitmap_glyph_data (cairo_svg_document_t *document,
|
|||
CAIRO_SCALED_GLYPH_INFO_METRICS|
|
||||
CAIRO_SCALED_GLYPH_INFO_SURFACE,
|
||||
&scaled_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
image = scaled_glyph->surface;
|
||||
|
|
@ -724,7 +724,7 @@ _cairo_svg_document_emit_glyph (cairo_svg_document_t *document,
|
|||
status = _cairo_svg_document_emit_bitmap_glyph_data (document,
|
||||
scaled_font,
|
||||
scaled_font_glyph_index);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (document->xml_node_glyphs, "</symbol>\n");
|
||||
|
|
@ -746,7 +746,7 @@ _cairo_svg_document_emit_font_subset (cairo_scaled_font_subset_t *font_subset,
|
|||
font_subset->scaled_font,
|
||||
font_subset->glyphs[i],
|
||||
font_subset->font_id, i);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
break;
|
||||
}
|
||||
_cairo_scaled_font_thaw_cache (font_subset->scaled_font);
|
||||
|
|
@ -762,7 +762,7 @@ _cairo_svg_document_emit_font_subsets (cairo_svg_document_t *document)
|
|||
status = _cairo_scaled_font_subsets_foreach_scaled (document->font_subsets,
|
||||
_cairo_svg_document_emit_font_subset,
|
||||
document);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
status = _cairo_scaled_font_subsets_foreach_user (document->font_subsets,
|
||||
|
|
@ -992,7 +992,7 @@ _cairo_surface_base64_encode_jpeg (cairo_surface_t *surface,
|
|||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
|
||||
status = _cairo_image_info_get_jpeg_info (&image_info, mime_data, mime_data_length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (output, "data:image/jpeg;base64,");
|
||||
|
|
@ -1002,7 +1002,7 @@ _cairo_surface_base64_encode_jpeg (cairo_surface_t *surface,
|
|||
info.trailing = 0;
|
||||
|
||||
status = base64_write_func (&info, mime_data, mime_data_length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (info.in_mem > 0) {
|
||||
|
|
@ -1036,7 +1036,7 @@ _cairo_surface_base64_encode_png (cairo_surface_t *surface,
|
|||
info.trailing = 0;
|
||||
|
||||
status = base64_write_func (&info, mime_data, mime_data_length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (info.in_mem > 0) {
|
||||
|
|
@ -1073,7 +1073,7 @@ _cairo_surface_base64_encode (cairo_surface_t *surface,
|
|||
status = cairo_surface_write_to_png_stream (surface, base64_write_func,
|
||||
(void *) &info);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (info.in_mem > 0) {
|
||||
|
|
@ -1126,7 +1126,7 @@ _cairo_svg_surface_emit_composite_image_pattern (cairo_output_stream_t *output
|
|||
cairo_matrix_t p2u;
|
||||
|
||||
status = _cairo_surface_get_extents (pattern->surface, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
p2u = pattern->base.matrix;
|
||||
|
|
@ -1214,7 +1214,7 @@ _cairo_svg_surface_emit_meta_surface (cairo_svg_document_t *document,
|
|||
document->owner->y_fallback_resolution);
|
||||
|
||||
status = _cairo_meta_surface_replay (&meta->base, paginated_surface);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (&meta->base);
|
||||
cairo_surface_destroy (paginated_surface);
|
||||
return status;
|
||||
|
|
@ -1222,7 +1222,7 @@ _cairo_svg_surface_emit_meta_surface (cairo_svg_document_t *document,
|
|||
|
||||
cairo_surface_show_page (paginated_surface);
|
||||
status = cairo_surface_status (paginated_surface);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (&meta->base);
|
||||
cairo_surface_destroy (paginated_surface);
|
||||
return status;
|
||||
|
|
@ -1231,7 +1231,7 @@ _cairo_svg_surface_emit_meta_surface (cairo_svg_document_t *document,
|
|||
new_snapshot.meta = meta;
|
||||
new_snapshot.id = svg_surface->id;
|
||||
status = _cairo_array_append (&document->meta_snapshots, &new_snapshot);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (&meta->base);
|
||||
cairo_surface_destroy (paginated_surface);
|
||||
return status;
|
||||
|
|
@ -1321,7 +1321,7 @@ _cairo_svg_surface_emit_composite_meta_pattern (cairo_output_stream_t *output,
|
|||
meta_surface = (cairo_meta_surface_t *) pattern->surface;
|
||||
|
||||
status = _cairo_svg_surface_emit_meta_surface (document, meta_surface, &id);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (pattern_id != invalid_pattern_id) {
|
||||
|
|
@ -1407,7 +1407,7 @@ _cairo_svg_surface_emit_surface_pattern (cairo_svg_surface_t *surface,
|
|||
status = _cairo_svg_surface_emit_composite_pattern (document->xml_node_defs,
|
||||
surface, CAIRO_OPERATOR_SOURCE, pattern,
|
||||
pattern_id, parent_matrix, NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (style,
|
||||
|
|
@ -1634,7 +1634,7 @@ _cairo_svg_surface_emit_linear_pattern (cairo_svg_surface_t *surface,
|
|||
status = _cairo_svg_surface_emit_pattern_stops (document->xml_node_defs,
|
||||
&pattern->base, 0.0,
|
||||
FALSE, FALSE);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (document->xml_node_defs,
|
||||
|
|
@ -1812,7 +1812,7 @@ _cairo_svg_surface_emit_radial_pattern (cairo_svg_surface_t *surface,
|
|||
&pattern->base, offset,
|
||||
reverse_stops,
|
||||
emulate_reflect);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (pattern->base.base.extend == CAIRO_EXTEND_NONE)
|
||||
|
|
@ -1927,7 +1927,7 @@ _cairo_svg_surface_emit_stroke_style (cairo_output_stream_t *output,
|
|||
line_join);
|
||||
|
||||
status = _cairo_svg_surface_emit_pattern (surface, source, output, TRUE, parent_matrix);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_svg_surface_emit_operator_for_style (output, surface, op);
|
||||
|
|
@ -1979,18 +1979,18 @@ _cairo_svg_surface_fill_stroke (void *abstract_surface,
|
|||
_cairo_output_stream_printf (surface->xml_node, "<path style=\"");
|
||||
status = _cairo_svg_surface_emit_fill_style (surface->xml_node, surface, fill_op,
|
||||
fill_source, fill_rule, stroke_ctm_inverse);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_svg_surface_emit_stroke_style (surface->xml_node, surface, stroke_op,
|
||||
stroke_source, stroke_style, stroke_ctm_inverse);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->xml_node, "\" ");
|
||||
|
||||
status = _cairo_svg_surface_emit_path (surface->xml_node, path, stroke_ctm_inverse);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_svg_surface_emit_transform (surface->xml_node, " transform", stroke_ctm, NULL);
|
||||
|
|
@ -2019,13 +2019,13 @@ _cairo_svg_surface_fill (void *abstract_surface,
|
|||
|
||||
_cairo_output_stream_printf (surface->xml_node, "<path style=\" stroke:none;");
|
||||
status = _cairo_svg_surface_emit_fill_style (surface->xml_node, surface, op, source, fill_rule, NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->xml_node, "\" ");
|
||||
|
||||
status = _cairo_svg_surface_emit_path (surface->xml_node, path, NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->xml_node, "/>\n");
|
||||
|
|
@ -2079,7 +2079,7 @@ _cairo_svg_surface_emit_paint (cairo_output_stream_t *output,
|
|||
surface->width, surface->height);
|
||||
_cairo_svg_surface_emit_operator_for_style (output, surface, op);
|
||||
status = _cairo_svg_surface_emit_pattern (surface, source, output, FALSE, NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (output, "stroke:none;\"");
|
||||
|
|
@ -2116,7 +2116,7 @@ _cairo_svg_surface_paint (void *abstract_surface,
|
|||
* and an optimization in meta surface. */
|
||||
if (surface->clip_level == 0 && op == CAIRO_OPERATOR_CLEAR) {
|
||||
status = _cairo_output_stream_destroy (surface->xml_node);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
surface->xml_node = NULL;
|
||||
return status;
|
||||
}
|
||||
|
|
@ -2204,7 +2204,7 @@ _cairo_svg_surface_mask (void *abstract_surface,
|
|||
mask_id,
|
||||
discard_filter ? "" : " <g filter=\"url(#alpha)\">\n");
|
||||
status = _cairo_svg_surface_emit_paint (mask_stream, surface, CAIRO_OPERATOR_OVER, mask, source, NULL);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_status_t ignore = _cairo_output_stream_destroy (mask_stream);
|
||||
return status;
|
||||
(void) ignore;
|
||||
|
|
@ -2217,13 +2217,13 @@ _cairo_svg_surface_mask (void *abstract_surface,
|
|||
_cairo_memory_stream_copy (mask_stream, document->xml_node_defs);
|
||||
|
||||
status = _cairo_output_stream_destroy (mask_stream);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
snprintf (buffer, sizeof buffer, "mask=\"url(#mask%d)\"",
|
||||
mask_id);
|
||||
status = _cairo_svg_surface_emit_paint (surface->xml_node, surface, op, source, 0, buffer);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -2252,13 +2252,13 @@ _cairo_svg_surface_stroke (void *abstract_dst,
|
|||
_cairo_output_stream_printf (surface->xml_node, "<path style=\"fill:none;");
|
||||
status = _cairo_svg_surface_emit_stroke_style (surface->xml_node, surface, op,
|
||||
source, stroke_style, ctm_inverse);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->xml_node, "\" ");
|
||||
|
||||
status = _cairo_svg_surface_emit_path (surface->xml_node, path, ctm_inverse);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_svg_surface_emit_transform (surface->xml_node, " transform", ctm, NULL);
|
||||
|
|
@ -2301,7 +2301,7 @@ _cairo_svg_surface_show_glyphs (void *abstract_surface,
|
|||
_cairo_output_stream_printf (surface->xml_node, "<g style=\"");
|
||||
status = _cairo_svg_surface_emit_pattern (surface, pattern,
|
||||
surface->xml_node, FALSE, NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_svg_surface_emit_operator_for_style (surface->xml_node, surface, op);
|
||||
|
|
@ -2321,7 +2321,7 @@ _cairo_svg_surface_show_glyphs (void *abstract_surface,
|
|||
goto FALLBACK;
|
||||
}
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (surface->xml_node,
|
||||
|
|
@ -2341,7 +2341,7 @@ FALLBACK:
|
|||
|
||||
status = _cairo_scaled_font_glyph_path (scaled_font,(cairo_glyph_t *) glyphs, num_glyphs, &path);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_path_fixed_fini (&path);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -2379,7 +2379,7 @@ _cairo_svg_surface_intersect_clip_path (void *dst,
|
|||
" <path ",
|
||||
document->clip_id);
|
||||
status = _cairo_svg_surface_emit_path (document->xml_node_defs, path, NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_printf (document->xml_node_defs,
|
||||
|
|
@ -2485,12 +2485,12 @@ _cairo_svg_document_create (cairo_output_stream_t *output_stream,
|
|||
|
||||
document->xml_node_defs = _cairo_memory_stream_create ();
|
||||
status = _cairo_output_stream_get_status (document->xml_node_defs);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_NODE_DEFS;
|
||||
|
||||
document->xml_node_glyphs = _cairo_memory_stream_create ();
|
||||
status = _cairo_output_stream_get_status (document->xml_node_glyphs);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto CLEANUP_NODE_GLYPHS;
|
||||
|
||||
document->alpha_filter = FALSE;
|
||||
|
|
|
|||
|
|
@ -666,7 +666,7 @@ _cairo_traps_extract_region (const cairo_traps_t *traps,
|
|||
if (boxes != stack_boxes)
|
||||
free (boxes);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_region_fini (region);
|
||||
|
||||
return status;
|
||||
|
|
@ -705,15 +705,15 @@ _cairo_traps_path (const cairo_traps_t *traps,
|
|||
_sanitize_trap (&trap);
|
||||
|
||||
status = _cairo_path_fixed_move_to (path, trap.left.p1.x, trap.top);
|
||||
if (status) return status;
|
||||
if (unlikely (status)) return status;
|
||||
status = _cairo_path_fixed_line_to (path, trap.right.p1.x, trap.top);
|
||||
if (status) return status;
|
||||
if (unlikely (status)) return status;
|
||||
status = _cairo_path_fixed_line_to (path, trap.right.p2.x, trap.bottom);
|
||||
if (status) return status;
|
||||
if (unlikely (status)) return status;
|
||||
status = _cairo_path_fixed_line_to (path, trap.left.p2.x, trap.bottom);
|
||||
if (status) return status;
|
||||
if (unlikely (status)) return status;
|
||||
status = _cairo_path_fixed_close_path (path);
|
||||
if (status) return status;
|
||||
if (unlikely (status)) return status;
|
||||
}
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
|
|||
|
|
@ -146,7 +146,7 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset,
|
|||
TT_TAG_head, 0,
|
||||
(unsigned char *) &head,
|
||||
&size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
size = sizeof (tt_maxp_t);
|
||||
|
|
@ -154,7 +154,7 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset,
|
|||
TT_TAG_maxp, 0,
|
||||
(unsigned char *) &maxp,
|
||||
&size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
size = sizeof (tt_hhea_t);
|
||||
|
|
@ -162,7 +162,7 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset,
|
|||
TT_TAG_hhea, 0,
|
||||
(unsigned char *) &hhea,
|
||||
&size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
size = 0;
|
||||
|
|
@ -170,7 +170,7 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset,
|
|||
TT_TAG_name, 0,
|
||||
NULL,
|
||||
&size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
name = malloc(size);
|
||||
|
|
@ -181,7 +181,7 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset,
|
|||
TT_TAG_name, 0,
|
||||
(unsigned char *) name,
|
||||
&size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail0;
|
||||
|
||||
font = malloc (sizeof (cairo_truetype_font_t));
|
||||
|
|
@ -198,7 +198,7 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset,
|
|||
font->last_boundary = 0;
|
||||
_cairo_array_init (&font->output, sizeof (char));
|
||||
status = _cairo_array_grow_by (&font->output, 4096);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail1;
|
||||
|
||||
font->glyphs = calloc (font->num_glyphs_in_face + 1, sizeof (subset_glyph_t));
|
||||
|
|
@ -277,7 +277,7 @@ _cairo_truetype_font_create (cairo_scaled_font_subset_t *scaled_font_subset,
|
|||
|
||||
_cairo_array_init (&font->string_offsets, sizeof (unsigned long));
|
||||
status = _cairo_array_grow_by (&font->string_offsets, 10);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail5;
|
||||
|
||||
font->status = CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -328,7 +328,7 @@ cairo_truetype_font_allocate_write_buffer (cairo_truetype_font_t *font,
|
|||
return font->status;
|
||||
|
||||
status = _cairo_array_allocate (&font->output, length, (void **) buffer);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -345,7 +345,7 @@ cairo_truetype_font_write (cairo_truetype_font_t *font,
|
|||
return;
|
||||
|
||||
status = _cairo_array_append_multiple (&font->output, data, length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
status = _cairo_truetype_font_set_error (font, status);
|
||||
}
|
||||
|
||||
|
|
@ -391,7 +391,7 @@ cairo_truetype_font_align_output (cairo_truetype_font_t *font,
|
|||
|
||||
status = cairo_truetype_font_allocate_write_buffer (font, pad,
|
||||
&padding);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
memset (padding, 0, pad);
|
||||
|
|
@ -413,7 +413,7 @@ cairo_truetype_font_check_boundary (cairo_truetype_font_t *font,
|
|||
{
|
||||
status = _cairo_array_append (&font->string_offsets,
|
||||
&font->last_boundary);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
font->last_offset = font->last_boundary;
|
||||
|
|
@ -486,16 +486,16 @@ cairo_truetype_font_write_generic_table (cairo_truetype_font_t *font,
|
|||
size = 0;
|
||||
status = font->backend->load_truetype_table(font->scaled_font_subset->scaled_font,
|
||||
tag, 0, NULL, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
status = cairo_truetype_font_allocate_write_buffer (font, size, &buffer);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font,
|
||||
tag, 0, buffer, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -533,7 +533,7 @@ cairo_truetype_font_remap_composite_glyph (cairo_truetype_font_t *font,
|
|||
flags = be16_to_cpu (composite_glyph->flags);
|
||||
has_more_components = flags & TT_MORE_COMPONENTS;
|
||||
status = cairo_truetype_font_use_glyph (font, be16_to_cpu (composite_glyph->index), &index);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
composite_glyph->index = cpu_to_be16 (index);
|
||||
|
|
@ -575,7 +575,7 @@ cairo_truetype_font_write_glyf_table (cairo_truetype_font_t *font,
|
|||
status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font,
|
||||
TT_TAG_head, 0,
|
||||
(unsigned char*) &header, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
if (be16_to_cpu (header.index_to_loc_format) == 0)
|
||||
|
|
@ -589,7 +589,7 @@ cairo_truetype_font_write_glyf_table (cairo_truetype_font_t *font,
|
|||
|
||||
status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font,
|
||||
TT_TAG_loca, 0, u.bytes, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
start_offset = _cairo_array_num_elements (&font->output);
|
||||
|
|
@ -612,33 +612,33 @@ cairo_truetype_font_write_glyf_table (cairo_truetype_font_t *font,
|
|||
|
||||
size = end - begin;
|
||||
status = cairo_truetype_font_align_output (font, &next);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
status = cairo_truetype_font_check_boundary (font, next);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
font->glyphs[i].location = next - start_offset;
|
||||
|
||||
status = cairo_truetype_font_allocate_write_buffer (font, size, &buffer);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
if (size != 0) {
|
||||
status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font,
|
||||
TT_TAG_glyf, begin, buffer, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
status = cairo_truetype_font_remap_composite_glyph (font, buffer, size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
}
|
||||
}
|
||||
|
||||
status = cairo_truetype_font_align_output (font, &next);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
font->glyphs[i].location = next - start_offset;
|
||||
|
|
@ -664,17 +664,17 @@ cairo_truetype_font_write_head_table (cairo_truetype_font_t *font,
|
|||
size = 0;
|
||||
status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font,
|
||||
tag, 0, NULL, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
font->checksum_index = _cairo_array_num_elements (&font->output) + 8;
|
||||
status = cairo_truetype_font_allocate_write_buffer (font, size, &buffer);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font,
|
||||
tag, 0, buffer, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
/* set checkSumAdjustment to 0 for table checksum calcualtion */
|
||||
|
|
@ -695,12 +695,12 @@ cairo_truetype_font_write_hhea_table (cairo_truetype_font_t *font, unsigned long
|
|||
|
||||
size = sizeof (tt_hhea_t);
|
||||
status = cairo_truetype_font_allocate_write_buffer (font, size, (unsigned char **) &hhea);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font,
|
||||
tag, 0, (unsigned char *) hhea, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
hhea->num_hmetrics = cpu_to_be16 ((uint16_t)(font->base.num_glyphs));
|
||||
|
|
@ -728,7 +728,7 @@ cairo_truetype_font_write_hmtx_table (cairo_truetype_font_t *font,
|
|||
status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font,
|
||||
TT_TAG_hhea, 0,
|
||||
(unsigned char*) &hhea, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
num_hmetrics = be16_to_cpu(hhea.num_hmetrics);
|
||||
|
|
@ -739,7 +739,7 @@ cairo_truetype_font_write_hmtx_table (cairo_truetype_font_t *font,
|
|||
status = cairo_truetype_font_allocate_write_buffer (font,
|
||||
long_entry_size,
|
||||
(unsigned char **) &p);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
if (font->glyphs[i].parent_index < num_hmetrics) {
|
||||
|
|
@ -747,7 +747,7 @@ cairo_truetype_font_write_hmtx_table (cairo_truetype_font_t *font,
|
|||
TT_TAG_hmtx,
|
||||
font->glyphs[i].parent_index * long_entry_size,
|
||||
(unsigned char *) p, &long_entry_size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
}
|
||||
else
|
||||
|
|
@ -756,7 +756,7 @@ cairo_truetype_font_write_hmtx_table (cairo_truetype_font_t *font,
|
|||
TT_TAG_hmtx,
|
||||
(num_hmetrics - 1) * long_entry_size,
|
||||
(unsigned char *) p, &short_entry_size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font,
|
||||
|
|
@ -764,7 +764,7 @@ cairo_truetype_font_write_hmtx_table (cairo_truetype_font_t *font,
|
|||
num_hmetrics * long_entry_size +
|
||||
(font->glyphs[i].parent_index - num_hmetrics) * short_entry_size,
|
||||
(unsigned char *) (p + 1), &short_entry_size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
}
|
||||
font->base.widths[i] = be16_to_cpu (p[0]);
|
||||
|
|
@ -789,7 +789,7 @@ cairo_truetype_font_write_loca_table (cairo_truetype_font_t *font,
|
|||
status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font,
|
||||
TT_TAG_head, 0,
|
||||
(unsigned char*) &header, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
if (be16_to_cpu (header.index_to_loc_format) == 0)
|
||||
|
|
@ -817,12 +817,12 @@ cairo_truetype_font_write_maxp_table (cairo_truetype_font_t *font,
|
|||
|
||||
size = sizeof (tt_maxp_t);
|
||||
status = cairo_truetype_font_allocate_write_buffer (font, size, (unsigned char **) &maxp);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
status = font->backend->load_truetype_table (font->scaled_font_subset->scaled_font,
|
||||
tag, 0, (unsigned char *) maxp, &size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
maxp->num_glyphs = cpu_to_be16 (font->base.num_glyphs);
|
||||
|
|
@ -862,7 +862,7 @@ cairo_truetype_font_write_offset_table (cairo_truetype_font_t *font)
|
|||
table_buffer_length = font->num_tables * 16;
|
||||
status = cairo_truetype_font_allocate_write_buffer (font, table_buffer_length,
|
||||
&table_buffer);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_truetype_font_set_error (font, status);
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -920,28 +920,28 @@ cairo_truetype_font_generate (cairo_truetype_font_t *font,
|
|||
return font->status;
|
||||
|
||||
status = cairo_truetype_font_write_offset_table (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
status = cairo_truetype_font_align_output (font, &start);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
end = 0;
|
||||
for (i = 0; i < font->num_tables; i++) {
|
||||
status = font->truetype_tables[i].write (font, font->truetype_tables[i].tag);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
end = _cairo_array_num_elements (&font->output);
|
||||
status = cairo_truetype_font_align_output (font, &next);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
cairo_truetype_font_update_entry (font, font->truetype_tables[i].pos,
|
||||
font->truetype_tables[i].tag, start, end);
|
||||
status = cairo_truetype_font_check_boundary (font, next);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto FAIL;
|
||||
|
||||
start = next;
|
||||
|
|
@ -1081,20 +1081,20 @@ _cairo_truetype_subset_init (cairo_truetype_subset_t *truetype_subset,
|
|||
unsigned long num_strings = 0;
|
||||
|
||||
status = _cairo_truetype_font_create (font_subset, &font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
for (i = 0; i < font->scaled_font_subset->num_glyphs; i++) {
|
||||
unsigned short parent_glyph = font->scaled_font_subset->glyphs[i];
|
||||
status = cairo_truetype_font_use_glyph (font, parent_glyph, &parent_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail1;
|
||||
}
|
||||
|
||||
cairo_truetype_font_create_truetype_table_list (font);
|
||||
status = cairo_truetype_font_generate (font, &data, &length,
|
||||
&string_offsets, &num_strings);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail1;
|
||||
|
||||
truetype_subset->base_font = strdup (font->base.base_font);
|
||||
|
|
@ -1199,7 +1199,7 @@ _cairo_truetype_reverse_cmap (cairo_scaled_font_t *scaled_font,
|
|||
TT_TAG_cmap, table_offset,
|
||||
(unsigned char *) &buf,
|
||||
&size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* All table formats have the same first two words */
|
||||
|
|
@ -1216,7 +1216,7 @@ _cairo_truetype_reverse_cmap (cairo_scaled_font_t *scaled_font,
|
|||
TT_TAG_cmap, table_offset,
|
||||
(unsigned char *) map,
|
||||
&size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
num_segments = be16_to_cpu (map->segCountX2)/2;
|
||||
|
|
@ -1299,7 +1299,7 @@ _cairo_truetype_index_to_ucs4 (cairo_scaled_font_t *scaled_font,
|
|||
TT_TAG_cmap, 0,
|
||||
(unsigned char *) &buf,
|
||||
&size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
cmap = (tt_cmap_t *) buf;
|
||||
|
|
@ -1313,7 +1313,7 @@ _cairo_truetype_index_to_ucs4 (cairo_scaled_font_t *scaled_font,
|
|||
TT_TAG_cmap, 0,
|
||||
(unsigned char *) cmap,
|
||||
&size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto cleanup;
|
||||
|
||||
/* Find a table with Unicode mapping */
|
||||
|
|
|
|||
|
|
@ -112,7 +112,7 @@ cairo_type1_font_create (cairo_scaled_font_subset_t *scaled_font_subset,
|
|||
&ctm,
|
||||
&font_options);
|
||||
status = font->type1_scaled_font->status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
_cairo_array_init (&font->contents, sizeof (unsigned char));
|
||||
|
|
@ -227,7 +227,7 @@ _charstring_move_to (void *closure,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_array_grow_by (path_info->data, 12);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
dx = _cairo_fixed_integer_part (point->x) - path_info->current_x;
|
||||
|
|
@ -251,7 +251,7 @@ _charstring_line_to (void *closure,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_array_grow_by (path_info->data, 12);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
dx = _cairo_fixed_integer_part (point->x) - path_info->current_x;
|
||||
|
|
@ -277,7 +277,7 @@ _charstring_curve_to (void *closure,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_array_grow_by (path_info->data, 32);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
dx1 = _cairo_fixed_integer_part (point1->x) - path_info->current_x;
|
||||
|
|
@ -309,7 +309,7 @@ _charstring_close_path (void *closure)
|
|||
return CAIRO_STATUS_SUCCESS;
|
||||
|
||||
status = _cairo_array_grow_by (path_info->data, 2);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
charstring_encode_command (path_info->data, CHARSTRING_closepath);
|
||||
|
|
@ -363,7 +363,7 @@ cairo_type1_font_create_charstring (cairo_type1_font_t *font,
|
|||
CAIRO_SCALED_GLYPH_INFO_METRICS,
|
||||
&scaled_glyph);
|
||||
}
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
metrics = &scaled_glyph->metrics;
|
||||
|
|
@ -385,7 +385,7 @@ cairo_type1_font_create_charstring (cairo_type1_font_t *font,
|
|||
font->widths[subset_index] = metrics->x_advance;
|
||||
|
||||
status = _cairo_array_grow_by (data, 30);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (type == CAIRO_CHARSTRING_TYPE1) {
|
||||
|
|
@ -413,12 +413,12 @@ cairo_type1_font_create_charstring (cairo_type1_font_t *font,
|
|||
_charstring_curve_to,
|
||||
_charstring_close_path,
|
||||
&path_info);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
status = _cairo_array_grow_by (data, 1);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
charstring_encode_command (path_info.data, CHARSTRING_endchar);
|
||||
|
||||
|
|
@ -437,7 +437,7 @@ cairo_type1_font_write_charstrings (cairo_type1_font_t *font,
|
|||
|
||||
_cairo_array_init (&data, sizeof (unsigned char));
|
||||
status = _cairo_array_grow_by (&data, 1024);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
_cairo_output_stream_printf (encrypted_output,
|
||||
|
|
@ -449,14 +449,14 @@ cairo_type1_font_write_charstrings (cairo_type1_font_t *font,
|
|||
_cairo_array_truncate (&data, 0);
|
||||
/* four "random" bytes required by encryption algorithm */
|
||||
status = _cairo_array_append_multiple (&data, zeros, 4);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
status = cairo_type1_font_create_charstring (font, i,
|
||||
font->scaled_font_subset->glyphs[i],
|
||||
CAIRO_CHARSTRING_TYPE1,
|
||||
&data);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
charstring_encrypt (&data);
|
||||
|
|
@ -599,7 +599,7 @@ cairo_type1_font_write_private_dict (cairo_type1_font_t *font,
|
|||
"/password 5839 def\n");
|
||||
|
||||
status = cairo_type1_font_write_charstrings (font, encrypted_output);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
_cairo_output_stream_printf (encrypted_output,
|
||||
|
|
@ -651,7 +651,7 @@ cairo_type1_font_write (cairo_type1_font_t *font,
|
|||
font->header_size = _cairo_output_stream_get_position (font->output);
|
||||
|
||||
status = cairo_type1_font_write_private_dict (font, name);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
font->data_size = _cairo_output_stream_get_position (font->output) -
|
||||
|
|
@ -671,7 +671,7 @@ cairo_type1_font_generate (cairo_type1_font_t *font, const char *name)
|
|||
cairo_int_status_t status;
|
||||
|
||||
status = _cairo_array_grow_by (&font->contents, 4096);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
font->output = _cairo_output_stream_create (cairo_type1_write_stream, NULL, font);
|
||||
|
|
@ -679,7 +679,7 @@ cairo_type1_font_generate (cairo_type1_font_t *font, const char *name)
|
|||
return _cairo_output_stream_destroy (font->output);
|
||||
|
||||
status = cairo_type1_font_write (font, name);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
font->data = _cairo_array_index (&font->contents, 0);
|
||||
|
|
@ -714,11 +714,11 @@ _cairo_type1_fallback_init_internal (cairo_type1_subset_t *type1_subset,
|
|||
unsigned int i, len;
|
||||
|
||||
status = cairo_type1_font_create (scaled_font_subset, &font, hex_encode);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cairo_type1_font_generate (font, name);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail1;
|
||||
|
||||
type1_subset->base_font = strdup (name);
|
||||
|
|
@ -816,7 +816,7 @@ _cairo_type2_charstrings_init (cairo_type2_charstrings_t *type2_subset,
|
|||
cairo_array_t charstring;
|
||||
|
||||
status = cairo_type1_font_create (scaled_font_subset, &font, FALSE);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_array_init (&type2_subset->charstrings, sizeof (cairo_array_t));
|
||||
|
|
@ -831,18 +831,18 @@ _cairo_type2_charstrings_init (cairo_type2_charstrings_t *type2_subset,
|
|||
for (i = 0; i < font->scaled_font_subset->num_glyphs; i++) {
|
||||
_cairo_array_init (&charstring, sizeof (unsigned char));
|
||||
status = _cairo_array_grow_by (&charstring, 32);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail2;
|
||||
|
||||
status = cairo_type1_font_create_charstring (font, i,
|
||||
font->scaled_font_subset->glyphs[i],
|
||||
CAIRO_CHARSTRING_TYPE2,
|
||||
&charstring);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail2;
|
||||
|
||||
status = _cairo_array_append (&type2_subset->charstrings, &charstring);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail2;
|
||||
}
|
||||
_cairo_scaled_font_thaw_cache (font->type1_scaled_font);
|
||||
|
|
|
|||
|
|
@ -866,11 +866,11 @@ cairo_type1_font_subset_look_for_seac(cairo_type1_font_subset_t *font,
|
|||
* make sure those glyphs are present in the subset
|
||||
* under their standard names. */
|
||||
status = use_standard_encoding_glyph (font, stack[3]);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = use_standard_encoding_glyph (font, stack[4]);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
sp = 0;
|
||||
|
|
@ -906,18 +906,18 @@ write_used_glyphs (cairo_type1_font_subset_t *font,
|
|||
"/%.*s %d %s ",
|
||||
name_length, name, charstring_length, font->rd);
|
||||
status = cairo_type1_font_subset_write_encrypted (font, buffer, length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cairo_type1_font_subset_write_encrypted (font,
|
||||
charstring,
|
||||
charstring_length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
length = snprintf (buffer, sizeof buffer, "%s\n", font->nd);
|
||||
status = cairo_type1_font_subset_write_encrypted (font, buffer, length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -983,7 +983,7 @@ cairo_type1_font_subset_for_each_glyph (cairo_type1_font_subset_t *font,
|
|||
cairo_status_t status = func (font,
|
||||
name, name_length,
|
||||
charstring, charstring_length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
}
|
||||
|
|
@ -1040,7 +1040,7 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font,
|
|||
dict_start = p;
|
||||
|
||||
status = cairo_type1_font_subset_get_glyph_names_and_widths (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* Now that we have the private dictionary broken down in
|
||||
|
|
@ -1052,7 +1052,7 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font,
|
|||
font->cleartext_end,
|
||||
cairo_type1_font_subset_look_for_seac,
|
||||
&p);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
closefile_token = find_token (p, font->cleartext_end, "closefile");
|
||||
|
|
@ -1060,13 +1060,13 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font,
|
|||
return CAIRO_INT_STATUS_UNSUPPORTED;
|
||||
|
||||
status = cairo_type1_font_subset_get_glyph_names_and_widths (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* We're ready to start outputting. First write the header,
|
||||
* i.e. the public part of the font dict.*/
|
||||
status = cairo_type1_font_subset_write_header (font, name);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
font->base.header_size = _cairo_output_stream_get_position (font->output);
|
||||
|
|
@ -1076,21 +1076,21 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font,
|
|||
* to the /CharStrings token. */
|
||||
status = cairo_type1_font_subset_write_encrypted (font, font->cleartext,
|
||||
charstrings - font->cleartext);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* Write out new charstring count */
|
||||
length = snprintf (buffer, sizeof buffer,
|
||||
"/CharStrings %d", font->num_glyphs);
|
||||
status = cairo_type1_font_subset_write_encrypted (font, buffer, length);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* Write out text between the charstring count and the first
|
||||
* charstring definition */
|
||||
status = cairo_type1_font_subset_write_encrypted (font, glyph_count_end,
|
||||
dict_start - glyph_count_end);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* Write out the charstring definitions for each of the glyphs in
|
||||
|
|
@ -1100,14 +1100,14 @@ cairo_type1_font_subset_write_private_dict (cairo_type1_font_subset_t *font,
|
|||
font->cleartext_end,
|
||||
write_used_glyphs,
|
||||
&p);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* Output what's left between the end of the glyph definitions and
|
||||
* the end of the private dict to the output. */
|
||||
status = cairo_type1_font_subset_write_encrypted (font, p,
|
||||
closefile_token - p + strlen ("closefile") + 1);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_output_stream_write (font->output, "\n", 1);
|
||||
|
|
@ -1158,11 +1158,11 @@ cairo_type1_font_subset_write (cairo_type1_font_subset_t *font,
|
|||
cairo_status_t status;
|
||||
|
||||
status = cairo_type1_font_subset_find_segments (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = cairo_type1_font_subset_decrypt_eexec_segment (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* Determine which glyph definition delimiters to use. */
|
||||
|
|
@ -1181,14 +1181,14 @@ cairo_type1_font_subset_write (cairo_type1_font_subset_t *font,
|
|||
font->hex_column = 0;
|
||||
|
||||
status = cairo_type1_font_subset_write_private_dict (font, name);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
font->base.data_size = _cairo_output_stream_get_position (font->output) -
|
||||
font->base.header_size;
|
||||
|
||||
status = cairo_type1_font_subset_write_trailer (font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
font->base.trailer_size =
|
||||
|
|
@ -1239,7 +1239,7 @@ cairo_type1_font_subset_generate (void *abstract_font,
|
|||
}
|
||||
|
||||
status = _cairo_array_grow_by (&font->contents, 4096);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
font->output = _cairo_output_stream_create (type1_font_write, NULL, font);
|
||||
|
|
@ -1249,7 +1249,7 @@ cairo_type1_font_subset_generate (void *abstract_font,
|
|||
}
|
||||
|
||||
status = cairo_type1_font_subset_write (font, name);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
font->base.data = _cairo_array_index (&font->contents, 0);
|
||||
|
|
@ -1306,7 +1306,7 @@ _cairo_type1_subset_init (cairo_type1_subset_t *type1_subset,
|
|||
unscaled_font = _cairo_ft_scaled_font_get_unscaled_font (scaled_font_subset->scaled_font);
|
||||
|
||||
status = _cairo_type1_font_subset_init (&font, unscaled_font, hex_encode);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
for (i = 0; i < scaled_font_subset->num_glyphs; i++) {
|
||||
|
|
@ -1315,7 +1315,7 @@ _cairo_type1_subset_init (cairo_type1_subset_t *type1_subset,
|
|||
}
|
||||
|
||||
status = cairo_type1_font_subset_generate (&font, name);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail1;
|
||||
|
||||
if (font.base.base_font) {
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ _cairo_type3_glyph_surface_emit_image (cairo_type3_glyph_surface_t *surface,
|
|||
} else {
|
||||
image_mask = _cairo_image_surface_clone (image, CAIRO_FORMAT_A1);
|
||||
status = cairo_surface_status (&image->base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -196,7 +196,7 @@ _cairo_type3_glyph_surface_paint (void *abstract_surface,
|
|||
|
||||
pattern = (const cairo_surface_pattern_t *) source;
|
||||
status = _cairo_surface_acquire_source_image (pattern->surface, &image, &image_extra);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto fail;
|
||||
|
||||
status = _cairo_type3_glyph_surface_emit_image_pattern (surface,
|
||||
|
|
@ -282,7 +282,7 @@ _cairo_type3_glyph_surface_show_glyphs (void *abstract_surface,
|
|||
/* We require the matrix to be invertable. */
|
||||
ctm_inverse = scaled_font->ctm;
|
||||
status = cairo_matrix_invert (&ctm_inverse);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return CAIRO_INT_STATUS_IMAGE_FALLBACK;
|
||||
|
||||
cairo_matrix_multiply (&new_ctm, &scaled_font->ctm, &ctm_inverse);
|
||||
|
|
@ -357,7 +357,7 @@ _cairo_type3_glyph_surface_emit_fallback_image (cairo_type3_glyph_surface_t *sur
|
|||
CAIRO_SCALED_GLYPH_INFO_METRICS |
|
||||
CAIRO_SCALED_GLYPH_INFO_SURFACE,
|
||||
&scaled_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
image = scaled_glyph->surface;
|
||||
|
|
@ -419,7 +419,7 @@ _cairo_type3_glyph_surface_analyze_glyph (void *abstract_surface,
|
|||
|
||||
status = _cairo_meta_surface_replay (scaled_glyph->meta_surface,
|
||||
&surface->base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto cleanup;
|
||||
|
||||
status2 = _cairo_pdf_operators_flush (&surface->pdf_operators);
|
||||
|
|
|
|||
|
|
@ -127,7 +127,7 @@ _cairo_user_scaled_glyph_init (void *abstract_font,
|
|||
|
||||
cairo_destroy (cr);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (meta_surface);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -152,7 +152,7 @@ _cairo_user_scaled_glyph_init (void *abstract_font,
|
|||
analysis_surface = _cairo_analysis_surface_create (null_surface, -1, -1);
|
||||
cairo_surface_destroy (null_surface);
|
||||
status = analysis_surface->status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_analysis_surface_set_ctm (analysis_surface,
|
||||
|
|
@ -162,7 +162,7 @@ _cairo_user_scaled_glyph_init (void *abstract_font,
|
|||
_cairo_analysis_surface_get_bounding_box (analysis_surface, &bbox);
|
||||
cairo_surface_destroy (analysis_surface);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
_cairo_box_to_doubles (&bbox, &x1, &y1, &x2, &y2);
|
||||
|
|
@ -215,7 +215,7 @@ _cairo_user_scaled_glyph_init (void *abstract_font,
|
|||
- _cairo_fixed_integer_floor (scaled_glyph->bbox.p1.y));
|
||||
status = _cairo_meta_surface_replay (meta_surface, surface);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy(surface);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -232,7 +232,7 @@ _cairo_user_scaled_glyph_init (void *abstract_font,
|
|||
|
||||
status = _cairo_meta_surface_get_path (meta_surface, path);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_path_fixed_destroy (path);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -355,7 +355,7 @@ _cairo_user_scaled_font_get_implementation (cairo_toy_font_face_t *toy_face,
|
|||
face,
|
||||
(cairo_destroy_func_t) cairo_font_face_destroy);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_font_face_destroy (face);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -376,7 +376,7 @@ _cairo_user_scaled_font_create_toy (cairo_toy_font_face_t *toy_face,
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_user_scaled_font_get_implementation (toy_face, &face);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_user_font_face_scaled_font_create (face,
|
||||
|
|
@ -384,7 +384,7 @@ _cairo_user_scaled_font_create_toy (cairo_toy_font_face_t *toy_face,
|
|||
ctm,
|
||||
font_options,
|
||||
font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -428,7 +428,7 @@ _cairo_user_font_face_scaled_font_create (void *abstract_
|
|||
font_matrix, ctm, options,
|
||||
&_cairo_user_scaled_font_backend);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
free (user_scaled_font);
|
||||
return status;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -485,7 +485,7 @@ _cairo_xlib_screen_get_visual_info (cairo_xlib_screen_info_t *info,
|
|||
XScreenNumberOfScreen (info->screen),
|
||||
visual->visualid,
|
||||
&ret);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
CAIRO_MUTEX_LOCK (info->mutex);
|
||||
|
|
@ -506,7 +506,7 @@ _cairo_xlib_screen_get_visual_info (cairo_xlib_screen_info_t *info,
|
|||
status = _cairo_array_append (&info->visuals, &ret);
|
||||
CAIRO_MUTEX_UNLOCK (info->mutex);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_xlib_visual_info_destroy (dpy, ret);
|
||||
return status;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -672,7 +672,7 @@ _get_image_surface (cairo_xlib_surface_t *surface,
|
|||
Pixmap pixmap;
|
||||
|
||||
status = _cairo_xlib_surface_ensure_gc (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
pixmap = XCreatePixmap (surface->dpy,
|
||||
|
|
@ -717,7 +717,7 @@ _get_image_surface (cairo_xlib_surface_t *surface,
|
|||
ximage->height,
|
||||
ximage->bytes_per_line);
|
||||
status = image->base.status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
/* Let the surface take ownership of the data */
|
||||
|
|
@ -778,14 +778,14 @@ _get_image_surface (cairo_xlib_surface_t *surface,
|
|||
status = _cairo_xlib_screen_get_visual_info (surface->screen_info,
|
||||
surface->visual,
|
||||
&visual_info);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
}
|
||||
|
||||
image = (cairo_image_surface_t *) cairo_image_surface_create
|
||||
(format, ximage->width, ximage->height);
|
||||
status = image->base.status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
data = cairo_image_surface_get_data (&image->base);
|
||||
|
|
@ -822,7 +822,7 @@ _get_image_surface (cairo_xlib_surface_t *surface,
|
|||
BAIL:
|
||||
XDestroyImage (ximage);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
if (image) {
|
||||
cairo_surface_destroy (&image->base);
|
||||
image = NULL;
|
||||
|
|
@ -1014,7 +1014,7 @@ _draw_image_surface (cairo_xlib_surface_t *surface,
|
|||
status = _cairo_xlib_screen_get_visual_info (surface->screen_info,
|
||||
surface->visual,
|
||||
&visual_info);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
}
|
||||
|
||||
|
|
@ -1071,7 +1071,7 @@ _draw_image_surface (cairo_xlib_surface_t *surface,
|
|||
}
|
||||
|
||||
status = _cairo_xlib_surface_ensure_gc (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
XPutImage(surface->dpy, surface->drawable, surface->gc,
|
||||
|
|
@ -1097,7 +1097,7 @@ _cairo_xlib_surface_acquire_source_image (void *abstract_surf
|
|||
_cairo_xlib_display_notify (surface->display);
|
||||
|
||||
status = _get_image_surface (surface, NULL, &image, NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
*image_out = image;
|
||||
|
|
@ -1128,7 +1128,7 @@ _cairo_xlib_surface_acquire_dest_image (void *abstract_surfac
|
|||
_cairo_xlib_display_notify (surface->display);
|
||||
|
||||
status = _get_image_surface (surface, interest_rect, &image, image_rect_out);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
*image_out = image;
|
||||
|
|
@ -1217,7 +1217,7 @@ _cairo_xlib_surface_clone_similar (void *abstract_surface,
|
|||
src_x, src_y,
|
||||
width, height,
|
||||
0, 0);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
cairo_surface_destroy (&clone->base);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -1264,7 +1264,7 @@ _cairo_xlib_surface_create_solid_pattern_surface (void *abstrac
|
|||
_cairo_image_surface_create_with_content (solid_pattern->content,
|
||||
width, height);
|
||||
status = image->base.status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
pixmap = XCreatePixmap (other->dpy,
|
||||
|
|
@ -1280,26 +1280,26 @@ _cairo_xlib_surface_create_solid_pattern_surface (void *abstrac
|
|||
width, height,
|
||||
other->depth);
|
||||
status = surface->base.status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
status = _cairo_surface_paint (&image->base,
|
||||
CAIRO_OPERATOR_SOURCE,
|
||||
&solid_pattern->base, NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
status = _draw_image_surface (surface, image,
|
||||
0, 0,
|
||||
width, height,
|
||||
0, 0);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
BAIL:
|
||||
cairo_surface_destroy (&image->base);
|
||||
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
if (pixmap != None)
|
||||
XFreePixmap (other->dpy, pixmap);
|
||||
cairo_surface_destroy (&surface->base);
|
||||
|
|
@ -1426,7 +1426,7 @@ _cairo_xlib_surface_set_attributes (cairo_xlib_surface_t *surface,
|
|||
|
||||
status = _cairo_xlib_surface_set_matrix (surface, &attributes->matrix,
|
||||
xc, yc);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
switch (attributes->extend) {
|
||||
|
|
@ -1443,7 +1443,7 @@ _cairo_xlib_surface_set_attributes (cairo_xlib_surface_t *surface,
|
|||
}
|
||||
|
||||
status = _cairo_xlib_surface_set_filter (surface, attributes->filter);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -1728,7 +1728,7 @@ _cairo_xlib_surface_composite (cairo_operator_t op,
|
|||
(cairo_surface_t **) &src,
|
||||
(cairo_surface_t **) &mask,
|
||||
&src_attr, &mask_attr);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
/* check for fallback surfaces that we cannot handle ... */
|
||||
|
|
@ -1757,7 +1757,7 @@ _cairo_xlib_surface_composite (cairo_operator_t op,
|
|||
status = _cairo_xlib_surface_set_attributes (src, &src_attr,
|
||||
dst_x + width / 2.,
|
||||
dst_y + height / 2.);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
_cairo_xlib_surface_ensure_dst_picture (dst);
|
||||
|
|
@ -1765,7 +1765,7 @@ _cairo_xlib_surface_composite (cairo_operator_t op,
|
|||
status = _cairo_xlib_surface_set_attributes (mask, &mask_attr,
|
||||
dst_x + width / 2.,
|
||||
dst_y + height/ 2.);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
XRenderComposite (dst->dpy,
|
||||
|
|
@ -1796,7 +1796,7 @@ _cairo_xlib_surface_composite (cairo_operator_t op,
|
|||
|
||||
case DO_XCOPYAREA:
|
||||
status = _cairo_xlib_surface_ensure_gc (dst);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
is_integer_translation = _cairo_matrix_is_integer_translation (&src_attr.matrix,
|
||||
|
|
@ -1824,7 +1824,7 @@ _cairo_xlib_surface_composite (cairo_operator_t op,
|
|||
*/
|
||||
|
||||
status = _cairo_xlib_surface_ensure_gc (dst);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
is_integer_translation = _cairo_matrix_is_integer_translation (&src_attr.matrix,
|
||||
&itx, &ity);
|
||||
|
|
@ -1879,7 +1879,7 @@ _cairo_xlib_surface_solid_fill_rectangles (cairo_xlib_surface_t *surface,
|
|||
_cairo_pattern_init_solid (&solid, color, CAIRO_CONTENT_COLOR);
|
||||
|
||||
status = _cairo_xlib_surface_ensure_gc (surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
status = _cairo_pattern_acquire_surface (&solid.base, &surface->base,
|
||||
|
|
@ -1888,7 +1888,7 @@ _cairo_xlib_surface_solid_fill_rectangles (cairo_xlib_surface_t *surface,
|
|||
ARRAY_LENGTH (dither_pattern),
|
||||
&solid_surface,
|
||||
&attrs);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
if (! _cairo_surface_is_xlib (solid_surface)) {
|
||||
|
|
@ -2136,7 +2136,7 @@ _cairo_xlib_surface_composite_trapezoids (cairo_operator_t op,
|
|||
src_x, src_y, width, height,
|
||||
(cairo_surface_t **) &src,
|
||||
&attributes);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
operation = _recategorize_composite_operation (dst, op, src,
|
||||
|
|
@ -2177,7 +2177,7 @@ _cairo_xlib_surface_composite_trapezoids (cairo_operator_t op,
|
|||
status = _cairo_xlib_surface_set_attributes (src, &attributes,
|
||||
dst_x + width / 2.,
|
||||
dst_y + height / 2.);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
if (!_cairo_operator_bounded_by_mask (op)) {
|
||||
|
|
@ -2300,7 +2300,7 @@ _cairo_xlib_surface_set_clip_region (void *abstract_surface,
|
|||
_cairo_region_init_rect (&bound, &rect);
|
||||
_cairo_region_init (&bounded);
|
||||
status = _cairo_region_intersect (&bounded, &bound, region);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_region_fini (&bound);
|
||||
_cairo_region_fini (&bounded);
|
||||
return status;
|
||||
|
|
@ -2309,7 +2309,7 @@ _cairo_xlib_surface_set_clip_region (void *abstract_surface,
|
|||
n_boxes = sizeof (surface->embedded_clip_rects) / sizeof (cairo_box_int_t);
|
||||
boxes = (cairo_box_int_t *) surface->embedded_clip_rects;
|
||||
status = _cairo_region_get_boxes (&bounded, &n_boxes, &boxes);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_region_fini (&bound);
|
||||
_cairo_region_fini (&bounded);
|
||||
return status;
|
||||
|
|
@ -2429,7 +2429,7 @@ _cairo_xlib_surface_reset (void *abstract_surface)
|
|||
cairo_status_t status;
|
||||
|
||||
status = _cairo_xlib_surface_set_clip_region (surface, NULL);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
return CAIRO_STATUS_SUCCESS;
|
||||
|
|
@ -2564,11 +2564,11 @@ _cairo_xlib_surface_create_internal (Display *dpy,
|
|||
return _cairo_surface_create_in_error (_cairo_error (CAIRO_STATUS_INVALID_VISUAL));
|
||||
|
||||
status = _cairo_xlib_display_get (dpy, &display);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return _cairo_surface_create_in_error (status);
|
||||
|
||||
status = _cairo_xlib_screen_info_get (display, screen, &screen_info);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_xlib_display_destroy (display);
|
||||
return _cairo_surface_create_in_error (status);
|
||||
}
|
||||
|
|
@ -2903,7 +2903,7 @@ cairo_xlib_surface_set_drawable (cairo_surface_t *abstract_surface,
|
|||
surface->display,
|
||||
XRenderFreePicture,
|
||||
surface->dst_picture);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status = _cairo_surface_set_error (&surface->base, status);
|
||||
return;
|
||||
}
|
||||
|
|
@ -2916,7 +2916,7 @@ cairo_xlib_surface_set_drawable (cairo_surface_t *abstract_surface,
|
|||
surface->display,
|
||||
XRenderFreePicture,
|
||||
surface->src_picture);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
status = _cairo_surface_set_error (&surface->base, status);
|
||||
return;
|
||||
}
|
||||
|
|
@ -3173,7 +3173,7 @@ _cairo_xlib_surface_font_init (Display *dpy,
|
|||
|
||||
font_private->scaled_font = scaled_font;
|
||||
status = _cairo_xlib_display_get (dpy, &font_private->display);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
free (font_private);
|
||||
return status;
|
||||
}
|
||||
|
|
@ -3289,7 +3289,7 @@ _cairo_xlib_surface_scaled_glyph_fini (cairo_scaled_glyph_t *scaled_glyph,
|
|||
to_free,
|
||||
free);
|
||||
/* XXX cannot propagate failure */
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
free (to_free);
|
||||
|
||||
to_free = glyphset_info->pending_free_glyphs = NULL;
|
||||
|
|
@ -3445,7 +3445,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy,
|
|||
CAIRO_SCALED_GLYPH_INFO_METRICS |
|
||||
CAIRO_SCALED_GLYPH_INFO_SURFACE,
|
||||
pscaled_glyph);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
|
||||
scaled_glyph = *pscaled_glyph;
|
||||
|
|
@ -3457,7 +3457,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy,
|
|||
|
||||
if (scaled_font->surface_private == NULL) {
|
||||
status = _cairo_xlib_surface_font_init (dpy, scaled_font);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
@ -3484,7 +3484,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy,
|
|||
|
||||
tmp_surface = cairo_image_surface_create (glyphset_info->format, 1, 1);
|
||||
status = tmp_surface->status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
cr = cairo_create (tmp_surface);
|
||||
|
|
@ -3498,7 +3498,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy,
|
|||
|
||||
glyph_surface = (cairo_image_surface_t *) tmp_surface;
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
}
|
||||
|
||||
|
|
@ -3514,7 +3514,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy,
|
|||
glyph_surface->width,
|
||||
glyph_surface->height);
|
||||
status = tmp_surface->status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
tmp_surface->device_transform = glyph_surface->base.device_transform;
|
||||
|
|
@ -3529,7 +3529,7 @@ _cairo_xlib_surface_add_glyph (Display *dpy,
|
|||
|
||||
glyph_surface = (cairo_image_surface_t *) tmp_surface;
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
}
|
||||
|
||||
|
|
@ -3864,7 +3864,7 @@ _cairo_xlib_surface_emit_glyphs (cairo_xlib_surface_t *dst,
|
|||
status = _cairo_xlib_surface_add_glyph (dst->dpy,
|
||||
scaled_font,
|
||||
&scaled_glyph);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
if (status == CAIRO_INT_STATUS_UNSUPPORTED)
|
||||
/* Break so we flush glyphs so far and let fallback code
|
||||
* handle the rest */
|
||||
|
|
@ -4055,7 +4055,7 @@ _cairo_xlib_surface_show_glyphs (void *abstract_dst,
|
|||
0, 0, 1, 1,
|
||||
(cairo_surface_t **) &src,
|
||||
&attributes);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL0;
|
||||
} else {
|
||||
cairo_rectangle_int_t glyph_extents;
|
||||
|
|
@ -4064,7 +4064,7 @@ _cairo_xlib_surface_show_glyphs (void *abstract_dst,
|
|||
glyphs,
|
||||
num_glyphs,
|
||||
&glyph_extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL0;
|
||||
|
||||
status = _cairo_pattern_acquire_surface (src_pattern, &dst->base,
|
||||
|
|
@ -4072,7 +4072,7 @@ _cairo_xlib_surface_show_glyphs (void *abstract_dst,
|
|||
glyph_extents.width, glyph_extents.height,
|
||||
(cairo_surface_t **) &src,
|
||||
&attributes);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL0;
|
||||
}
|
||||
|
||||
|
|
@ -4084,7 +4084,7 @@ _cairo_xlib_surface_show_glyphs (void *abstract_dst,
|
|||
}
|
||||
|
||||
status = _cairo_xlib_surface_set_attributes (src, &attributes, 0, 0);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL1;
|
||||
|
||||
_cairo_scaled_font_freeze_cache (scaled_font);
|
||||
|
|
|
|||
138
src/cairo.c
138
src/cairo.c
|
|
@ -168,7 +168,7 @@ cairo_create (cairo_surface_t *target)
|
|||
cr->gstate_freelist = NULL;
|
||||
|
||||
status = _cairo_gstate_init (cr->gstate, target);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
|
||||
return cr;
|
||||
|
|
@ -349,7 +349,7 @@ cairo_save (cairo_t *cr)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_save (&cr->gstate, &cr->gstate_freelist);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def(cairo_save);
|
||||
|
|
@ -371,7 +371,7 @@ cairo_restore (cairo_t *cr)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_restore (&cr->gstate, &cr->gstate_freelist);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def(cairo_restore);
|
||||
|
|
@ -458,10 +458,10 @@ cairo_push_group_with_content (cairo_t *cr, cairo_content_t content)
|
|||
parent_surface = _cairo_gstate_get_target (cr->gstate);
|
||||
/* Get the extents that we'll use in creating our new group surface */
|
||||
status = _cairo_surface_get_extents (parent_surface, &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto bail;
|
||||
status = _cairo_clip_intersect_to_rectangle (_cairo_gstate_get_clip (cr->gstate), &extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto bail;
|
||||
|
||||
group_surface = cairo_surface_create_similar (_cairo_gstate_get_target (cr->gstate),
|
||||
|
|
@ -469,7 +469,7 @@ cairo_push_group_with_content (cairo_t *cr, cairo_content_t content)
|
|||
extents.width,
|
||||
extents.height);
|
||||
status = cairo_surface_status (group_surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto bail;
|
||||
|
||||
/* Set device offsets on the new surface so that logically it appears at
|
||||
|
|
@ -490,7 +490,7 @@ cairo_push_group_with_content (cairo_t *cr, cairo_content_t content)
|
|||
|
||||
bail:
|
||||
cairo_surface_destroy (group_surface);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def(cairo_push_group_with_content);
|
||||
|
|
@ -628,7 +628,7 @@ cairo_set_operator (cairo_t *cr, cairo_operator_t op)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_set_operator (cr->gstate, op);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def (cairo_set_operator);
|
||||
|
|
@ -790,7 +790,7 @@ cairo_set_source (cairo_t *cr, cairo_pattern_t *source)
|
|||
}
|
||||
|
||||
status = _cairo_gstate_set_source (cr->gstate, source);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def (cairo_set_source);
|
||||
|
|
@ -838,7 +838,7 @@ cairo_set_tolerance (cairo_t *cr, double tolerance)
|
|||
_cairo_restrict_value (&tolerance, CAIRO_TOLERANCE_MINIMUM, tolerance);
|
||||
|
||||
status = _cairo_gstate_set_tolerance (cr->gstate, tolerance);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def (cairo_set_tolerance);
|
||||
|
|
@ -865,7 +865,7 @@ cairo_set_antialias (cairo_t *cr, cairo_antialias_t antialias)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_set_antialias (cr->gstate, antialias);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -891,7 +891,7 @@ cairo_set_fill_rule (cairo_t *cr, cairo_fill_rule_t fill_rule)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_set_fill_rule (cr->gstate, fill_rule);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -932,7 +932,7 @@ cairo_set_line_width (cairo_t *cr, double width)
|
|||
_cairo_restrict_value (&width, 0.0, width);
|
||||
|
||||
status = _cairo_gstate_set_line_width (cr->gstate, width);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def (cairo_set_line_width);
|
||||
|
|
@ -962,7 +962,7 @@ cairo_set_line_cap (cairo_t *cr, cairo_line_cap_t line_cap)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_set_line_cap (cr->gstate, line_cap);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def (cairo_set_line_cap);
|
||||
|
|
@ -992,7 +992,7 @@ cairo_set_line_join (cairo_t *cr, cairo_line_join_t line_join)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_set_line_join (cr->gstate, line_join);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def (cairo_set_line_join);
|
||||
|
|
@ -1042,7 +1042,7 @@ cairo_set_dash (cairo_t *cr,
|
|||
|
||||
status = _cairo_gstate_set_dash (cr->gstate,
|
||||
dashes, num_dashes, offset);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -1132,7 +1132,7 @@ cairo_set_miter_limit (cairo_t *cr, double limit)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_set_miter_limit (cr->gstate, limit);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -1157,7 +1157,7 @@ cairo_translate (cairo_t *cr, double tx, double ty)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_translate (cr->gstate, tx, ty);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -1181,7 +1181,7 @@ cairo_scale (cairo_t *cr, double sx, double sy)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_scale (cr->gstate, sx, sy);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def (cairo_scale);
|
||||
|
|
@ -1207,7 +1207,7 @@ cairo_rotate (cairo_t *cr, double angle)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_rotate (cr->gstate, angle);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -1230,7 +1230,7 @@ cairo_transform (cairo_t *cr,
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_transform (cr->gstate, matrix);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -1252,7 +1252,7 @@ cairo_set_matrix (cairo_t *cr,
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_set_matrix (cr->gstate, matrix);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def (cairo_set_matrix);
|
||||
|
|
@ -1393,7 +1393,7 @@ cairo_move_to (cairo_t *cr, double x, double y)
|
|||
y_fixed = _cairo_fixed_from_double (y);
|
||||
|
||||
status = _cairo_path_fixed_move_to (cr->path, x_fixed, y_fixed);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def(cairo_move_to);
|
||||
|
|
@ -1452,7 +1452,7 @@ cairo_line_to (cairo_t *cr, double x, double y)
|
|||
y_fixed = _cairo_fixed_from_double (y);
|
||||
|
||||
status = _cairo_path_fixed_line_to (cr->path, x_fixed, y_fixed);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def (cairo_line_to);
|
||||
|
|
@ -1507,7 +1507,7 @@ cairo_curve_to (cairo_t *cr,
|
|||
x1_fixed, y1_fixed,
|
||||
x2_fixed, y2_fixed,
|
||||
x3_fixed, y3_fixed);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def (cairo_curve_to);
|
||||
|
|
@ -1641,7 +1641,7 @@ cairo_arc_to (cairo_t *cr,
|
|||
x1, y1,
|
||||
x2, y2,
|
||||
radius);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
*/
|
||||
|
|
@ -1677,7 +1677,7 @@ cairo_rel_move_to (cairo_t *cr, double dx, double dy)
|
|||
dy_fixed = _cairo_fixed_from_double (dy);
|
||||
|
||||
status = _cairo_path_fixed_rel_move_to (cr->path, dx_fixed, dy_fixed);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -1714,7 +1714,7 @@ cairo_rel_line_to (cairo_t *cr, double dx, double dy)
|
|||
dy_fixed = _cairo_fixed_from_double (dy);
|
||||
|
||||
status = _cairo_path_fixed_rel_line_to (cr->path, dx_fixed, dy_fixed);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def(cairo_rel_line_to);
|
||||
|
|
@ -1775,7 +1775,7 @@ cairo_rel_curve_to (cairo_t *cr,
|
|||
dx1_fixed, dy1_fixed,
|
||||
dx2_fixed, dy2_fixed,
|
||||
dx3_fixed, dy3_fixed);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -1827,7 +1827,7 @@ cairo_stroke_to_path (cairo_t *cr)
|
|||
/* The code in _cairo_meta_surface_get_path has a poorman's stroke_to_path */
|
||||
|
||||
status = _cairo_gstate_stroke_path (cr->gstate);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
#endif
|
||||
|
|
@ -1867,7 +1867,7 @@ cairo_close_path (cairo_t *cr)
|
|||
return;
|
||||
|
||||
status = _cairo_path_fixed_close_path (cr->path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def(cairo_close_path);
|
||||
|
|
@ -1941,7 +1941,7 @@ cairo_paint (cairo_t *cr)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_paint (cr->gstate);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def (cairo_paint);
|
||||
|
|
@ -1980,7 +1980,7 @@ cairo_paint_with_alpha (cairo_t *cr,
|
|||
_cairo_pattern_init_solid (&pattern, &color, CAIRO_CONTENT_ALPHA);
|
||||
|
||||
status = _cairo_gstate_mask (cr->gstate, &pattern.base);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
|
||||
_cairo_pattern_fini (&pattern.base);
|
||||
|
|
@ -2016,7 +2016,7 @@ cairo_mask (cairo_t *cr,
|
|||
}
|
||||
|
||||
status = _cairo_gstate_mask (cr->gstate, pattern);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def (cairo_mask);
|
||||
|
|
@ -2118,7 +2118,7 @@ cairo_stroke_preserve (cairo_t *cr)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_stroke (cr->gstate, cr->path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def(cairo_stroke_preserve);
|
||||
|
|
@ -2161,7 +2161,7 @@ cairo_fill_preserve (cairo_t *cr)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_fill (cr->gstate, cr->path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def(cairo_fill_preserve);
|
||||
|
|
@ -2187,7 +2187,7 @@ cairo_copy_page (cairo_t *cr)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_copy_page (cr->gstate);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -2210,7 +2210,7 @@ cairo_show_page (cairo_t *cr)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_show_page (cr->gstate);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -2244,7 +2244,7 @@ cairo_in_stroke (cairo_t *cr, double x, double y)
|
|||
status = _cairo_gstate_in_stroke (cr->gstate,
|
||||
cr->path,
|
||||
x, y, &inside);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
|
||||
return inside;
|
||||
|
|
@ -2332,7 +2332,7 @@ cairo_stroke_extents (cairo_t *cr,
|
|||
status = _cairo_gstate_stroke_extents (cr->gstate,
|
||||
cr->path,
|
||||
x1, y1, x2, y2);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -2383,7 +2383,7 @@ cairo_fill_extents (cairo_t *cr,
|
|||
status = _cairo_gstate_fill_extents (cr->gstate,
|
||||
cr->path,
|
||||
x1, y1, x2, y2);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -2448,7 +2448,7 @@ cairo_clip_preserve (cairo_t *cr)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_clip (cr->gstate, cr->path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def(cairo_clip_preserve);
|
||||
|
|
@ -2478,7 +2478,7 @@ cairo_reset_clip (cairo_t *cr)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_reset_clip (cr->gstate);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -2516,7 +2516,7 @@ cairo_clip_extents (cairo_t *cr,
|
|||
}
|
||||
|
||||
status = _cairo_gstate_clip_extents (cr->gstate, x1, y1, x2, y2);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -2622,7 +2622,7 @@ cairo_select_font_face (cairo_t *cr,
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_select_font_face (cr->gstate, family, slant, weight);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -2650,7 +2650,7 @@ cairo_font_extents (cairo_t *cr,
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_get_font_extents (cr->gstate, extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -2673,7 +2673,7 @@ cairo_set_font_face (cairo_t *cr,
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_set_font_face (cr->gstate, font_face);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -2705,7 +2705,7 @@ cairo_get_font_face (cairo_t *cr)
|
|||
return (cairo_font_face_t*) &_cairo_font_face_nil;
|
||||
|
||||
status = _cairo_gstate_get_font_face (cr->gstate, &font_face);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_set_error (cr, status);
|
||||
return (cairo_font_face_t*) &_cairo_font_face_nil;
|
||||
}
|
||||
|
|
@ -2737,7 +2737,7 @@ cairo_set_font_size (cairo_t *cr, double size)
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_set_font_size (cr->gstate, size);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
slim_hidden_def (cairo_set_font_size);
|
||||
|
|
@ -2765,7 +2765,7 @@ cairo_set_font_matrix (cairo_t *cr,
|
|||
return;
|
||||
|
||||
status = _cairo_gstate_set_font_matrix (cr->gstate, matrix);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -2809,7 +2809,7 @@ cairo_set_font_options (cairo_t *cr,
|
|||
return;
|
||||
|
||||
status = cairo_font_options_status ((cairo_font_options_t *) options);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_set_error (cr, status);
|
||||
return;
|
||||
}
|
||||
|
|
@ -2873,15 +2873,15 @@ cairo_set_scaled_font (cairo_t *cr,
|
|||
}
|
||||
|
||||
status = scaled_font->status;
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
status = _cairo_gstate_set_font_face (cr->gstate, scaled_font->font_face);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
status = _cairo_gstate_set_font_matrix (cr->gstate, &scaled_font->font_matrix);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
_cairo_gstate_set_font_options (cr->gstate, &scaled_font->options);
|
||||
|
|
@ -2922,7 +2922,7 @@ cairo_get_scaled_font (cairo_t *cr)
|
|||
return _cairo_scaled_font_create_in_error (cr->status);
|
||||
|
||||
status = _cairo_gstate_get_scaled_font (cr->gstate, &scaled_font);
|
||||
if (status) {
|
||||
if (unlikely (status)) {
|
||||
_cairo_set_error (cr, status);
|
||||
return _cairo_scaled_font_create_in_error (status);
|
||||
}
|
||||
|
|
@ -2988,7 +2988,7 @@ cairo_text_extents (cairo_t *cr,
|
|||
extents);
|
||||
cairo_glyph_free (glyphs);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -3043,7 +3043,7 @@ cairo_glyph_extents (cairo_t *cr,
|
|||
|
||||
status = _cairo_gstate_glyph_extents (cr->gstate, glyphs, num_glyphs,
|
||||
extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -3113,7 +3113,7 @@ cairo_show_text (cairo_t *cr, const char *utf8)
|
|||
&glyphs, &num_glyphs,
|
||||
has_show_text_glyphs ? &clusters : NULL, &num_clusters,
|
||||
&cluster_flags);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
if (num_glyphs == 0)
|
||||
|
|
@ -3124,14 +3124,14 @@ cairo_show_text (cairo_t *cr, const char *utf8)
|
|||
glyphs, num_glyphs,
|
||||
clusters, num_clusters,
|
||||
cluster_flags);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
last_glyph = &glyphs[num_glyphs - 1];
|
||||
status = _cairo_gstate_glyph_extents (cr->gstate,
|
||||
last_glyph, 1,
|
||||
&extents);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
x = last_glyph->x + extents.x_advance;
|
||||
|
|
@ -3144,7 +3144,7 @@ cairo_show_text (cairo_t *cr, const char *utf8)
|
|||
if (clusters != stack_clusters)
|
||||
cairo_text_cluster_free (clusters);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -3184,7 +3184,7 @@ cairo_show_glyphs (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs)
|
|||
glyphs, num_glyphs,
|
||||
NULL, 0,
|
||||
FALSE);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -3287,7 +3287,7 @@ cairo_show_text_glyphs (cairo_t *cr,
|
|||
utf8, utf8_len,
|
||||
glyphs, num_glyphs,
|
||||
clusters, num_clusters, cluster_flags);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -3339,7 +3339,7 @@ cairo_text_path (cairo_t *cr, const char *utf8)
|
|||
NULL, NULL,
|
||||
NULL);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
if (num_glyphs == 0)
|
||||
|
|
@ -3349,7 +3349,7 @@ cairo_text_path (cairo_t *cr, const char *utf8)
|
|||
glyphs, num_glyphs,
|
||||
cr->path);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
last_glyph = &glyphs[num_glyphs - 1];
|
||||
|
|
@ -3357,7 +3357,7 @@ cairo_text_path (cairo_t *cr, const char *utf8)
|
|||
last_glyph, 1,
|
||||
&extents);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
goto BAIL;
|
||||
|
||||
x = last_glyph->x + extents.x_advance;
|
||||
|
|
@ -3367,7 +3367,7 @@ cairo_text_path (cairo_t *cr, const char *utf8)
|
|||
BAIL:
|
||||
cairo_glyph_free (glyphs);
|
||||
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -3405,7 +3405,7 @@ cairo_glyph_path (cairo_t *cr, const cairo_glyph_t *glyphs, int num_glyphs)
|
|||
status = _cairo_gstate_glyph_path (cr->gstate,
|
||||
glyphs, num_glyphs,
|
||||
cr->path);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
@ -3825,7 +3825,7 @@ cairo_append_path (cairo_t *cr,
|
|||
}
|
||||
|
||||
status = _cairo_path_append_to_context (path, cr);
|
||||
if (status)
|
||||
if (unlikely (status))
|
||||
_cairo_set_error (cr, status);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue