summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/cairo-gstate.c2
-rw-r--r--src/cairo-pattern-private.h1
-rw-r--r--src/cairo-pattern.c2
3 files changed, 2 insertions, 3 deletions
diff --git a/src/cairo-gstate.c b/src/cairo-gstate.c
index fd5c7b33..11a7b517 100644
--- a/src/cairo-gstate.c
+++ b/src/cairo-gstate.c
@@ -1062,7 +1062,7 @@ _cairo_gstate_mask (cairo_gstate_t *gstate,
_cairo_gstate_copy_transformed_mask (gstate, &mask_pattern.base, mask);
if (source->type == CAIRO_PATTERN_TYPE_SOLID &&
- mask_pattern.type == CAIRO_PATTERN_TYPE_SOLID &&
+ mask_pattern.base.type == CAIRO_PATTERN_TYPE_SOLID &&
_cairo_operator_bounded_by_source (op))
{
const cairo_solid_pattern_t *solid = (cairo_solid_pattern_t *) source;
diff --git a/src/cairo-pattern-private.h b/src/cairo-pattern-private.h
index fc6f8ebe..647eb0b9 100644
--- a/src/cairo-pattern-private.h
+++ b/src/cairo-pattern-private.h
@@ -165,7 +165,6 @@ typedef struct _cairo_mesh_pattern {
} cairo_mesh_pattern_t;
typedef union {
- cairo_pattern_type_t type;
cairo_pattern_t base;
cairo_solid_pattern_t solid;
diff --git a/src/cairo-pattern.c b/src/cairo-pattern.c
index 13aad6fa..cb6bba84 100644
--- a/src/cairo-pattern.c
+++ b/src/cairo-pattern.c
@@ -3674,7 +3674,7 @@ _cairo_pattern_is_clear (const cairo_pattern_t *abstract_pattern)
return FALSE;
pattern = (cairo_pattern_union_t *) abstract_pattern;
- switch (pattern->type) {
+ switch (abstract_pattern->type) {
case CAIRO_PATTERN_TYPE_SOLID:
return CAIRO_COLOR_IS_CLEAR (&pattern->solid.color);
case CAIRO_PATTERN_TYPE_SURFACE: