diff options
-rw-r--r-- | src/cairo-default-context.c | 2 | ||||
-rw-r--r-- | src/cairo-gl-operand.c | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/src/cairo-default-context.c b/src/cairo-default-context.c index 36ddb7575..375c0afba 100644 --- a/src/cairo-default-context.c +++ b/src/cairo-default-context.c @@ -951,7 +951,7 @@ _cairo_default_context_rounded_rectangle (void *abstract_cr, if (r_top_left <= 0.0) r_top_left = 0.0; if (r_top_right <= 0.0) - r_top_left = 0.0; + r_top_right = 0.0; if (r_bottom_left < 0.0) r_bottom_left = 0.0; if (r_bottom_right <= 0.0) diff --git a/src/cairo-gl-operand.c b/src/cairo-gl-operand.c index 575096a84..1d480d940 100644 --- a/src/cairo-gl-operand.c +++ b/src/cairo-gl-operand.c @@ -804,11 +804,17 @@ _cairo_gl_pattern_texture_setup (cairo_gl_operand_t *operand, if (src_is_gl_surface) { status = _cairo_gl_context_acquire (dst->base.device, &ctx); if (unlikely (status)) + { + _cairo_surface_unmap_image (&surface->base, image); goto fail; + } /* one more time acquire */ status = _cairo_gl_context_acquire (dst->base.device, &ctx); if (unlikely (status)) + { + _cairo_surface_unmap_image (&surface->base, image); goto fail; + } } status = _cairo_surface_unmap_image (&surface->base, image); @@ -833,7 +839,6 @@ _cairo_gl_pattern_texture_setup (cairo_gl_operand_t *operand, fail: cairo_surface_destroy (&surface->base); - cairo_surface_destroy (image); return status; } |