pattern: Fix _gradient_is_opaque() for zero stops

_gradient_is_opaque() previously returned TRUE for gradient with
no stops, triggering a false optimization in _cairo_gstate_mask().

Fixes test/gradient-zero-stops-mask

Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
Andrea Canciani 2010-03-31 12:18:01 +02:00
parent 01e1821942
commit 35f19bc084

View file

@ -1795,6 +1795,9 @@ _gradient_is_opaque (const cairo_gradient_pattern_t *gradient)
{
unsigned int i;
if (gradient->n_stops == 0)
return FALSE;
for (i = 0; i < gradient->n_stops; i++)
if (! CAIRO_COLOR_IS_OPAQUE (&gradient->stops[i].color))
return FALSE;