diff --git a/src/cairo-image-surface.c b/src/cairo-image-surface.c index 8208a1500..e860e1b7a 100644 --- a/src/cairo-image-surface.c +++ b/src/cairo-image-surface.c @@ -1130,9 +1130,12 @@ _cairo_image_analyze_color (cairo_image_surface_t *image) if (image->color != CAIRO_IMAGE_UNKNOWN_COLOR) return image->color; - if (image->format == CAIRO_FORMAT_A1 || image->format == CAIRO_FORMAT_A8) + if (image->format == CAIRO_FORMAT_A1) return image->color = CAIRO_IMAGE_IS_MONOCHROME; + if (image->format == CAIRO_FORMAT_A8) + return image->color = CAIRO_IMAGE_IS_GRAYSCALE; + if (image->format == CAIRO_FORMAT_ARGB32) { image->color = CAIRO_IMAGE_IS_MONOCHROME; for (y = 0; y < image->height; y++) {