diff --git a/ChangeLog b/ChangeLog index 7024d3019..0b38755fb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2005-02-25 Carl Worth + + From David Reveman: + + * src/cairo_gstate.c (_cairo_gstate_show_surface): Simplify code + to eliminate a goto. + 2005-02-25 Carl Worth From David Reveman: diff --git a/src/cairo-gstate.c b/src/cairo-gstate.c index 1ad7e667c..003cbf886 100644 --- a/src/cairo-gstate.c +++ b/src/cairo-gstate.c @@ -2026,23 +2026,17 @@ _cairo_gstate_show_surface (cairo_gstate_t *gstate, { _cairo_rectangle_intersect (&extents, &gstate->clip.rect); - /* Shortcut if empty */ - if (_cairo_rectangle_empty (&extents)) { - status = CAIRO_STATUS_SUCCESS; - goto BAIL1; + /* We only need to composite if the rectangle is not empty. */ + if (!_cairo_rectangle_empty (&extents)) { + status = _cairo_surface_composite (gstate->operator, + &pattern, + gstate->clip.surface, + gstate->surface, + extents.x, extents.y, + 0, 0, + extents.x, extents.y, + extents.width, extents.height); } - - status = _cairo_surface_composite (gstate->operator, - &pattern, - gstate->clip.surface, - gstate->surface, - extents.x, extents.y, - 0, 0, - extents.x, extents.y, - extents.width, extents.height); - - BAIL1: - ; } else { diff --git a/src/cairo_gstate.c b/src/cairo_gstate.c index 1ad7e667c..003cbf886 100644 --- a/src/cairo_gstate.c +++ b/src/cairo_gstate.c @@ -2026,23 +2026,17 @@ _cairo_gstate_show_surface (cairo_gstate_t *gstate, { _cairo_rectangle_intersect (&extents, &gstate->clip.rect); - /* Shortcut if empty */ - if (_cairo_rectangle_empty (&extents)) { - status = CAIRO_STATUS_SUCCESS; - goto BAIL1; + /* We only need to composite if the rectangle is not empty. */ + if (!_cairo_rectangle_empty (&extents)) { + status = _cairo_surface_composite (gstate->operator, + &pattern, + gstate->clip.surface, + gstate->surface, + extents.x, extents.y, + 0, 0, + extents.x, extents.y, + extents.width, extents.height); } - - status = _cairo_surface_composite (gstate->operator, - &pattern, - gstate->clip.surface, - gstate->surface, - extents.x, extents.y, - 0, 0, - extents.x, extents.y, - extents.width, extents.height); - - BAIL1: - ; } else {